示例:在多个 OpenShift 集群中设置 Db2 Warehouse HADR
此示例在同一集群内的同一个 OpenShift 项目中具有一个主数据库和一个主体备用数据库,在另一个 OpenShift 集群(灾难站点)中具有一个辅助备用数据库。
通过使用确定 Db2 WarehouseNodePorts 进行多集群配置 ,示例中每个数据库的端口如下:
- 主数据库:32457
- 备用数据库:31384
- Aux1:32649
要为不同 OpenShift 集群中的数据库设置 HADR:
- 在主数据库 Db2 Warehouse pod 上运行以下命令以调用脚本
setup_config_hadr:oc exec -it c-db2wh-primary-db2u-0 -- setup_config_hadr --db-role primary --primary-name db2wh-primary --standby-name db2wh-standby --primary-port 32457 --standby-port 31384 --aux1-name db2wh-aux --aux1-port 32649 --etcd-host my-etcd-client.my-etcd --etcd-port 2379 --multicluster该命令的输出包含 HADR 配置设置:
################################################################################ ### Creating HADR configuration file for HADR setup. ### ################################################################################ Database role -- primary primary database formation_id -- db2wh-primary HADR_REMOTE_INST db2inst1 HADR_TIMEOUT 120 HADR_SYNCMODE NEARSYNC HADR_PEER_WINDOW 120 LOGINDEXBUILD ON HADR_LOCAL_HOST c-db2wh-primary-db2u-0|c-db2wh-standby-hadr-svc-ext HADR_LOCAL_SVC 60006|32457 HADR_REMOTE_HOST c-db2wh-standby-hadr-svc-ext HADR_REMOTE_SVC 31384 HADR_TARGET_LIST c-db2wh-standby-hadr-svc-ext:31384|c-db2wh-aux-hadr-svc-ext:32649 etcd: my-etcd-client.my-etcd:2379如果设置成功,那么在脚本输出末尾会显示以下消息:
################################################################################ ### The HADR setup command completed the primary node setup. ### ################################################################################ - 使用 rsync 将备份存储区 (/mnt/backup/) 中的数据库备份映像和密钥库文件从主数据库复制到备用数据库。 此处需要执行额外的步骤以从 Cluster1(主数据库所在的位置)复制到 Cluster2(辅助备用数据库所在的位置)。
将主数据库中的内容复制到主机上名为 的目录 /tmp/hadr中。
oc rsync c-db2wh-primary-db2u-0:/mnt/backup/ /tmp/hadr将主机上的目录 /tmp/hadr 复制到主备用数据库。
oc rsync /tmp/hadr/ c-db2wh-standby-db2u-0:/mnt/backup/然后,将 Cluster1/tmp/hadr/ 复制到 Cluster2。
oc rsync /tmp/hadr/ c-db2wh-aux-db2u-0:/mnt/backup/ - 在主备用数据库 Db2 Warehouse pod 上运行以下命令以调用脚本
setup_config_hadr:oc exec -it c-db2wh-standby-db2u-0 -- setup_config_hadr --db-role standby --primary-name db2wh-primary --standby-name db2wh-standby --primary-port 32457 --standby-port 31384 --aux1-name db2wh-aux --aux1-port 32649 --etcd-host my-etcd-client.my-etcd --etcd-port 2379 --multicluster此命令的输出:
################################################################################ ### Creating HADR configuration file for HADR setup. ### ################################################################################ Database role -- standby primary database formation_id -- db2wh-standby HADR_REMOTE_INST db2inst1 HADR_TIMEOUT 120 HADR_SYNCMODE NEARSYNC HADR_PEER_WINDOW 120 LOGINDEXBUILD ON HADR_LOCAL_HOST c-db2wh-standby-db2u-0|c-db2wh-primary-hadr-svc-ext HADR_LOCAL_SVC 60007|31384 HADR_REMOTE_HOST c-db2wh-primary-hadr-svc-ext HADR_REMOTE_SVC 32457 HADR_TARGET_LIST c-db2wh-primary -hadr-svc-ext:32457|c-db2wh-aux-hadr-svc-ext:32649 etcd: my-etcd-client.my-etcd:2379 - 在辅助备用数据库 Db2 Warehouse pod 上运行以下命令以调用脚本
setup_config_hadr:oc exec -it c-db2wh-aux-db2u-0 -- setup_config_hadr --db-role aux1 --primary-name db2wh-primary --standby-name db2wh-standby --primary-port 32457 --standby-port 31384 --aux1-name db2wh-aux --aux1-port 32649 --etcd-host my-etcd-client.my-etcd --etcd-port 2379 --multicluster此命令的输出:
################################################################################ ### Creating HADR configuration file for HADR setup. ### ################################################################################ Database role -- aux1 primary database formation_id -- db2wh-aux HADR_REMOTE_INST db2inst1 HADR_TIMEOUT 120 HADR_SYNCMODE NEARSYNC HADR_PEER_WINDOW 120 LOGINDEXBUILD ON HADR_LOCAL_HOST c-db2wh-aux-db2u-0|c-db2wh-aux-hadr-svc-ext HADR_LOCAL_SVC 60008|32649 HADR_REMOTE_HOST c-db2wh-primary-hadr-svc-ext HADR_REMOTE_SVC 32457 HADR_TARGET_LIST c-db2wh-standby-hadr-svc-ext:31384|c-db2wh-primary-hadr-svc-ext:32457 etcd: my-etcd-client.my-etcd:2379