Skip to main content

Delphix on Dell PowerFlex: Accelerating DevOps Workflows

Oct 20, 2026
Delphix on Dell PowerFlex: Accelerating DevOps Workflows This white paper describes the on-premises deployment and configuration of Delphix DevOps appliance on Dell PowerFlex to achieve a secure, scalable, and self-service platform for efficient test data provisioning.

Executive summary

Executive summary

The Delphix DevOps platform helps enterprises consistently deliver production-quality data to stakeholders across all phases of application development. The platform enables ingestion of data from heterogeneous data sources, virtualizes that data, provides the capability to mask sensitive data, and then delivers it to key stakeholders as lightweight virtual data copies.

Dell PowerFlex is a software-defined infrastructure platform that is designed to reduce operational and infrastructure complexity, empowering organizations to move faster by delivering flexibility, elasticity, and simplicity with predictable performance and resiliency at scale. The PowerFlex family provides a foundation that combines compute and high-performance storage resources in a managed, unified fabric. With the capabilities available as part of the PowerFlex platform, administrators can easily implement a scalable, high performance, and flexible solution that is designed for the modern data center.

The combination of Dell PowerFlex and the Delphix DevOps platform simplifies the provisioning & automation of applications and their test data onto a single, consolidated infrastructure platform that is flexible enough to handle environments used by enterprise customers today. This paper describes the configuration of a Delphix DevOps appliance deployed within a VMware environment on Dell PowerFlex. It also describes the deployment of PostgreSQL databases, provisioning virtual databases (VDB) using the Delphix engine, and the application of Delphix’s data masking capabilities.

Introduction

Audience

This white paper is intended for sales engineers, field consultants, IT administrators, development and test engineers, data managers  and anyone else who is interested in configuring and deploying Delphix DevOps appliance with PowerFlex.

Readers are expected to have an understanding and working knowledge of VMware vSphere, Virtual Machines, NFS share protocol and Dell PowerFlex.

Terminology

The following table provides definitions for some of the terms that are used in this document.

Table 1.      Terminology

Term

Definition

ASDD

Automated Sensitive Data Discovery

CSI

Container Storage Interface

CSM

Container Storage Modules

DNS

Domain Name System

dSource

Data Source

HCI

Hyper Converged Infrastructure

ITOM

IT Operational Management

LCM

Life Cycle Management

MDM

Meta Data Manager

NFS

Network File System

OVA

Open Virtualization Appliance

SDC

Storage Data Client for PowerFlex

SDS

Storage Data Server for PowerFlex

VDB

Virtual Database

VM

Virtual Machine

Product overview

PowerFlex family

PowerFlex software-defined infrastructure enables broad consolidation across the data center, encompassing almost any type of workload and architecture. The software-defined architecture offers automation and programmability of the complete infrastructure and provides scalability, performance, and resiliency to enable effortless adherence to stringent workload SLAs.

The PowerFlex family provides a foundation that combines compute and high-performance storage resources in a managed unified fabric. PowerFlex comes in flexible deployment options (rack, appliance, or custom nodes and in the public cloud) that enable independent (two-layer), HCI (single-layer), or mixed architectures. PowerFlex is ideal for high-performance applications and databases, building an agile private/hybrid cloud, or consolidating resources in heterogeneous environments.

Figure 1.        PowerFlex Family

PowerFlex software components

Software is the key differentiation in the PowerFlex offering. PowerFlex software components not only provide software-defined storage services, but also help simplify infrastructure management and orchestration. This software enables comprehensive IT Operational Management (ITOM) and Life Cycle Management (LCM) capabilities that span compute as well as storage infrastructure, from BIOS and Firmware to nodes, software, and networking. 

PowerFlex

PowerFlex is the software foundation of PowerFlex software-defined infrastructure. It is a scale-out block storage service that is designed to deliver flexibility, elasticity, and simplicity with predictable high performance and resiliency at scale. 

PowerFlex Manager

PowerFlex Manager is the software component in the PowerFlex family that enables ITOM automation and LCM capabilities for PowerFlex systems. Starting with PowerFlex 4.0, the unified PowerFlex Manager brings together three separate components used in previous releases – PowerFlex Manager, the core PowerFlex UI, and the PowerFlex gateway. The new PowerFlex UI runs in Kubernetes and embraces a modern development framework.  

PowerFlex with NVMe over TCP (NVMe/TCP)

NVMe is a family of open specifications that defines an industry standard for both a logical interface and a communication protocol for accessing block storage across an internal PCIe fabric or through external fabrics such as TCP/IP and FC. NVMe is designed to take advantage of the internal parallelism and low latency inherent in flash-based media SSDs. 

