Migration auf eine andere Instanz mit einer externen Db2 -Datenbank

Sie können OpenPages mit einer externen Datenbank von einer Instanz auf eine andere migrieren.

Vorbereitende Schritte

  • Ihre Quellen-und Zielumgebungen müssen dieselbe Version von IBM® Software Hubaufweisen.
  • Ihre Quellen-und Zielumgebungen müssen dieselbe Version von OpenPagesaufweisen.
  • Ihre Quellen-und Zielumgebungen müssen dieselbe Version von Db2aufweisen.
  • Der Status von OpenPages ist Completed sowohl in der Quellen-als auch in der Zielumgebung.
  • Stellen Sie sicher, dass keine OpenPages -Prozesse mit langer Laufzeit wie FastMap -Importe in Bearbeitung sind.
  • Stellen Sie sicher, dass keine Datenbankscripts in Ihrer Quellen-oder Zielumgebung ausgeführt werden.

Informationen zu dieser Task

Führen Sie diese Task aus, wenn die Auslastung Ihrer Quellen-und Zielumgebung leicht ist. Wählen Sie beispielsweise eine Zeit aus, zu der wenige Benutzer angemeldet sind.

Führen Sie alle Sicherungsschritte innerhalb eines kurzen Zeitrahmens aus, um sicherzustellen, dass die Datenbank und die Anwendung synchron sind. Führen Sie in ähnlicher Weise alle Zurückschreibungsschritte innerhalb eines kurzen Zeitrahmens aus.

Vorgehensweise

  1. Sichern Sie Ihre Quellenumgebung.
  2. Wiederherstellung in der Zielumgebung.

Quellenumgebung sichern

Vorgehensweise

  1. Sichern Sie die Datenbankverschlüsselungsschlüssel und geheimen Schlüssel in der Quellenumgebung.
    Führen Sie diese Schritte aus, damit die Sicherungsdateien in der Zielumgebung entschlüsselt werden können und die Zielumgebung über dieselben geheimen Schlüssel wie die Quellenumgebung verfügt.
    1. Melden Sie sich mit ssham Datenbankserver an.
    2. Wechseln Sie zum Datenbankinstanzeigner (standardmäßigdb2inst1 ).
      su - db2inst1
    3. Suchen Sie die Datenbankverschlüsselungsschlüssel, indem Sie den folgenden Befehl ausführen:
      gsk8capicmd_64 -cert -list -db /home/db2ext/sqllib/security/keystore/extdb_db.p12 -stashed
      Suchen Sie nach einem Ergebnis, das dem folgenden Text ähnelt:
      * default, - personal, ! trusted, # secret key
      #       DB2_SYSGEN_db2inst1_OPX_2020-10-19-17.51.55_81D83D47
      #       DB2_SYSGEN_db2inst1_OPX_2020-10-19-17.56.05_AF8AC2F5
    4. Extrahieren Sie die Schlüssel aus dem Keystore, indem Sie den folgenden Befehl ausführen:
      gsk8capicmd_64 -secretkey -extract -db /home/db2ext/sqllib/security/keystore/extdb_db.p12 -stashed -target <label>.sec -format pkcs12 -label <label>
    5. Beachten Sie die <label> der einzelnen Schlüssel. Diese Informationen werden später benötigt.
  2. Sichern Sie die externe OpenPages -Datenbank, indem Sie eine Offlinesicherung durchführen.
    Weitere Informationen finden Sie unter Database backup and restore for OpenPages (Db2) und Backup overview in der Db2 -Dokumentation.
  3. Melden Sie sich in Ihrer Quellenumgebung als Instanzadministrator bei Ihrem Red Hat® OpenShift® -Cluster an:
    oc login OpenShift_URL:port
  4. Wechseln Sie in das Projekt, in dem OpenPages installiert ist:
    oc project ${PROJECT_CPD_INST_OPERANDS}
  5. Führen Sie die folgenden Befehle aus. Notieren Sie den geheimen Schlüssel, der von den einzelnen Befehlen zurückgegeben wird. Diese Informationen werden später benötigt.
    oc get secret -n <openpages_project> openpages-instance_name-platform-secret -o jsonpath="{.data.encryption-key-pw}"
    oc get secret -n <openpages_project> openpages-instance_name-platform-secret -o jsonpath="{.data.keystore-pw}"
    oc get secret -n <openpages_project> openpages-instance_name-platform-secret -o jsonpath="{.data.opsystem-pw}"
    Außerdem können Sie die ersten geheimen Schlüssel für die Standardbenutzeraccounts migrieren. Führen Sie diesen Schritt beispielsweise aus, wenn Sie das Anfangskennwort eines Benutzerkontos nicht geändert haben und den ursprünglichen geheimen Schlüssel in Ihre neue Instanz migrieren möchten. Führen Sie zum Abrufen des geheimen Schlüssels den folgenden Befehl für jeden geheimen Schlüssel aus, den Sie migrieren möchten:
    oc get secret -n <openpages_project> openpages-instance_name-initialpw-secret -o jsonpath="{.data.<user name>}"

    Ersetzen Sie dabei die folgenden Werte:

    Variabel Ersetzen durch
    <instance_name> Der Name Ihrer OpenPages -Instanz.
    <openpages_project> Der Name des Projekts, in dem OpenPages installiert ist
    <user name> Ein Benutzerkonto.
    Das verschlüsselte Kennwort des Kontos wird angezeigt. Speichern Sie das Kennwort.
  6. Sichern Sie OpenPages in Ihrer Quellenumgebung, indem Sie die folgenden Befehle ausführen.
    1. Sichern Sie das Verzeichnis openpages-storage .
      cd /opt/ibm/OpenPages/aurora/bin
      ./OPBackup.sh /opt/ibm/OpenPages/temp nosrvrst
      Wichtig: Verwenden Sie für diesen Befehl nicht das Verzeichnis /openpages-shared/openpages-backup-restore .
    2. Sichern Sie die Anwendungskonfiguration.
      cd /opt/ibm/OpenPages/aurora/bin
      ./OPBackup.sh /openpages-shared/openpages-backup-restore app-cp4d nosrvrst

