Exemple : Configuration de Db2 Warehouse HADR dans un seul OpenShift cluster pour plusieurs OpenShift projets

Cet exemple comporte un serveur principal et un serveur de secours principal dans différents OpenShift projets au sein du même cluster.

Comme les services ont été créés à l 'aide de la configuration HADR pour Db2 Warehouse, les ports pour chaque base de données sont les suivants :

  • Base de données primaire : 60006
  • Base de données de secours : 60007

Les adresses IP de chaque base de données sont les suivantes :

  • Base de données primaire : 172.30.77.20
  • Base de données de secours : 172.30.247.77

Dans l'exemple ci-dessous, l'adresse IP de la base de données primaire est 172.30.77.20 :

oc get svc | grep hadr-svc

Exemple de sortie.

c-db2wh-primary-hadr-svc        ClusterIP   172.30.77.20     <none>        60006/TCP,60007/TCP,60008/TCP,60009/TCP                                           26s
oc describe svc c-db2wh-primary-hadr-svc

Exemple de sortie.


Name:                     c-db2wh-primary-hadr-svc
Namespace:                zen
Labels:                   <none>
Annotations:              <none>
Selector:                 app=db2wh-primary,type=engine
Type:                     ClusterIP
IP:                       172.30.77.20
Port:                     db2u-hadrp  60006/TCP
TargetPort:               60006/TCP
Endpoints:                10.254.27.150:60006
Port:                     db2u-hadrs  60007/TCP
TargetPort:               60007/TCP
Endpoints:                10.254.27.150:60007
Port:                     db2u-hadra1  60008/TCP
TargetPort:               60008/TCP
Endpoints:                10.254.27.150:60008
Port:                     db2u-hadra2  60009/TCP
TargetPort:               60009/TCP
Endpoints:                10.254.27.150:60009
Session Affinity:         None
Events:                   <none>
  1. Exécutez la commande suivante pour invoquer le setup_config_hadr script sur le pod de base Db2 Warehouse de données principale :
    oc exec -it c-db2wh-primary-db2u-0 -- setup_config_hadr --db-role primary --primary-name db2wh-primary --standby-name db2wh-standby --primary-port 60006 --standby-port 60007 --primary-clusterip 172.30.77.20 --standby-clusterip 172.30.247.77 --etcd-host my-etcd-client.my-etcd --etcd-port 2379

    La sortie de la commande contient les paramètres de configuration de 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|172.30.77.20
    HADR_LOCAL_SVC 60006|60006
    HADR_REMOTE_HOST 172.30.247.77
    HADR_REMOTE_SVC 60007
    HADR_TARGET_LIST 172.30.247.77:60007
    etcd: my-etcd-client.my-etcd:2379

    Si la configuration est réussie, le message suivant s'affiche à la fin de la sortie du script :

    ################################################################################
    ###        The HADR setup command completed the primary node setup.          ###
    ################################################################################
    
  2. Copiez l'image de sauvegarde de la base de données et le fichier du magasin de clés dans la zone de stockage de sauvegarde (/mnt/backup/) de la base de données primaire vers les bases de données de secours à l'aide de rsync.

    Copiez depuis la base de données principale vers un répertoire sur l'hôte appelé /tmp/hadr.

    oc rsync c-db2wh-primary-db2u-0:/mnt/backup/ /tmp/hadr

    Copiez depuis le /tmp/hadr répertoire sur l'hôte vers la base de données de secours.

    oc rsync /tmp/hadr/ c-db2wh-standby-db2u-0:/mnt/backup/
  3. Exécutez la commande suivante pour invoquer le setup_config_hadr script sur le pod de la base Db2 Warehouse de données de secours :
    oc exec -it c-db2wh-standby-db2u-0 -- setup_config_hadr --db-role standby --primary-name db2wh-primary --standby-name db2wh-standby --primary-port 60006 --standby-port 60007 --primary-clusterip 172.30.77.20 --standby-clusterip 172.30.247.77 --etcd-host my-etcd-client.my-etcd --etcd-port 2379

    Sortie de la commande :

    ################################################################################
    ###        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|172.30.247.77
    HADR_LOCAL_SVC 60007|60007
    HADR_REMOTE_HOST 172.30.77.20
    HADR_REMOTE_SVC 60006
    HADR_TARGET_LIST 172.30.77.20:60006
    etcd: my-etcd-client.my-etcd:2379