NVMe/TCP is an extension of the NVMe base specification that defines the binding of the NVMe protocol to message-based fabrics using TCP. By binding the NVMe protocol to TCP, NVMe/TCP enables the efficient end-to-end transfer of commands and data between NVMe hosts and NVMe controller devices by any standard Ethernet-based TCP/IP networks. 

From PowerFlex release 4.x onwards, support for NVMe/TCP has been added for on-premises deployment with the introduction of a new Storage Data Target (SDT) component installed in the storage layer. The NVMe initiator in the operating system or hypervisor communicates with the SDT, which then communicates with the Storage Data Server (SDS). The NVMe initiator is part of the kernel of the application host operating system or hypervisor.

Figure 2.   PowerFlex with NVMe/TCP 

For more information, see PowerFlex with NVMe over TCP. 

PowerFlex deployment architectures

PowerFlex software-defined storage offers flexibility of deployment architecture to help best meet the specific deployment and architectural requirements. PowerFlex can be deployed in a two-layer (Independent), single-layer (Hyperconverged/HCI), or a mixture of the two architectures (Mixed). OpenShift environments on PowerFlex use a two-layer (independent) architecture.

A screenshot of a computer programDescription automatically generated

Figure 3.        PowerFlex deployment architectures 

Independent architecture

In an independent architecture, or two-layer architecture, some nodes provide storage capacity and host datasets while other, separate, and independent nodes, host applications and workloads. Compute and storage resources can be scaled independently by adding nodes to the cluster. This separation of compute and storage resources can also help minimize software licensing costs in certain situations. And this architecture can be ideal for hosting high-performance high-value databases and application workloads.

Hyperconverged architecture

In an HCI architecture, each node in the cluster contributes storage resources and hosts applications and workloads. This architecture allows you to scale your infrastructure uniformly and with a predefined building block that adds both storage and compute resources. This architecture is appropriate for data center and workload consolidation. 

Mixed architecture 

A mixed architecture is a combination of both the HCI and Independent architectures. As shown in Figure 3 there are some storages only nodes, compute only nodes, and HCI nodes as a part of the same PowerFlex cluster. This is a desirable architecture when working with an existing compute infrastructure and adding high-performance software-defined infrastructure. This can also be a starting point for a two-layer deployment design as external workloads are migrated to PowerFlex. 

PowerFlex consumption options

PowerFlex rack 

PowerFlex rack is a software-defined storage platform that delivers flexibility, elasticity, and simplicity with predictable performance and resiliency at scale by combining compute as well as high-performance storage resources in a managed unified network. This rack-scale engineered system, with integrated networking, enables customers to achieve the scalability and management requirements of a modern data center. 

PowerFlex appliance

PowerFlex appliance is a PowerEdge server which has been configured to be a node in a software-defined storage deployment. This offering allows customers the flexibility and savings to bring their own compatible networking. 

PowerFlex custom nodes

PowerFlex Custom Nodes are validated server building-blocks configured for use with PowerFlex. They are available with thousands of configuration options and are available for customers who prefer to build their own environments. 

Dell APEX Block Storage for Public Cloud 

PowerFlex software is also available in the public cloud as Dell APEX Block Storage for Public Cloud. It offers the same on-premises benefits of high-performance, linear scalability, and high resilience as in cloud. It also adds cloud-specific benefits, such as large volume sizes, extreme performance based on NVMe drives, and predictable scalability. The Dell APEX Block Storage self-healing architecture simplifies and increases the availability of infrastructure. It is designed to remain running even when it encounters failures. With fast rebuilds, Dell APEX Block Storage recovers rapidly from failures and keeps operating, without degrading performance or compromising availability. You can also extend this availability and configure it to protect your application availability across multiple availability zones.

PowerFlex CSI/CSM 

An important component outside of PowerFlex that enables a flexible consumption model for Kubernetes is the PowerFlex CSI driver, developed as a part of the Dell Kubernetes strategy. After loading the CSI driver for PowerFlex into Kubernetes, it can be used to provision persistent volumes from the underlying PowerFlex storage resource. If the Kubernetes deployment is running low on PowerFlex storage resources, you can add PowerFlex storage nodes to increase the system capacity and performance. 

The CSI driver connects the PowerFlex system and Kubernetes deployments. It is a storage broker which dynamically provisions volumes from PowerFlex through the PowerFlex API gateway to the Kubernetes cluster. Once the volume is available on PowerFlex, it is immediately mapped to the requesting pod. If a pod is destroyed or rescheduled, the CSI plug-in ensures that the volumes are remapped upon rescheduling of that pod.

  • Customers running Kubernetes clusters on PowerFlex use the Dell Container Storage Modules (CSM), which extend the CSI driver capabilities. These modules: 
  • Provide enterprise storage capabilities to Kubernetes for cloud-native stateful applications.   
  • Reduce management complexity, so that developers can independently use enterprise storage with ease and automate daily operations.   
  • Extends storage functionality and capabilities beyond using the CSI driver alone.

