Creating an inter-pod communication network for Db2 Warehouse

You can improve the throughput of fast communications manager (FCM) traffic between the Db2® partitions on each pod in a Db2 Warehouse massively parallel processing (MPP) deployment by dedicating an additional IP address on each worker node for inter-pod communication.

About this task

You update the JSON file that is used by the database service with a list of the inter-node IP addresses and it changes your deployment to use hostNetwork for inter-pod traffic.

Procedure

  1. Run the following command to find the ansible_CR with the following JSON file:
    oc get cm db2wh-json-cm -n ${PROJECT_CPD_INST_OPERANDS}
          -ojsonpath={.metadata.ownerReferences[0].kind}; echo
    The command will return one of the following options as your ansible_CR:
    • Db2whService
    • Db2oltpService
    • Db2aaserviceService
  2. Add maintenance mode to your ansible_CR by running the following command:
    oc patch ansible_CR db2wh-cr --namespace ${PROJECT_CPD_INST_OPERANDS} --type=merge --patch '{"spec": {"ignoreForMaintenance": true}}'
    Replace ansible_CR with the value returned from step 1.
  3. Open the db2wh-json-cm ConfigMap object in edit mode:
    oc edit cm db2wh-json-cm -n ${PROJECT_CPD_INST_OPERANDS}
  4. Type /fcm-ips to locate the fcm-ips section of the ConfigMap.
  5. Under the ibm-db2wh.json data option, set fcm-ips to :
    "fcm-ips": "ip_address_1,ip_address_2,ip_address_3"

    Where ip_address_1,ip_address_2,ip_address_3 is a colon-delimited list of IP addresses that are to be used for Db2 FCM traffic in the cluster.

    Note: The number of IP addresses that you provide must match the number of nodes that you plan to allocate for Db2 Warehouse MPP. For example, if you plan to use four nodes but only deploy Db2 Warehouse on three of them, you must still provide four IP addresses because the fourth node can be targeted during failover.
  6. Save the change and exit the ConfigMap.
  7. Delete the zen-database-core pod in order for the ConfigMap changes to be re-mounted to the volume.
    oc delete po $(oc get po -n ${PROJECT_CPD_INST_OPERANDS} | grep zen-database-core | awk {'print $1'}) -n ${PROJECT_CPD_INST_OPERANDS}
  8. Deploy databases while your instance is in maintenance mode. For more information, see Creating a Db2 Warehouse database deployment on the cluster.
  9. Remove maintenance mode from your instance by running the following command:
    oc patch db2whservice db2wh-cr --namespace ${PROJECT_CPD_INST_OPERANDS} --type=merge --patch '{"spec": {"ignoreForMaintenance": false}}'
    Note: If you reinstall or upgrade the Db2 Warehouse service, these steps must be completed again.