Wiederherstellung in der Zielumgebung

Vorgehensweise

  1. Importieren Sie die Verschlüsselungsschlüssel in Ihre Zielumgebung.
    1. Melden Sie sich mit ssham Datenbankserver an.
    2. Wechseln Sie zum Datenbankinstanzeigner (standardmäßigdb2inst1 ).
      su - db2inst1
    3. Importieren Sie die Chiffrierschlüssel, indem Sie den folgenden Befehl für jeden Schlüssel ausführen. Stellen Sie sicher, dass die <label> mit der <label> aus der Quellenumgebung übereinstimmt.
      gsk8capicmd_64 -secretkey -add -db /home/db2ext/sqllib/security/keystore/extdb_db.p12 -stashed -label <label> -format pkcs12 -file <key_file_path>
      Zum Beispiel:
      gsk8capicmd_64 -secretkey -add -db /home/db2ext/sqllib/security/keystore/extdb_db.p12 -stashed -label DB2_SYSGEN_db2inst1_OPX_2020-10-12-20.09.20_9F1D9078 -format pkcs12 -file /tmp/seckey/DB2_SYSGEN_db2inst1_OPX_2020-10-12-20.09.20_9F1D9078.sec
  2. Melden Sie sich in Ihrer Zielumgebung bei Ihrem Red Hat OpenShift -Cluster als Instanzadministrator an:
    oc login OpenShift_URL:port
  3. Wechseln Sie in das Projekt, in dem OpenPages installiert ist:
    oc project ${PROJECT_CPD_INST_OPERANDS}
  4. Skalieren auf 1 Replikat.
    oc scale --replicas=1 sts/openpages-<instance_name>-sts -n <openpages_project>

    Um den Namen der StatefulSet (sts) zu finden, führen Sie oc get sts aus und suchen Sie nach einem Namen, der mit openpages-beginnt. Beispiel: openpages-opinst-sts

  5. Kopieren Sie die Sicherungsdatei openpages-storage in Ihre Zielumgebung.
    1. Kopieren Sie in Ihrer Quellenumgebung die Sicherungsdatei aus Schritt 6.a in das aktuelle Arbeitsverzeichnis Ihrer Quellenumgebung.
      oc cp -n ${INSTANCE_NAMESPACE} openpages-${OPENPAGES_INSTANCE_NAME}-sts-0:/opt/ibm/OpenPages/temp/<Backup_File_Name> <Backup_File_Name>
    2. Kopieren Sie die Sicherungsdatei in das Verzeichnis /openpages-shared/openpages-backup-restore in Ihrer Zielumgebung.
      oc cp -n ${INSTANCE_NAMESPACE} <Backup_File_Name> openpages-${OPENPAGES_INSTANCE_NAME}-sts-0:/openpages-shared/openpages-backup-restore/<Backup_File_Name>

      Notieren Sie sich den Dateinamen. Sie benötigen diese Datei in einem späteren Schritt. Diese Datei enthält die Sicherung des Verzeichnisses openpages-storage .

  6. Kopieren Sie die Sicherungsdatei der Anwendungskonfiguration in Ihre Zielumgebung.
    1. Kopieren Sie die Sicherungsdatei aus Schritt 6.b in das aktuelle Arbeitsverzeichnis Ihrer Quellenumgebung.
      oc cp -n ${INSTANCE_NAMESPACE} openpages-${OPENPAGES_INSTANCE_NAME}-sts-0:/openpages-shared/openpages-backup-restore/<Backup_File_Name> <Backup_File_Name>
    2. Kopieren Sie die Sicherungsdatei in das Verzeichnis /openpages-shared/openpages-backup-restore in Ihrer Zielumgebung.
      oc cp -n ${INSTANCE_NAMESPACE} <Backup_File_Name> openpages-${OPENPAGES_INSTANCE_NAME}-sts-0:/openpages-shared/openpages-backup-restore/<Backup_File_Name>
  7. Stellen Sie das Verzeichnis openpages-storage wieder her.
    1. Melden Sie sich am Pod des Anwendungsservers an und öffnen Sie ein Terminal.
      oc exec -it openpages-<instance_name>-sts-0 -- /bin/bash

      Führen Sie oc get sts aus und suchen Sie nach einem Namen, der mit openpages-beginnt, um den Podnamen zu finden.

    2. Wechseln Sie in das Verzeichnis /opt/ibm/OpenPages/openpages-backup-restore .
    3. Suchen Sie die Datei op_backup_<timestamp>.zip , die Sie in Schritt 5aus Ihrer Quellenumgebung kopiert haben.
    4. Führen Sie die folgenden Befehle aus:
      cd /opt/ibm/OpenPages/aurora/bin
      ./OPRestore.sh <backup_filename_without_the_file_extension> 
      Wenn sich die openpages-storage -Sicherung beispielsweise in op_backup_2023_10_20_21_43_04.zipbefindet, lauten die Befehle wie folgt:
      cd /opt/ibm/OpenPages/aurora/bin
      ./OPRestore.sh op_backup_2023_10_20_21_43_04
    5. Entfernen Sie die Sicherungsdatei openpages-storage aus dem /openpages-shared/openpages-backup-restore -Verzeichnis.
    6. Prüfen Sie, ob die Sicherungsdatei aus Schritt 6 jetzt die neueste Sicherungsdatei im Verzeichnis /openpages-shared/openpages-backup-restore ist.
  8. Starten Sie den Anwendungsserver-Pod erneut.
    1. Führen Sie ein Scale-down auf 0 Replikate durch.
      oc scale --replicas=0 sts/openpages-<instance_name>-sts

      Um den Namen des StatefulSet (sts) zu suchen, führen Sie oc get sts aus und suchen Sie nach einem Namen, der mit openpages- beginnt. Beispiel:openpages-instance_name-sts

    2. Warten Sie, bis alle Anwendungsserver-Pods gelöscht sind.
    3. Skalieren auf 1 Replikat.
      oc scale --replicas=1 sts/openpages-<instance_name>-sts
    Die Anwendungskonfiguration wird wiederhergestellt.
  9. Stoppen Sie die Anwendungsserver-Pods.
    1. Führen Sie ein Scale-down auf 0 Replikate durch.
      oc scale --replicas=0 sts/openpages-<instance_name>-sts -n <openpages_project>
    2. Warten Sie, bis alle Anwendungsserver-Pods gelöscht sind.
  10. Stellen Sie die Datenbank wieder her.
    1. Melden Sie sich mit ssham Datenbankserver an.
    2. Stellen Sie die Datenbank aus der Offlinesicherung wieder her.
  11. Stellen Sie die geheimen Schlüssel in der Zielumgebung wieder her.
    oc edit secrets -n <openpages_project> openpages-<instance_name>-platform-secret
    1. Aktualisieren Sie die Werte für jeden geheimen Schlüssel mithilfe der Werte in Ihrer Quellenumgebung.
      Weitere Informationen finden Sie unter Geheime Schlüssel in der Dokumentation für Kubernetes.
    2. Wenn Sie die geheimen Schlüssel für die Standardbenutzerkonten wiederherstellen möchten, führen Sie den folgenden Befehl aus:
       oc edit secrets -n <openpages_project> openpages-<instance_name>-initialpw-secret

      Führen Sie diesen Schritt beispielsweise aus, wenn Sie das Anfangskennwort eines Standardbenutzeraccounts nicht geändert haben und den ursprünglichen geheimen Schlüssel des Accounts von Ihrer alten Instanz auf Ihre neue Instanz migrieren möchten.

  12. Führen Sie mit dem folgenden Befehl ein Scale-up auf die Anzahl der Replikate durch, die Sie für den Anwendungsserver verwenden möchten.
    oc scale --replicas=<#_of_replicas> sts/openpages-<instance_name>-sts

    Ersetzen Sie dabei die folgenden Werte:

    Variabel Ersetzen durch
    <#_of_replicas> Geben Sie die Anzahl der Replikate an.

    Kann 1 oder mehr sein.

    <StatefulSet_name> Geben Sie den Namen des StatefulSet für die Anwendung an.

    Um den Namen des StatefulSet zu finden, führen Sie oc get sts aus und suchen Sie nach einem Namen, der mit openpages-beginnt.

    Beispiel:openpages-opinst-sts