These modules include snapshot, observability, authorization, application mobility, and resiliency.

This image shows different Kubernetes distributions for PowerFlex.PowerFlex supports multiple operating systems, different deployment options on-premises and public cloud deployment models (available in AWS and Azure). PowerFlex is validated with leading Kubernetes distributions as shown in Figure 4.

Figure 4.        PowerFlex for different Kubernetes distributions

Delphix DevOps appliance

Delphix DevOps appliance

The Delphix DevOps Appliance integrates Delphix Continuous Data and Continuous Compliance capabilities into a unified solution. This appliance streamlines and accelerates DevOps workflows by enabling efficient test data management. The Delphix appliance supports a wide range of databases and unstructured files. It integrates seamlessly with existing DevOps tools and workflows to deliver several key benefits:

  • Rapid Data Provisioning: Creates application-consistent copies of production databases in minutes, providing developers with readily available test data.
  • Space-Efficient Virtual Data Sets: Reduces storage footprint by creating lightweight, virtual copies of production data for testing purposes.
  • Data Masking and Security: Discovers and masks sensitive data automatically, ensuring compliance and data privacy during testing.
  • Automated Data Delivery: Integrates with DevOps tools to automate data provisioning, refresh, rewind, and other tasks within CI/CD pipelines.
  • Self-Service Access: Provides developers with a user-friendly interface (UI), command-line interface (CLI), and APIs for managing test data on demand.

Solution architecture

Solution architecture

This section details the deployment of the Delphix DevOps appliance using PowerFlex storage and provisioning virtual databases (VDBs) in the Delphix environment from a PostgreSQL database.

Logical architecture

The following diagram shows the logical architecture of this solution:

Figure 5.        Logical design of Delphix DevOps appliance with Dell PowerFlex

The PowerFlex cluster is deployed on four PowerFlex storage-only nodes and three compute-only nodes using PowerFlex Manager. The four storage-only nodes are installed with the PowerFlex embedded operating system, and the compute-only nodes are installed with VMware ESXi hypervisor.

For more information about the test setup used in this paper, please see the Test configuration.

The Delphix DevOps Appliance is deployed on Dell PowerFlex. The Delphix DevOps Appliance consists of a set of components that work together to manage and provision virtual databases. These components are deployed as virtual machines on the Dell PowerFlex compute-only cluster nodes.

  • Source Environment: This refers to the environment where the original PostgreSQL database resides. It includes the server hardware, operating system, and the running PostgreSQL instance.
  • Delphix Engine: This is the software platform that manages and virtualizes the databases. It interacts with the source environment to capture and maintain a representation of the source database.
  • Target environment: This refers to the environment where the data copies will be provisioned.
  • Staging environment:  This refers to the environment where the sourced data can be pre-processed to minimize any performance concerns.

For more information about the Delphix appliance configuration used in this solution, see the next section.

Note: In this test setup, a single system is used for both the Target environment and the Staging environment.

Network architecture

The following diagram shows the network architecture of this solution.

Figure 6.        Network design of Delphix DevOps appliance with Dell PowerFlex

At the physical layer, two Top of Rack (TOR) switches are used for redundancy and load-balancing purposes at each site. A peer link is configured on both the TOR switches.

The network ports of different network interfaces on each PowerFlex nodes are configured to carry PowerFlex management, PowerFlex data1, and PowerFlex data2. An LACP bond is configured at the host level with two network interfaces to form a single-bonded (logical) interface for increased bandwidth and redundancy.

The bond0 and bond1 are the LACP bonded interfaces and are configured with multiple VLAN tagged interfaces for all the PowerFlex networks. The traffic is logically separated by creating VLANs which separate different traffic on the bond interfaces as shown in the preceding figure. PowerFlex data1 and data2 are used for data traffic.

The Delphix DevOps appliance uses the operating system management network to communicate between the Delphix engine, source, staging, and target environments.

The following table shows the different networks that are configured for this solution. For more information, see the Dell PowerFlex Appliance with PowerFlex 4.x Network Planning Guide | Dell US.

Table 1.      Network details

Network type

VLAN ID

OS management

105

PowerFlex management

150

PowerFlex Data 1

151

PowerFlex Data 2

152

vMotion

106

Deploying the Delphix engine on VMware

Prerequisites

