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
- Run the following command to find the ansible service custom resources
(CRs) as the owner of the configmap:
oc get cm db2wh-json-cm -n ${PROJECT_CPD_INST_OPERANDS} \
-ojsonpath={.metadata.ownerReferences[0].kind}; echo
The command returns one of the following options as your
ansible_service_cr:
Db2whService
Db2oltpService
Db2aaserviceService
- Add maintenance mode to your ansible_service_cr by running the
following command:
oc patch ansible_service_cr ansible_service_name --namespace ${PROJECT_CPD_INST_OPERANDS} --type=merge --patch '{"spec": {"ignoreForMaintenance": true}}'
Replace ansible_service_cr with the value returned from step 1 and ansible_service_name with the corresponding
name of the ansible service CR: db2wh-cr
, db2oltp-cr
, or
db2aaservice-cr
.
-
Open the
db2wh-json-cm ConfigMap
object in edit mode:
oc edit cm db2wh-json-cm -n ${PROJECT_CPD_INST_OPERANDS}
-
Type /fcm-ips to locate the
fcm-ips
section of the
ConfigMap
.
-
Under the
ibm-db2wh.json
data option, set fcm-ips
:
"fcm-ips": "ip_address_1,ip_address_2,ip_address_3"
Where
ip_address_1,ip_address_2,ip_address_3 is a
comma-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 deploy only Db2 Warehouse on three of them, you must
still provide four IP addresses because the fourth node can be targeted during failover.
-
Save the change and exit the
ConfigMap
.
-
Delete the zen-database-core pod in order for the
ConfigMap
changes to be
remounted 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}
- Deploy databases while the ansible service CR is in maintenance mode. For more
information, see Creating a Db2 Warehouse database deployment on the cluster.
- Remove maintenance mode from the ansible service CR by running the following
command:
oc patch db2whservice db2wh-cr --namespace ${PROJECT_CPD_INST_OPERANDS} --type=merge --patch '{"spec": {"ignoreForMaintenance": false}}'
Replace db2whservice db2wh-cr
with:
Depending on the result from step 1.
Note: If you reinstall or upgrade the Db2
Warehouse service, these steps must be completed
again.