Distribuzione della replica tramite script di shell

Per implementare Q Replication utilizzando script shell, è necessario abilitare la funzione di replica su Db2uInstance o Db2uCluster (per IBM Software Hub Versioni precedenti a 5.2.0 ) digitare nella propria Db2 implementazione.

Procedura

  1. Assegnare un nome allo spazio dei nomi:
    namespace= <names of your namespace>;
  2. Elenco di tutte le Db2uInstances presenti nella distribuzione:
    kubectl get db2uinstance -n $namespace

    Se si utilizzano distribuzioni di tipo Db2uCluster, elencarle con il seguente comando:

    kubectl get db2ucluster -n $namespace
  3. Per abilitare l'add-on Q Replication sul tuo Db2uInstance, scarica lo script ed eseguilo dall'Infra Node sul tuo cluster:
    cd /tmp
    
    chmod a+x  bludr-enable-qrep-addOn-db2u.sh
    Execute bludr-enable-qrep-addOn-db2u.sh
    
    ./bludr-enable-qrep-addOn-db2u.sh
    
    
    Importante: Questo è uno script interattivo e per eseguirlo sono necessari i seguenti input:
    • Nome della classe di archiviazione per il punto di montaggio dei dati QRep (qrepdata)
    • Capacità di archiviazione in GibiBytes (GiB) per il punto di montaggio QRep data (qrepdata)
    • Db2U nome dell'istanza della risorsa personalizzata (distribuzione)
    • Nome dell'host Infra/nome della base per questa istanza

    Assicurarsi di fornire il nome dell'host/bastione locale dell'infrastruttura su cui si desidera abilitare Q Replication. Non fornire un nome di host remoto per il nome di host infra/bastione.

    Questa azione riavvia il Db2 database. L'amministratore di sistema deve informare tutti gli utenti attivi dell'arresto e dell'avvio del database. È presente un'interruzione del database, poiché questa fase può richiedere circa 20 minuti per essere completata.

  4. Esporre Q Replication NodePorts su un proxy ad alta disponibilità in esecuzione su nodo/bastione infra:
    cd /tmp ; 
    namespace= <names of your namespace> ;
    db2uinstName= <name of your Db2 instance>  ; 
    kubectl cp -n $namespace  $(kubectl  -n $namespace get po | grep $db2uinstName |grep qrep  | awk '{print $1}' ):/opt/ibm/bludr/scripts/bin/qrep-expose-nodeports.sh /tmp/qrep-expose-nodeports.sh ; 
    chmod a+x qrep-expose-nodeports.sh ; 
    
    Nota: Per eseguire questo script sono necessari i seguenti input:
    • Spazio dei nomi Kubernates
    • Nome della formazione per Db2uInstance per cui è abilitata la Q Replication
  5. Creare e visualizzare NodePorts:
    1. Creare NodePorts:
      oc project $namespace ; 
      ./qrep-expose-nodeports.sh  $db2uinstName ;
    2. Visualizza NodePorts:
      kubectl get svc -n $namespace  | grep $db2uinstName  | grep db2u-engn-svc ;
      kubectl get svc -n $namespace | grep $db2uinstName   | grep qrep ; 

      Annotare i seguenti NodePorts:

      • Db2 Universale NodePort
      • Q Replica REST NodePort
      • Q Replication IBM Cattura della coda di messaggi NodePort
      • Q Replica IBM Coda dei messaggi Applicare NodePort

      Questi valori NodePort sono necessari quando si configura la replica dal sito di origine al sito di destinazione.

  6. Attivare la Q Replication sul sito di origine eseguendo lo script bludr-perform-source-actions.
    kubectl exec -it -n  $namespace  $(kubectl -n $namespace get po | grep $db2uinstName |grep qrep  | awk '{print $1}' )  bash ;
    Once inside QRep container, switch user to dsadm
    su - dsadm ;
    cd $BLUDR_HOME/scripts/bin ;
    ./bludr-perform-source-actions.sh

    Si tratta di uno script interattivo. Immettere l'opzione 1 per assicurarsi che il sito sorgente sia attivato per la replica. Se il sistema sorgente non è attivato, eseguire nuovamente lo script e immettere l'opzione 2 per attivare la sorgente per la replica. È possibile eseguire questo script sull'host locale (opzione y) o sull'host remoto (opzione n) quando richiesto, se si desidera modificare l'impostazione della replica in esecuzione su questo sistema.

  7. Eseguire tutti i passaggi da Fase 2 a Fase 5 nuovamente sul sito di destinazione.