The following requirements must be met before installing the Delphix engine on VMware.

  • Ensure that the PowerFlex cluster is installed and configured.
  • Create a PowerFlex storage volume for data provisioning (using Delphix engine Continuous Data) and map it to the compute node where the Delphix engine is going to be installed.
  • Create a PowerFlex storage volume for data masking (using Delphix engine Continuous Compliance) and map it to the compute node where the Delphix engine is going to be installed.
  • Contact Delphix support to obtain the Delphix virtual appliance file (OVA) for installation in a VMware ESXi environment.
  • For the full list of requirements and best practice recommendations for installing the Delphix engine on VMware, see Virtual Machine Requirements for the VMware Platform.
  • The Delphix engine requires a single virtual network to be configured, see Optimal Network Architecture for the Delphix engine for more details.
  • Obtain the DNS, NTP, default gateway, FQDN, and IP address of the Delphix engine.

Installation steps

This section details the steps for installing the Delphix engine using the Delphix supplied OVA file and using Dell PowerFlex storage for the underlying storage needs.

  1. Log in using the vSphere client to the vSphere server (or vCenter Server) where the Delphix engine needs to be installed.
  2. In the vSphere Client, click File.
  3. Select Deploy OVA Template.
  4. Navigate to the OVA file.
  5. Click Next.
  6. Select a hostname for the Delphix engine. This hostname will also be used in configuring the Delphix engine network.
  7. Select the data center where the Delphix engine will be located.
  8. Select the PowerFlex compute-only cluster and select the compute node running the ESXi hypervisor.
  9. Select a local datastore/volume to store data related to the Delphix operating system and Delphix virtual machine configuration. It should be thin-provisioned, with a minimum free space of 127 GB to store the data.
  10. Select the single virtual network that the Delphix engine uses.
  11. Click Finish. The installation begins, and the Delphix engine is created in the specified location.
  12. Once the installation has been completed, select the storage requirements as per the engine type requirements.
    1. For Continuous Data, edit the Delphix engine VM settings.

Create and add a minimum of four virtual disks that are provisioned from the PowerFlex storage volume created for data provisioning to store databases in the Delphix engine Continuous Data. The Delphix engine will stripe the database across these virtual disks, so for optimal I/O performance, each virtual disk should be equal in size and be configured as thick provisioned—Eager Zeroed. Additionally, these virtual disks should be distributed as evenly as possible across all SCSI I/O controllers, as shown in the following figure:

This screenshot shows the Delphix data resource settings.

Figure 7.        Delphix engine Continuous Data resource settings

  1. For Continuous Compliance, edit the Delphix engine VM settings.

Create and add a virtual disk that is provisioned from PowerFlex storage created for data masking to store data for Delphix engine Continuous Compliance operations.

Figure 8.        Delphix engine Continuous Compliance resource settings

  1. Power on the Delphix engine VM and proceed with the initial system configuration as described in Set up network access to the Delphix engine.
  2. For more information about the Delphix deployment on VMware, see Delphix deployment on VMware.

Set up network access to the Delphix engine

This section describes the steps for configuring the network access to the Delphix engine.

  1. Power on the Delphix engine VM and open the console.
  1. Wait for the Delphix management service and Delphix boot service to come online. This might take up to 10 minutes during the first boot.
  2. Press any key to access the sysadmin console.
  3. Enter sysadmin@SYSTEM for the username and sysadmin for the password.

The available network settings are shown along with the instructions for editing.

  1. Configure the hostname, DNS, static address, and default gateway.
  2. Commit the changes.

This is a screenshot of network configuration.

Figure 9.        Network configuration

  1. Verify the Delphix engine access through a web browser by navigating to the displayed IP address.
  2. For more information about configuring the network access to the Delphix engine, see Network Access to the Delphix engine.

Initial setup of Delphix engine for Continuous Data

This section describes the steps for configuring the initial setup of the Delphix engine for Continuous Data through web interface.

  1. Connect to the Delphix engine Continuous Data at https://login/index.html#serverSetup.
  2. The Delphix setup application launches when it connects to the server.
    Enter sysadmin login credentials, which initially default to the username sysadmin, with the initial default password of sysadmin. On the first login, which prompted it to change the initial default password.
  3. The screen to configure the Delphix engine is shown as in the following figure:

This is a screenshot of Delphix continious data.

Figure 10.    Delphix Continuous Data

  1. Select the engine type (Continuous Data or Continuous Compliance)
    1. Choose the engine type as Continuous Data for data virtualization.

Note: The setup for validation used two separate Delphix engines: one for Continuous Data and another for Continuous Compliance.

  1. Click Next.
  1. Configure user credentials for the following roles: System Administrator, Engine Administrator
  2. Select the storage configuration that is defined for the Delphix engine Continuous Data for data and logs.
  3. Select Network for access to the Delphix engine.
  4. Select System Time to synchronize the time between Virtual databases.
  5. Select Authentication as the default for enabling authentication services using user credentials defined for roles (System Administrator, Engine Administrator).
  6. Configure registration to allow Delphix support to access the Delphix engine. Note: the Delphix engine will work without it being registered.

