Provisioning MongoDB virtual databases (VDBs)

To provision a virtual database (VDB), you can either use an existing dSource snapshot or use another VDB snapshot for VDB to VDB provisioning. A snapshot is a timeflow created in a dSource or VDB.

Prerequisites

  • You should either have linked a dSource from a staging instance with instructions from Linking MongoDB data sources or have already created a VDB from which you intend to provision another VDB.

  • A MongoDB target environment must be setup with the necessary requirements as described in MongoDB requirements and prerequisites

  • A MongoDB binary with the same version as the source database must be installed on the target environment.

Procedure

  1. Login to Delphix Management application.

  2. Click Manage -> Datasets.

  3. Select the dataset and the snapshot that you want provision from. Click the provision VDB icon to open the provision VDB wizard.

  4. Select a target environment from the left pane, and an Installation to use from the dropdown list of available MongoDB instances on that environment.

  5. Set the Environment User to be the Instance Owner.

    1. The picking of instance owners is only possible if you have multiple environment users set on that host.

  6. Go to the Target Configuration section where you need to enter VDB specific parameters.

    1. VDB details:

      1. Mount Path: This is the mount path for VDB MongoDB instance data files.

      2. bindIP String: The default value is 0.0.0.0.

      3. Target Port/Target Port Pool for Mongo Instance(s). Specify only the first port for sharded mongo:

        1. For nonsharded VDB’s, this is the port that will be used for MongoDB instances.

        2. For sharded VDB’s, this is the starting port.

      4. Delphix Continuous Data Engine will keep incrementing port by one and use as many as needed based on the configuration selected.

  7. Expand to three member replicaset: Select this option to expand VDB as a 3-member replicaset. This is supported only for dSource types nonshardedsource and shardedsource.

    1. Sharded VDB details:

      1. Mongos Port: This is the port to be used for MongoDB’s router instance (This is applicable only for shardedsource dSource type).

    2. VDB tuning details:

      1. Oplog Size: This is the size of oplogs.

      2. Journal commit Interval: This is the journal commit Interval in ms.

      3. Enable Auditlog: Enable auditlog parameters.

      4. Auditlog Parameters: Auditlog parameter details (i.e. auditDestination, auditFilter)

      5. Enable SetParams: Enable SetParams.

      6. SetParams Parameters:SetParams parameter details (i.e. authenticationMechanisms, opensslCipherConfig)

    3. Enable Authentication: Enable authentication on VDB.

    4. VDB authentication details:

      1. MongoDB Admin/Cluster admin User Password: Update password of Delphix Continuous Data Engine user created during dSource creation. The default value is delphix.

      2. Cluster Auth Mode: The accepted value is None, keyfile, x509, sendKeyFile, sendX509.

      3. keyfile_path: This is the KeyAuth keyfile name (full path).

    5. Additional Nodes: Click on the Add button to select additional nodes for creating replica set VDB or distributing Shards on different hosts.

    6. Enable SSL/TLS: Enable SSL/TLS member authentication.

    7. SSL/TLS Parameters: Specify at least the following parameters; tlsMode, tlsCAFile, tlsCertificateKeyFile.

    8. Client Certificate for Mongos/Mongo Session on Primary Node: Client SSL/TLS certificate.

    9. Client CA Certificate for Mongos/Mongo Session on Primary Node: Client CA SSL/TLS certificate.

    10. Data Encryption details (KMIP/keyfile):

      1. Local Encryption Keyfile: Full path of keyfile if used for encryption.

      2. KMIP Parameters: KMIP parameter details (i.e. kmipClientCertificateFile, kmipPort, kmipServerCAFile, kmipServerName)

  8. Select a Target Group for the VDB.

  9. Add a new group, if required.

  10. Select a Snapshot Policy for the VDB.

  11. Click Next.

  12. Specify any desired hook operations.

  13. Click Next.

  14. Review the Provisioning Configuration and Data Management information.

  15. Click Submit.

When provisioning starts, the progress of the job can be reviewed in the Datasets panel, or in the Job History panel of the Dashboard.

When provisioning completes, a new VDB timeflow will be created. Once the VDB is created successfully, you can review the datasets on the Manage -> Datasets screen in the left panel.

A MongoDB VDB has now been provisioned and moreover, the VDB will be included in the group you designated and listed in the Databases panel. If you select the VDB in the Databases panel and click the Open icon, you can view its card, which contains information about the database and its Data Management settings.

Additional notes

  1. The following sections are in the form of parameter name and value format. Add as many parameters needed by clicking on +Add button.

    • SSL/TLS parameters 

    • KMIP parameters

    • Auditlog parameters

    • SetParams parameters

Any parameters specified for the above section need to be compatible with mongod/mongos command line parameters.

  1. Refer to official MongoDB documentation for appropriate names of parameters.

  2. If Expand to three member replica set parameter is selected, then:

    • Delphix Continuous Data Engine will convert a nonsharded VDB to a three-node replica set. Each additional instance (two instances) will incur storage as the size of the first instance. MongoDB will initiate a complete sync from existing members. This will impact storage, as each new member will receive a full copy of data from the existing host. Two members will use twice the amount of storage.

      • It is recommended to use a single node replica set (if possible) to save storage.

    • Delphix Continuous Data Engine will convert a sharded VDB to a three-node replica set for config server, as well as each shard. Each additional instance will incur storage as the size of the first instance. MongoDB will initiate a complete sync from existing members. This will impact storage as each new member will receive a full copy of data from the existing host. Storage usage will multiply based on the number of shards.

      • It is recommended to use a single node replica set (if possible) to save storage.