This is a screenshot of Delphix engine setup summary.

Figure 11.    Delphix engine initial setup Summary

For more information about configuring the Delphix engine for Continuous Data, see Delphix engine initial setup.

Delphix PostgreSQL database configuration

Delphix PostgreSQL database configuration

This section describes the configuration of a PostgreSQL database with Delphix. This includes Delphix engine, source host (Linux), staging/target host (Linux) configurations.

Delphix uses NFS (Network File System) to expose its datasets to target Linux hosts. This allows applications running on those hosts to access and manipulate the data stored within Delphix Virtual Databases (VDBs).

For more details, see Delphix Continuous Data with PostgreSQL.

Delphix engine configuration

The Delphix engine requires a dedicated plug-in as part of integration with the PostgreSQL database. This plug-in is used to discover existing PostgreSQL instances and enables the creation of virtual databases (VDBs) within the Delphix environment.

Follow the below instructions to install the PostgreSQL plug-in for Delphix engine (Continuous Data).

  1. From Delphix download, go to the latest engine download folder.
  2. Find the PostgreSQL plug-in: /Plugins/PostgreSQL and download it.
  3. Extract the downloaded file to get a JSON file.
  4. Log in to the Delphix engine (Continuous Data) and go to Manage > Plugins and click the ‘+’ icon.
  5. Drag (or upload) the downloaded JSON file.

Source host configuration

This section describes the details of the source host and the PostgreSQL database configuration and adding the source environment to Delphix.

Run the PostgreSQL

This section details the process of installing and running the PostgreSQL service in the source environment.

  1. Ensure that the source environment is configured with the supported operating system.

For supported versions on the operating system and PostgreSQL database, see  Postgres Support Matrix .

Note: This solution is validated on RHEL 8.7 and database version 15.6. For more information about the test configuration, see Test configuration.

  1. Download and install the PostgreSQL software on the source environment:

sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

sudo dnf -qy module disable postgresql


sudo dnf install -y postgresql15-server

  1. Set up directories and ownership prior to initializing the PostgreSQL database.

mkdir /usr/local/pgsql/data -p

chown postgres /usr/local/pgsql/data

su - postgres

  1. Initialize Postgres.

pg_ctl init -D /usr/local/pgsql/data

  1. Start Postgres.

  pg_ctl start -D /usr/local/pgsql/data

Create a toolkit directory

  1. Create the directory for the Delphix toolkit to store the files required for communication between Delphix and the source environment.

sudo mkdir /opt/delphix

  1. Assign the "postgres" user ownership and permissions to the directory.

sudo chown postgres /opt/delphix/

sudo chmod 770 /opt/delphix/

Postgres configuration

Edit the Postgres Configuration File

  1. Edit the postgres.conf file as the root user.

   vi /usr/local/pgsql/data/postgresql.conf

  1. Enable remote connections.

   listen_addresses='*';

  1. Save the file.

For additional configurations in the postgres.conf file, see the Source database requirements.

Edit the pg_hba.conf file

  1. Edit the pg_hba.conf file to allow client connections from the Delphix engine.

    vi /usr/local/pgsql/data/pg_hba.conf

  1. Add the below lines to the bottom of the file. This allows connectivity from the Delphix engine and the staging environment to the source environment.

host all all <ip-address_of_Delphix_engine>/32 trust

host all all <ip-address_of_staging_target>/32 trust

host replication all <ip-address_staging_target>/32 trust

Restart Postgres

  1. Restart the postgres service to activate the updated configurations.

su - postgres

pg_ctl restart -D /usr/local/pgsql/data

Adding the source environment to the Delphix engine (Continuous Data)

This section describes the details of adding a source environment for the PostgreSQL database to the Delphix engine.

  1. On the Delphix engine as an administrator, go to Manage->Environments.
  2. Click Add Environment, select UNIX/Linux as the platform and Standalone Host as the configuration type.
  3. Add an environment named Postgres Source Host.
  4. Add the host address of the source PostgreSQL host.
  5. Specify the SSH port (the default is 22) used for communication.
  6. Enter the username and password for a user with access to the Source PostgreSQL host.
  7. Enter the toolkit path - /opt/delphix/.
  8. Click Next.
  9. Configure the Login Type as Username and Password.
  10. Wait for the process to complete.

Staging host configuration

This section describes the details of configuring the staging host and PostgreSQL database and adding the staging environment to Delphix.

  1. Install and run the PostgreSQL service with the same version as the source host.
  2. Create Toolkit Directory for the staging host is the same as the source host.
  3. Ensure the directory /mnt exists and has read/write/run access for others.
    • sudo chmod o+w /mnt
  4. Ensure the "postgres" user has access to the toolkit directory.
    • sudo chmod o+rwx /opt/delphix/
  5. Adding the staging environment to the Delphix engine is the same as the source host.

Target host configuration

Follow the same steps as listed above for the staging host for the target host configuration. For this paper, a single setup was used for both the staging and target environments.

Delphix PostgreSQL data provisioning

Delphix PostgreSQL data provisioning

This section details the process of creating a data source (dSource) and provisioning a virtual database (VDB) for a PostgreSQL database using Delphix.

Create the dSource

This section details the process of linking PostgreSQL data sources in Delphix, which includes creating a dSource (data source) object within the Delphix Engine.

This dSource points to the source PostgreSQL database and allows Delphix to capture and manage copies of that data.

  1. Log in to the Delphix engine (Continuous Data) and navigate to Manage > Environments.
  2. Select the environment containing the source PostgreSQL instance.
  3. Click the Databases tab and locate the PostgreSQL installation within the source environment.
  4. Click the + icon to add a database with a name.
  5. Navigate to Manage > Datasets, click +, and add dSource.
  6. On the Source window, select the database name created earlier.
  7. Under Delphix Initiated Backup – Single Database ingestion, click Add.
  8. Set the PostgresDB Replication User and password to be delphix.
  9. Set the source host address and leave the source port as 5432.
  10. Leave the staging port as 5433 and click Next.
  11. On the dSource Configuration page, name the dSource.Create a group Postgres and click Next.
  12. Choose the staging environment and user as postgres.
  13. Set the Mount Base to /mnt.
  14. No changes to policies, and no hooks.
  15. Review the summary and click Submit.
  16. Check that the dSource creation has been successfully completed in the Actions tab list.
  17. Check dSource created with the snapshot under the group created.

This is a screenshot of the dSource summary.

Figure 12.    dSource summary

For more information about creating dSource, see Linking PostgreSQL data source.

Provision a VDB

This section details the process of to creating a VDB (virtual database) on PostgreSQL within Delphix. Delphix manages VDB creation through its own dSource (data source) and provisioning processes.

  1. Go to Manage > Datasets, select the snapshot, and click the leftmost icon to provision a database.
  2. In the Wizard, select Target Host as the environment and PostgreSQL instance as installation with the user as postgres.
  3. Select Add Dataset Group and name the target group and set the VDB name to devdb.
  4. Accept all other defaults and click through the Wizard.
  5. Review the summary page and click Submit.
  6. Check that the VDB provision has been successfully completed in the Actions tab list.
  7. Check the VDB provisioned under the created target group.

A screenshot of a computerDescription automatically generated

Figure 13.    VDB Summary

For more information about provisioning a virtual database (VDB), see Provisioning PostgreSQL virtual database.

Delphix PostgreSQL data masking

Delphix PostgreSQL data masking

VDB (Virtual Database) masking is a feature specific to the Delphix data virtualization platform. This feature allows organizations to protect sensitive data by masking them in non-production environments. For more details, see Delphix Continuous Compliance.

Prerequisites

The following requirements must be met before masking using the Delphix engine on VMware.

Delphix engine (data masking) Initial setup

This section describes the steps for configuring the initial setup of Delphix engine for Continuous Compliance (data masking).

  1. Connect to the Delphix engine (data masking) at https://login/index.html#serverSetup. The Delphix setup application is launched.
  2. Enter sysadmin login credentials, which initially default to the username Admin, with the initial default password of Admin-12. On the first login, which prompted it to change the initial default password.
  1. The screen to configure the Delphix engine is shown in the following figure:

This is a screenshot of the delphix engine dashboard.

Figure 14.    Delphix engine (data masking) dashboard

  1. Select the engine type (Continuous Data or Continuous Compliance)
    1. Choose the engine type as Continuous Compliance for data masking.
    2. Click Next.
    3. Enter the Continuous Compliance password (the default is Admin-12).
    4. Click Validate to validate the entered password with a masking service.
    5. In the Administrator tab, enter user credentials for various roles (System Administrator, Masking Administrator).
    6. Select the storage configuration defined for the Delphix engine Continuous Compliance for data masking.
    7. Select Network for access to the Delphix engine.
    8. Select System Time to synchronize the time between Virtual databases.
    9. Select Authentication as the default for enabling authentication services using user credentials defined for roles (System Administrator, Masking Administrator).
    10. Configure registration to allow Delphix support to access the Delphix engine, but the Delphix engine can also work without being registered. The following figure shows the Delphix engine initial setup summary:

This is a summary screenshot of the delphix engine initial setup.

Figure 15.    Delphix engine (data Masking) initial setup summary

For more information about configuring the initial setup of the Delphix engine for Continuous Compliance through web interface, see Delphix engine (data masking) Initial setup.

Add an application

This section details the process for creating an application that is required to be assigned as a tag to the Delphix engine environment.

  1. Log in to the Delphix engine and enter the Username and Password.
    • The default username is Admin.
    • The default password is Admin-12.
  2. On the Environments List/Summary screen, click the + Application button.
  3. Enter a name for the Application name.
  4. Click Save.

For more information about adding an application to the Delphix engine, see Adding an application in managing environments. 

Create an environment

This section details the process for creating an environment in the Delphix engine. An environment is used to describe a collection of masking jobs associated with databases.

  1. On the Environments List/Summary screen, click the Add Environment button.
  2. Select the Application Name from the drop-down list created in the previously.
  3. Enter a name for the Environment.
  4. Select Mask from the Purpose drop-drown list.
  5. Click Save.
  6. Check that the environment has been successfully created.

For more information about creating an environment to the Delphix engine, see Creating an environment. 

Create a basic connector

This section details the process for creating a connector for the PostgreSQL database to connect to the Delphix engine.

  1. Log in to the Delphix engine and click on the environment.
  2. Click the Connectors tab and click on the Connection button.
  3. Enter the following connection Details:
    1. Choose Database - PostgreSQL from the Type drop-down list.
    2. Enter a name for the connector.
    3. Type public (in lowercase) in the Schema Name box.
    4. Enter the IP address of the Target host IP field.
    5. Enter 5434 as the port number for the listener on the Linux Target.
    6. Select Authentication Type as Username/Password.
    7. Choose Username as postgres.
    8. Use the Test Connection button to verify the connection.
  4. Save the connection.
  5. Check that the connector has been successfully created in the Environment name.

Create a rule set

This section details the process for creating a rule set for Postgres in the Delphix engine. The rule set is a collection of Postgres tables that the Delphix engine uses for profiling and masking.

  1. On the Environment List/Summary screen, click the Environment Name.
  2. Click the Rule Sets tab and click the Rule Set button.
  3. Provide the details for the rule set as follows:
    1. Select the Database for the source data.
    2. Enter name in the name field for the Rule Set.
    3. Select the connector name from the Connector drop-down list.
    4. Click Next.
    5. Click Add Tables.
    6. Check one or more PostgreSQL database table names to select in the rule set.
  4. Click Save.
  5. Check that the Rule Set has been successfully created in the Environment name.

For more information about creating a new rule set in the Delphix engine, see Creating a new rule set. 

Create a profiling job

This section details the process of creating a profile job to discover sensitive data for a PostgreSQL database in the Delphix engine.

  1. On the Environment List/Summary screen, click on the Environment Name.
  2. Click the + Profiling Job button.
  3. On the Create Profile Job screen, enter the details as follows:
    1. Select Rule Set from the Rule Set drop-down list.
    2. Enter the profile job name.
    3. Choose ASDD Standard from the Profile Sets drop-down list.
    4. Set No. of Streams to 1.
    5. Leave other fields at their default values.
  4. Click Save.
  5. Check that the profile job has been successfully created in the jobs list for the environment.

Run profile job

This section details the process of running a profile job to discover sensitive data for a PostgreSQL database in the Delphix engine.

  1. Click the Run button on the profile job created in the Jobs list for the environment.
  2. Check that the profile job status has moved to running.
  3. Click the Monitor tab > Job Executions to see the list of jobs and their progress.
  4. Click the profile job name to view the job details for completion.

For more information about creating a profile job in the Delphix engine, see Create Profile Job.

Create and run a mask job

This section details the process to create and run a masking job to mask sensitive data for a PostgreSQL database in the Delphix engine.

  1. On the Environment List/Summary screen, click the Environment Name.
  2. Click the + Masking Job button.
  3. Enter the required details in the Create Masking Job dialog:
    1. Enter the job name for masking.
    2. Choose In-Place from the Masking Method.
    3. Select Rule Set from the Rule Set drop-down list.
      • No. of Streams: 1
      • Update Threads 1
    4. Leave other fields at the default values.
  4. Click Save.
  5. Check that the masking job has been successfully created in the jobs list for the environment.

For more information about creating a masking job in the Delphix engine, see Create Masking Job.

Run masking job

This section details the process of running a masking job to mask sensitive data for a PostgreSQL database in the Delphix engine.

Before running the masking job, check the values of the PostgreSQL database table (an example is shown as follows):

Screenshot before executing masking job.

Figure 16.    Before running a masking job

To run the masking job:

  1. Click the Run button on the masking job created in the Jobs list for the environment.
  2. Check that the masking job status has moved to running.
  3. Click the Monitor tab > Job Executions to see the list of jobs and their progress.
  4. Click the masking job name to view the job details for completion.
  5. Check PostgreSQL table values after the masking job is completed.
  6. Verify that the values have been masked (an example is shown as follows):

screenshot showing the results After Mask job.

Figure 17.    After running a masking Job

Validation results

Validation results

This section details the various results obtained from the Delphix engine using a sample PostgreSQL database.

The following table summarizes the results achieved on a PostgreSQL database with a 2TB workload. The operations include creation, refresh, rewind, and concurrent creation and refresh of multiple virtual databases (VDBs).

Table 2.      Delphix: Create, refresh, rewind, and multiple VDB creation/refresh simultaneously

Test (PostgreSQL with 2 TB database size)

Delphix Execution Time

Create 1 VDB

6 sec

Refresh 1 VDB

9 sec

Rewind 1 VDB

9 sec

Create 10 VDB simultaneous

2 min

Refresh 10 VDB simultaneous

2 min

The following table summarizes the performance results achieved on scaling PostgreSQL virtual databases with a 2TB workload each, measured using the pgbench tool.

Table 3.      Delphix engine performance results while scaling VDBs

pgbench configuration (TPCB-like workload)

Delphix

PowerFlex

No. of VDBs/host

No. of concurrent database sessions

Jobs

TPS

Avg latency

NFS Read IOPS

NFS Write IOPS

Read IOPS

Write IOPS

Read latency

Write latency

1 VDB x

1 Target

80

20

5186

15 ms

10 k

10 k

9 k

9 k

0.45 ms

0.85 ms

4 VDB x

4 Target

4x80

4x20

10471

30 ms

18 k

13 k

21 k

13 k

0.52 ms

1.01 ms

8 VDB x

8 Target

8x80

8x20

11416

50 ms

21 k

13 k

25 k

13 k

0.52 ms

1.01 ms

The following table summarizes the results obtained when performing masking operations on entries within a scaling PostgreSQL database table using the Delphix Appliance.

Table 4.      Delphix Masking results

PostgreSQL

Delphix Execution Time

Workload (Target VDB)

PROFILE

MASK

5 million Rows (1x table)

2 sec

2 min 5 sec

10 million Rows (1x table)

2 sec

4 min 4 sec

20 million Rows (1x table)

2 sec

8 min 10 sec

100 million Rows (1x table)

2 sec

42 min 13 sec

Conclusion

Conclusion

The test results demonstrate quick data provisioning capabilities using the Delphix DevOps appliance on Dell PowerFlex for typical operations and database workloads. We are also able to demonstrate that the Delphix DevOps Appliance on Dell PowerFlex helps to deliver superior performance with low latencies while scaling the number of PostgreSQL virtual databases (VDBs). We are also able to efficiently support data masking operations on large volumes of data within a PostgreSQL database.

The combination of Dell PowerFlex and the Delphix DevOps platform simplifies the provisioning & automation of applications and their test data onto a single, consolidated infrastructure platform that is flexible enough to handle environments used by enterprise customers today.

References

Appendix A

Test configuration

The following tables show the hardware and software configuration of the storage and client nodes used for deployment:

Table 5.      Storage node configuration details

Hardware

Configuration

Server model

PowerFlex R640

CPU

CPU – 2 x Intel(R) Xeon(R) Gold 6132 CPU @ 2.60 GHz (14 core)

Memory (GiB)

12 x 32 GB

NIC

2 x Mellanox ConnectX-4 LX 25 GbE SFP Adapter

Storage

10 x 1.7 TB SAS SSD

Software

Configuration

Operating system

Embedded OS

Dell PowerFlex software

4.5.1

Table 6.      Compute node configuration details

Hardware

Configuration

Server model

PowerFlex R640

CPU

2 x Intel(R) Xeon(R) Gold 6248 CPU @ 2.50 GHz (20 cores)

Memory (GiB)

12 x 16 GB

NIC

2 x Mellanox ConnectX-4 LX 25 GbE SFP Adapter

Storage

8 x 894 GB SAS SSD

Software

Configuration

Operating system

VMware ESXi-7.0U3n

Table 7.      Delphix engine Continuous Data resource details

Hardware

Configuration

CPU

32 CPU cores

Memory (GiB)

128 GB RAM

NIC

10 GigE connection

Storage

4 x 3 TB

Software

Configuration

Delphix

Version 18.0.0.1

Table 8.      Delphix engine Continuous Compliance resource details

Hardware

Configuration

CPU

16 CPU cores

Memory (GiB)

64 GB RAM

NIC

10 GigE connection

Storage

1x 3 TB

Software

Configuration

Delphix

Version 22.0.0.0

Table 9.      Source/Staging/Target host resource details

Hardware

Configuration

CPU

16 CPU cores

Memory (GiB)

32 GB RAM

NIC

10 GigE connection

Software

Configuration

Operating System

RHEL 8.7

Database version

PostgreSQL 15.6