Sicherungen und Wiederherstellungen für SAP HANA mit Laufwerk-Snapshots ausführen

In diesem Leitfaden erfahren Sie, wie Sie Sicherungs- und Wiederherstellungsvorgänge für SAP HANA mit dem Laufwerk-Snapshot-Feature des Google Cloud-Agents für SAP ausführen.

Informationen zu diesem Feature finden Sie unter Laufwerk-Snapshot-basierte Sicherung und Wiederherstellung für SAP HANA.

Hinweise

Berechtigungen festlegen

Wenn Sie den Google Cloud-Agent für SAP verwenden möchten, um Laufwerk-Snapshot-basierte Sicherungen und Wiederherstellungen für Ihr SAP HANA-System auszuführen, müssen Sie die folgenden Berechtigungen festlegen:

  • Aktivieren Sie zum Erstellen von Laufwerk-Snapshots die folgenden IAM-Berechtigungen:
    • Aktivieren Sie für das Google Cloud-Projekt, in dem Ihr SAP HANA-System ausgeführt wird, die Berechtigung compute.snapshots.create.
    • Aktivieren Sie für das von Ihrer Compute Engine-VM-Instanz verwendete Dienstkonto die folgenden Berechtigungen: compute.disks.createSnapshot, compute.snapshot.list und compute.disk.list.
  • Zum Erstellen von Laufwerk-Snapshot-basierten Sicherungen muss der vom Agent verwendete SAP HANA-Datenbanknutzer die Berechtigung BACKUP OPERATOR oder BACKUP ADMIN haben. Weitere Informationen finden Sie im SAP-Dokument Erforderliche Autorisierungen für Sicherungen und Wiederherstellungen.
  • Zum Ausführen der Sicherungs- und Wiederherstellungsvorgänge muss der Betriebssystemnutzer, der die Befehle des Agents ausführt, entweder der root-Nutzer sein oder die Berechtigung sudo für die Ausführung der folgenden Befehle haben. Sie können auch sudo-Zugriff gewähren, indem Sie eine Gruppe in Ihrem /etc/sudoers.d-Verzeichnis erstellen. Beispiel:

    %sapagent_snapshot_sudoers ALL=(ALL:ALL) NOPASSWD:/sbin/lvdisplay, /sbin/vgscan, /sbin/dmsetup, /sbin/lvscan, /usr/sbin/xfs_freeze, /usr/bin/google_cloud_sap_agent

Laufwerk-Snapshot-basierte Sicherung erstellen

  • Führen Sie den Befehl hanadiskbackup des Google Cloud-Agents für SAP aus, um eine Laufwerk-Snapshot-basierte Sicherung für das Volume /hana/data Ihrer SAP HANA-Datenbank zu erstellen:

    sudo /usr/bin/google_cloud_sap_agent hanadiskbackup \
        -project=DESTINATION_PROJECT_ID \
        -host=HANA_HOST_ADDRESS \
        -port=HANA_PORT_NUMBER \
        -sid=SID \
        -hana-db-user=HANA_USERNAME \
        -password-secret=HANA_USER_PWD_SECRET_NAME \
        -hdbuserstore-key=HDB_USERSTORE_KEY \
        [-source-disk=SOURCE_DISK_NAME \
        -source-disk-zone=SOURCE_DISK_ZONE]

    Ersetzen Sie Folgendes:

    • DESTINATION_PROJECT_ID: die ID des Google Cloud-Projekts, in dem Sie den Laufwerk-Snapshot erstellen möchten
    • HANA_HOST_ADDRESS: der Hostname oder die IP-Adresse der Compute Engine-VM-Instanz, die Ihre SAP HANA-Datenbank hostet

      Geben Sie in einem Hochverfügbarkeitssystem den Hostnamen oder die IP-Adresse des lokalen Hosts im primären SAP HANA-Knoten an. Verwenden Sie nicht die im Cluster verwendete virtuelle IP-Adresse (VIP), um den primären Knoten zu identifizieren. Geben Sie in einer Bereitstellung zur Notfallwiederherstellung den Hostnamen oder die IP-Adresse des lokalen Hosts in der primären SAP HANA-Instanz an.

    • HANA_PORT_NUMBER: der SAP HANA-Port, der die Sicherungs- und Wiederherstellungsanfragen akzeptiert

    • SID: die SAP-System-ID (SID) Ihres SAP HANA-Systems

    • HANA_USERNAME: der Nutzername der SAP HANA-Datenbank, mit dem Sie die Sicherung erstellen möchten

    • HANA_USER_PWD_SECRET_NAME: Wenn Sie Secret Manager zum Speichern des Passworts des SAP HANA-Datenbanknutzers verwenden, geben Sie den entsprechenden Secret-Namen an

    • HDB_USERSTORE_KEY: Wenn Sie einen hdbuserstore-Schlüssel zur Authentifizierung des angegebenen SAP HANA-Nutzers erstellt haben, geben Sie diesen Schlüssel an.

    • SOURCE_DISK_NAME: der Name des Persistent Disk- oder Hyperdisk-Volumes, auf dem das Volume /hana/data gehostet ist

    • SOURCE_DISK_ZONE: der Name der Zone, in der das Laufwerk bereitgestellt wird, das das Volume /hana/data hostet

    In der folgenden Tabelle werden die vom Befehl hanadiskbackup unterstützten Argumente beschrieben:

    Argument Beschreibung
    -port Geben Sie den SAP HANA-Port an, der die Sicherungs- und Wiederherstellungsanfragen akzeptiert.
    -sid Geben Sie die SAP-System-ID (SID) Ihres SAP HANA-Systems an.
    -hana-db-user Geben Sie den Nutzernamen der SAP HANA-Datenbank an, mit dem Sie die Sicherung erstellen möchten.
    -password

    Geben Sie das Passwort des SAP HANA-Datenbanknutzers an, den Sie zum Erstellen der Sicherung verwenden.

    Geben Sie dieses Argument nicht an, wenn Sie das Argument -password-secret oder -hdbuserstore-key verwenden. Wir empfehlen, eine dieser Optionen anstelle von -password zu verwenden.

    -password-secret

    Optional. Wenn Sie Secret Manager zum Speichern des Passworts des SAP HANA-Datenbanknutzers verwenden, geben Sie den entsprechenden Secret-Namen an

    Achten Sie im Secret Manager darauf, dass der Secret-Wert, also das Passwort, mindestens 8 Zeichen enthält und mindestens einen Großbuchstaben, einen Kleinbuchstaben und eine Zahl umfasst.

    Geben Sie dieses Argument nicht an, wenn Sie das Argument -password verwenden.

    -hdbuserstore-key

    Zum Authentifizieren des SAP HANA-Nutzers, den Sie für -hana-db-user angeben, geben Sie einen hdbuserstore-Schlüssel an, den Sie für diesen Nutzer erstellt haben.

    Wenn Sie einen hdbuserstore-Schlüssel für die Authentifizierung verwenden möchten, müssen Sie die folgenden Bedingungen erfüllen:

    • Die SAP-Tools hdbsql und hdduserstore sind auf der Compute-Instanz installiert, die den Agent hostet.
    • Der Schlüssel hdbuserstore entspricht einer bestimmten SAP HANA-Instanz. Sie können keine Schlüssel verwenden, die Hostnamen mehrerer SAP HANA-Instanzen enthalten.

    Wenn Sie -hdbuserstore-key angeben, können Sie die Angabe der Argumente -host und -port überspringen.

    -host Optional. Geben Sie die IP-Adresse der Compute Engine-VM-Instanz an, die Ihr SAP HANA-System hostet. Der Standardwert ist localhost.
    -project Optional. Geben Sie die ID des Google Cloud-Projekts an, in dem Sie den Laufwerk-Snapshot erstellen möchten. Standardmäßig wird der Snapshot in dem Google Cloud-Projekt erstellt, in dem Ihr SAP HANA-System ausgeführt wird.
    -abandon-prepared Optional. Gibt an, ob vorhandene Laufwerk-Snapshots ignoriert werden sollen. Der Standardwert ist false.
    -snapshot-name

    Optional. Geben Sie den Namen des Laufwerk-Snapshots an, den Sie erstellen.

    Standardmäßig hat der Snapshot einen Namen im folgenden Format: snapshot-SOURCE_DISK_NAME-YYYYMMDD-HHMMSS.

    -source-disk Geben Sie den Namen des Persistent Disk- oder Hyperdisk-Volumes an, das Ihr /hana/data-Volume hostet.
    -source-disk-zone Geben Sie die Zone an, in der sich das Laufwerk befindet, das das Volume /hana/data hostet.
    -source-disk-key-file Optional. Wenn das Laufwerk, das das Volume /hana/data hostet, mit einem vom Kunden bereitgestellten, mit RSA verpackten Verschlüsselungsschlüssel verschlüsselt ist, geben Sie den absoluten Pfad zu den JSON-Datei an.

    Dieses Argument wird ab Version 3.2 des Agents unterstützt.

    -storage-location Optional. Geben Sie den multiregionalen Cloud Storage-Speicherort oder die Cloud Storage-Region an, in der Sie den Laufwerk-Snapshot speichern möchten.
    -snapshot-description Optional. Geben Sie eine Beschreibung für den Laufwerk-Snapshot an.
    -labels Optional. Geben Sie ein oder mehrere Label/Wert-Paare an, die Sie mit dem von Ihnen erstellten Laufwerk-Snapshot verknüpfen möchten. Beispiel: -labels="label1=value1,label2=value2".
    -send-metrics-to-monitoring Optional. Gibt an, ob der Ausführungsstatus der Snapshot-Erstellung an Cloud Monitoring gesendet wird. Der Standardwert ist TRUE.
    -loglevel Optional. Geben Sie die Logging-Ebene für den Snapshot-Erstellungsvorgang an. Die Standard-Logging-Ebene ist info. Verfügbare Logebenen sind debug, info, warn und error.

Laufwerk-Snapshot prüfen

Mit den folgenden Optionen können Sie prüfen, ob der Laufwerk-Snapshot erstellt wurde:

  • Rufen Sie in der Google Cloud Console die Compute Engine-Seite Snapshots auf und filtern Sie die Einträge nach dem Namen des Laufwerks oder Snapshots.

    Zu den Snapshots

  • Alternativ können Sie die Laufwerk-Snapshot-Details auch in der folgenden Logdatei des Google Cloud-Agents für SAP aufrufen:

    /var/log/google-cloud-sap-agent/hanadiskbackup.log

SAP HANA-Sicherungskatalog prüfen

Zusätzlich zum Erstellen des Laufwerk-Snapshots erstellt der Befehl hanadiskbackup einen Eintrag für den Snapshot im SAP HANA-Sicherungskatalog. Im Folgenden finden Sie eine Beispiel-SQL-Abfrage zum Anzeigen der Laufwerk-Snapshot-Einträge im SAP HANA-Sicherungskatalog:

SELECT BACKUP_ID, STATE_NAME, COMMENT FROM M_BACKUP_CATALOG WHERE ENTRY_TYPE_NAME = 'data snapshot'

Die Ausgabe sieht etwa so aus wie im folgenden Beispiel.

BACKUP_ID,STATE_NAME,COMMENT
BACKUP_ID,"successful","snapshot-SOURCE_DISK_NAME-YYYYMMDD-HHMMMSS"

Diese Ausgabe enthält die folgenden Werte:

  • BACKUP_ID: die Sicherungs-ID, die dem Laufwerk-Snapshot in Ihrem SAP HANA-Sicherungskatalog zugewiesen ist
  • SOURCE_DISK_NAME: der Name des Laufwerks, das das Volume /hana/data hostet, für das Sie einen Snapshot erstellt haben
  • YYYYMMDD-HHMMMSS: Datum und Uhrzeit der Erstellung der Bereitstellung.

Wiederherstellungen mit einem Laufwerk-Snapshot ausführen

Informationen zur Laufwerk-Snapshot-basierten Wiederherstellung mit dem Google Cloud-Agent für SAP finden Sie in der Anleitung für Ihr Szenario:

Datenbank für ein System mit vertikaler Skalierung wiederherstellen

Führen Sie die folgenden Schritte aus, um die Datenbank für ein SAP HANA-System mit vertikaler Skalierung, das in Google Cloud bereitgestellt ist, wiederherzustellen:

  1. Stellen Sie das Laufwerk wieder her, das das Volume /hana/data hostet, indem Sie den Befehl hanadiskrestore des Agents ausführen:

    sudo /usr/bin/google_cloud_sap_agent hanadiskrestore \
        -project=SOURCE_PROJECT_ID \
        -sid=SID \
        -source-snapshot=SOURCE_SNAPSHOT_NAME \
        -data-disk-name=SOURCE_DISK_NAME \
        -data-disk-zone=SOURCE_DISK_ZONE \
        -new-disk-type=NEW_DISK_TYPE \
        -new-disk-name=NEW_DISK_NAME

    Ersetzen Sie Folgendes:

    • SOURCE_PROJECT_ID: die ID des Google Cloud-Projekts, in dem der Laufwerk-Snapshot vorhanden ist
    • SID: die SAP-System-ID (SID) Ihres SAP HANA-Systems
    • SOURCE_SNAPSHOT_NAME: der Name des Laufwerk-Snapshots, mit dem Sie das neue Laufwerk erstellen
    • SOURCE_DISK_NAME: der Name des Quelllaufwerks, auf dem das Volume /hana/data gehostet wird
    • SOURCE_DISK_ZONE: der Name der Zone, in der das Quelllaufwerk bereitgestellt ist

    Informationen zu den Argumenten, die Sie mit dem Befehl hanadiskrestore verwenden können, finden Sie unter Unterstützte Argumente für die Laufwerkwiederherstellung.

  2. Stellen Sie Ihre SAP HANA-Datenbank mit der erforderlichen Option wieder her:

    Zu Snapshot-Zeit wiederherstellen

    Um Ihre SAP HANA-Datenbank wiederherzustellen, indem Sie sie zu dem Zeitpunkt wiederherstellen, zu dem der Laufwerk-Snapshot erstellt wurde, führen Sie folgende Schritte aus:

    1. Wechseln Sie zum Nutzer SIDadm:
      su - SID_LCadm

      Ersetzen Sie SID_LC durch die SID Ihres SAP HANA-Systems. Verwenden Sie Kleinbuchstaben für Buchstaben.

    2. Stellen Sie die Systemdatenbank mit dem folgenden Befehl wieder her:
      HDBSettings.sh recoverSys.py --command="RECOVER DATA USING SNAPSHOT CLEAR LOG;"
    3. Stellen Sie eine Verbindung zur Systemdatenbank her. Sie können beispielsweise den folgenden Befehl ausführen:
      hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER

      Ersetzen Sie Folgendes:

      • SYSTEM_DB_PASSWORD: das Passwort für die Systemdatenbank
      • INSTANCE_NUMBER: Ihre SAP HANA-Instanznummer
    4. Stellen Sie die Mandantendatenbanken wieder her, indem Sie den folgenden Befehl für jede Mandantendatenbank ausführen:
      RECOVER DATA FOR TENANT_SID USING SNAPSHOT CLEAR LOG

      Ersetzen Sie TENANT_SID durch die SID der Mandantendatenbank.

    Zu einem bestimmten Zeitpunkt wiederherstellen

    Um Ihre SAP HANA-Datenbank wiederherzustellen, indem Sie sie zu einem bestimmten Zeitpunkt wiederherstellen, führen Sie folgende Schritte aus:

    1. Prüfen Sie, ob Sie eine Sicherung für das Volume /hana/log in Cloud Storage mithilfe des Backint-Features des Google Cloud-Agents für SAP erstellt haben. Weitere Informationen zu diesem Feature finden Sie unter Backint-basierte Sicherung und Wiederherstellung für SAP HANA.
    2. Wechseln Sie zum Nutzer SIDadm:
      su - SID_LCadm

      Ersetzen Sie SID_LC durch die SID Ihres SAP HANA-Systems. Verwenden Sie Kleinbuchstaben für Buchstaben.

    3. Stellen Sie die Systemdatenbank mit dem folgenden Befehl wieder her:
      HDBSettings.sh recoverSys.py --command "RECOVER DATABASE UNTIL TIMESTAMP 'YYYY-MM-DD HH:MM:SS' CLEAR LOG USING SNAPSHOT"
    4. Stellen Sie eine Verbindung zur Systemdatenbank her. Sie können beispielsweise den folgenden Befehl ausführen:
      hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER

      Ersetzen Sie Folgendes:

      • SYSTEM_DB_PASSWORD: das Passwort für die Systemdatenbank
      • INSTANCE_NUMBER: Ihre SAP HANA-Instanznummer
    5. Stellen Sie die Mandantendatenbanken wieder her, indem Sie den folgenden Befehl für jede Mandantendatenbank ausführen:
      RECOVER DATABASE FOR TENANT_SID UNTIL TIMESTAMP '2099-12-31 12:00:00' CLEAR LOG USING SNAPSHOT

      Ersetzen Sie TENANT_SID durch die SID der Mandantendatenbank.

Unterstützte Argumente für die Laufwerkwiederherstellung

In der folgenden Tabelle werden die vom Befehl hanadiskrestore des Agents unterstützten Argumente beschrieben:

Argument Beschreibung
-sid Geben Sie die SAP-System-ID (SID) Ihres SAP HANA-Systems an.
-data-disk-name Geben Sie den Namen des Quelllaufwerks an, auf dem das Volume /hana/data gehostet wird.
-data-disk-zone Geben Sie die Zone an, in der das Quelllaufwerk, auf dem das Volume /hana/data gehostet wird, bereitgestellt ist.
-source-snapshot Geben Sie den Namen des Laufwerk-Snapshots an, mit dem Sie das Laufwerk wiederherstellen möchten, das Ihr SAP HANA-Datenvolume hostet.
-new-disk-name Geben Sie den Namen an, den Sie für das neue Laufwerk festlegen möchten.
-project Optional. Geben Sie die ID des Google Cloud-Projekts an, in dem der Snapshot des Quelllaufwerks vorhanden ist. Standardmäßig wird der Snapshot in dem Google Cloud-Projekt erstellt, in dem Ihr SAP HANA-System ausgeführt wird.
-csek-key-file Optional. Wenn Sie den Snapshot des Quelllaufwerks mit dem Argument -source-disk-key-file mit dem Befehl hanadiskbackup verschlüsselt haben, geben Sie den absoluten Pfad zur JSON-Datei des vom Kunden bereitgestellten und mit RSA verpackten Schlüssels an, der dem Snapshot des Quelllaufwerks entspricht. Hier sehen Sie eine Beispieldatei:
[
  {
    "uri": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots/SNAPSHOT_NAME",
    "key": "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFHz0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoDD6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oeQ5lAbtt7bYAAHf5l+gJWw3sUfs0/Glw5fpdjT8Uggrr+RMZezGrltJEF293rvTIjWOEB3z5OHyHwQkvdrPDFcTqsLfh+8Hr8g+mf+7zVPEC8nEbqpdl3GPv3A7AwpFp7MA==",
    "key-type": "rsa-encrypted"
  }
]

Dieses Argument wird ab Version 3.2 des Agents unterstützt.

-new-disk-type

Optional. Geben Sie den Typ der Persistent Disk oder Hyperdisk an, den Sie erstellen möchten. Standardmäßig hat das neue Laufwerk den gleichen Typ wie das Quelllaufwerk.

Achten Sie darauf, einen SSD-basierten Laufwerkstyp anzugeben, der von SAP für die Verwendung mit SAP HANA zertifiziert ist. Weitere Informationen finden Sie unter Unterstützte Laufwerkstypen.

-hana-sidadm Optional. Geben Sie SIDadm an - den Betriebssystemnutzer Ihres SAP HANA-Systems.
-force-stop-hana Optional. Wenn Sie das Beenden von SAP HANA vor dem Einleiten des Wiederherstellungsvorgangs erzwingen möchten, geben Sie dieses Argument an und setzen Sie den Wert auf true. Der Standardwert ist false.
-provisioned-iops Optional. Wenn Sie ein Hyperdisk-Volume erstellen, geben Sie die IOPS (Eingabe-/Ausgabevorgänge pro Sekunde) an, die es verarbeiten muss.
-provisioned-throughput Optional. Wenn Sie ein Hyperdisk-Volume erstellen, geben Sie den Durchsatz an, den es unterstützen muss.
-disk-size-gb

Optional. Geben Sie die gewünschte Größe des neuen Laufwerks in GB an. Standardmäßig hat das neue Laufwerk dieselbe Größe wie das vorhandene Laufwerk.

Das neue Laufwerk darf nicht kleiner als das vorhandene Laufwerk sein.

-loglevel Optional. Geben Sie die Logging-Ebene für alle vom Befehl hanadiskrestore ausgeführten Aktionen an. Die Standard-Logging-Ebene ist info. Verfügbare Logebenen sind: debug, info, warn und error.

Datenbank für ein HA-System mit vertikaler Skalierung wiederherstellen

Führen Sie die folgenden Schritte aus, um die Datenbank für ein SAP HANA-System mit vertikaler Skalierung wiederherzustellen, das in einem Hochverfügbarkeitscluster (HA) in Google Cloud bereitgestellt ist:

  1. Prüfen Sie, ob Sie einen Snapshot des Laufwerks haben, das das Volume /hana/data im primären SAP HANA-Knoten hostet.

  2. Versetzen Sie den HA-Cluster als Root-Nutzer in den Wartungsmodus. Wenn Sie Pacemaker verwenden, führen Sie den folgenden Befehl aus:

    RHEL

    pcs property set maintenance-mode=true

    SLES

    crm configure property maintenance-mode=true
  3. Beenden Sie Ihre SAP HANA-Datenbankinstanzen, indem Sie den folgenden Befehl sowohl auf dem primären Knoten als auch auf dem Standby-Knoten des HA-Clusters ausführen:

    HDB stop
  4. Wechseln Sie zum primären Knoten Ihres SAP HANA-HA-Systems.

  5. Stellen Sie das Laufwerk wieder her, das das Volume /hana/data hostet, indem Sie den Befehl hanadiskrestore des Agents ausführen:

    sudo /usr/bin/google_cloud_sap_agent hanadiskrestore \
        -project=SOURCE_PROJECT_ID \
        -sid=SID \
        -source-snapshot=SOURCE_SNAPSHOT_NAME \
        -data-disk-name=SOURCE_DISK_NAME \
        -data-disk-zone=SOURCE_DISK_ZONE \
        -new-disk-type=NEW_DISK_TYPE \
        -new-disk-name=NEW_DISK_NAME

    Ersetzen Sie Folgendes:

    • SOURCE_PROJECT_ID: die ID des Google Cloud-Projekts, in dem der Laufwerk-Snapshot vorhanden ist
    • SID: die SAP-System-ID (SID) Ihres SAP HANA-Systems
    • SOURCE_SNAPSHOT_NAME: der Name des Laufwerk-Snapshots, mit dem Sie das neue Laufwerk erstellen
    • SOURCE_DISK_NAME: der Name des Quelllaufwerks, auf dem das Volume /hana/data gehostet wird
    • SOURCE_DISK_ZONE: der Name der Zone, in der das Quelllaufwerk bereitgestellt ist

    Informationen zu den Argumenten, die Sie mit dem Befehl hanadiskrestore verwenden können, finden Sie unter Unterstützte Argumente für die Laufwerkwiederherstellung.

  6. Heben Sie die Registrierung des sekundären Knotens Ihres SAP HANA-HA-Systems auf:

    hdbnsutil -sr_unregister
  7. Deaktivieren Sie auf dem primären Knoten Ihres SAP HANA-HA-Systems die SAP HANA-Systemreplikation:

    hdbnsutil -sr_disable
  8. Stellen Sie Ihre SAP HANA-Datenbank auf dem primären Knoten mit der erforderlichen Option wieder her:

    Zu Snapshot-Zeit wiederherstellen

    Um Ihre SAP HANA-Datenbank wiederherzustellen, indem Sie sie zu dem Zeitpunkt wiederherstellen, zu dem der Laufwerk-Snapshot erstellt wurde, führen Sie folgende Schritte aus:

    1. Wechseln Sie zum Nutzer SIDadm:
      su - SID_LCadm

      Ersetzen Sie SID_LC durch die SID Ihres SAP HANA-Systems. Verwenden Sie Kleinbuchstaben für Buchstaben.

    2. Stellen Sie die Systemdatenbank mit dem folgenden Befehl wieder her:
      HDBSettings.sh recoverSys.py --command="RECOVER DATA USING SNAPSHOT CLEAR LOG;"
    3. Stellen Sie eine Verbindung zur Systemdatenbank her. Sie können beispielsweise den folgenden Befehl ausführen:
      hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER

      Ersetzen Sie Folgendes:

      • SYSTEM_DB_PASSWORD: das Passwort für die Systemdatenbank
      • INSTANCE_NUMBER: Ihre SAP HANA-Instanznummer
    4. Stellen Sie die Mandantendatenbanken wieder her, indem Sie den folgenden Befehl für jede Mandantendatenbank ausführen:
      RECOVER DATA FOR TENANT_SID USING SNAPSHOT CLEAR LOG

      Ersetzen Sie TENANT_SID durch die SID der Mandantendatenbank.

    Zu einem bestimmten Zeitpunkt wiederherstellen

    Um Ihre SAP HANA-Datenbank wiederherzustellen, indem Sie sie zu einem bestimmten Zeitpunkt wiederherstellen, führen Sie folgende Schritte aus:

    1. Prüfen Sie, ob Sie eine Sicherung für das Volume /hana/log in Cloud Storage mithilfe des Backint-Features des Google Cloud-Agents für SAP erstellt haben. Weitere Informationen zu diesem Feature finden Sie unter Backint-basierte Sicherung und Wiederherstellung für SAP HANA.
    2. Wechseln Sie zum Nutzer SIDadm:
      su - SID_LCadm

      Ersetzen Sie SID_LC durch die SID Ihres SAP HANA-Systems. Verwenden Sie Kleinbuchstaben für Buchstaben.

    3. Stellen Sie die Systemdatenbank mit dem folgenden Befehl wieder her:
      HDBSettings.sh recoverSys.py --command "RECOVER DATABASE UNTIL TIMESTAMP 'YYYY-MM-DD HH:MM:SS' CLEAR LOG USING SNAPSHOT"
    4. Stellen Sie eine Verbindung zur Systemdatenbank her. Sie können beispielsweise den folgenden Befehl ausführen:
      hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER

      Ersetzen Sie Folgendes:

      • SYSTEM_DB_PASSWORD: das Passwort für die Systemdatenbank
      • INSTANCE_NUMBER: Ihre SAP HANA-Instanznummer
    5. Stellen Sie die Mandantendatenbanken wieder her, indem Sie den folgenden Befehl für jede Mandantendatenbank ausführen:
      RECOVER DATABASE FOR TENANT_SID UNTIL TIMESTAMP '2099-12-31 12:00:00' CLEAR LOG USING SNAPSHOT

      Ersetzen Sie TENANT_SID durch die SID der Mandantendatenbank.

  9. Aktivieren Sie auf dem primären Knoten die SAP HANA-Systemreplikation:

    hdbnsutil -sr_enable --name=PRIMARY_SITE_NAME
  10. Registrieren Sie den Standby-Knoten noch einmal beim primären Knoten:

    hdbnsutil -sr_register
       --name=SECONDARY_SITE_NAME
       --remoteHost=PRIMARY_HOST_NAME
       --remoteInstance=INSTANCE_NUMBER
       --replicationMode=sync
       --operationMode=logreplay
  11. Prüfen Sie, ob die Datenbank im Standby-Knoten vollständig mit der Datenbank auf dem primären Knoten synchronisiert ist.

  12. Beenden Sie als Root-Nutzer den Wartungsmodus des HA-Clusters. Wenn Sie Pacemaker verwenden, führen Sie den folgenden Befehl aus:

    RHEL

    pcs property set maintenance-mode=false

    SLES

    crm configure property maintenance-mode=false

Datenbank für eine DR-Bereitstellung mit vertikaler Skalierung wiederherstellen

Führen Sie die folgenden Schritte aus, um die Datenbank für ein SAP HANA-System mit vertikaler Skalierung wiederherzustellen, das mit einer Notfallwiederherstellungslösung in Google Cloud bereitgestellt ist:

  1. Beenden Sie Ihre SAP HANA-Datenbanken, indem Sie den folgenden Befehl sowohl auf der primären Instanz als auch auf der Standby-Instanz Ihrer DR-Bereitstellung ausführen:

    HDB stop
  2. Wechseln Sie zur primären Instanz Ihrer SAP HANA-DR-Bereitstellung.

  3. Stellen Sie das Laufwerk wieder her, das das Volume /hana/data hostet, indem Sie den Befehl hanadiskrestore des Agents ausführen:

    sudo /usr/bin/google_cloud_sap_agent hanadiskrestore \
        -project=SOURCE_PROJECT_ID \
        -sid=SID \
        -source-snapshot=SOURCE_SNAPSHOT_NAME \
        -data-disk-name=SOURCE_DISK_NAME \
        -data-disk-zone=SOURCE_DISK_ZONE \
        -new-disk-type=NEW_DISK_TYPE \
        -new-disk-name=NEW_DISK_NAME

    Ersetzen Sie Folgendes:

    • SOURCE_PROJECT_ID: die ID des Google Cloud-Projekts, in dem der Laufwerk-Snapshot vorhanden ist
    • SID: die SAP-System-ID (SID) Ihres SAP HANA-Systems
    • SOURCE_SNAPSHOT_NAME: der Name des Laufwerk-Snapshots, mit dem Sie das neue Laufwerk erstellen
    • SOURCE_DISK_NAME: der Name des Quelllaufwerks, auf dem das Volume /hana/data gehostet wird
    • SOURCE_DISK_ZONE: der Name der Zone, in der das Quelllaufwerk bereitgestellt ist

    Informationen zu den Argumenten, die Sie mit dem Befehl hanadiskrestore verwenden können, finden Sie unter Unterstützte Argumente für die Laufwerkwiederherstellung.

  4. Deaktivieren Sie auf der primären Instanz die SAP HANA-Systemreplikation:

    hdbnsutil -sr_disable
  5. Stellen Sie Ihre SAP HANA-Datenbank auf der primären Instanz mit der erforderlichen Option wieder her:

    Zu Snapshot-Zeit wiederherstellen

    Um Ihre SAP HANA-Datenbank wiederherzustellen, indem Sie sie zu dem Zeitpunkt wiederherstellen, zu dem der Laufwerk-Snapshot erstellt wurde, führen Sie folgende Schritte aus:

    1. Wechseln Sie zum Nutzer SIDadm:
      su - SID_LCadm

      Ersetzen Sie SID_LC durch die SID Ihres SAP HANA-Systems. Verwenden Sie Kleinbuchstaben für Buchstaben.

    2. Stellen Sie die Systemdatenbank mit dem folgenden Befehl wieder her:
      HDBSettings.sh recoverSys.py --command="RECOVER DATA USING SNAPSHOT CLEAR LOG;"
    3. Stellen Sie eine Verbindung zur Systemdatenbank her. Sie können beispielsweise den folgenden Befehl ausführen:
      hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER

      Ersetzen Sie Folgendes:

      • SYSTEM_DB_PASSWORD: das Passwort für die Systemdatenbank
      • INSTANCE_NUMBER: Ihre SAP HANA-Instanznummer
    4. Stellen Sie die Mandantendatenbanken wieder her, indem Sie den folgenden Befehl für jede Mandantendatenbank ausführen:
      RECOVER DATA FOR TENANT_SID USING SNAPSHOT CLEAR LOG

      Ersetzen Sie TENANT_SID durch die SID der Mandantendatenbank.

    Zu einem bestimmten Zeitpunkt wiederherstellen

    Um Ihre SAP HANA-Datenbank wiederherzustellen, indem Sie sie zu einem bestimmten Zeitpunkt wiederherstellen, führen Sie folgende Schritte aus:

    1. Prüfen Sie, ob Sie eine Sicherung für das Volume /hana/log in Cloud Storage mithilfe des Backint-Features des Google Cloud-Agents für SAP erstellt haben. Weitere Informationen zu diesem Feature finden Sie unter Backint-basierte Sicherung und Wiederherstellung für SAP HANA.
    2. Wechseln Sie zum Nutzer SIDadm:
      su - SID_LCadm

      Ersetzen Sie SID_LC durch die SID Ihres SAP HANA-Systems. Verwenden Sie Kleinbuchstaben für Buchstaben.

    3. Stellen Sie die Systemdatenbank mit dem folgenden Befehl wieder her:
      HDBSettings.sh recoverSys.py --command "RECOVER DATABASE UNTIL TIMESTAMP 'YYYY-MM-DD HH:MM:SS' CLEAR LOG USING SNAPSHOT"
    4. Stellen Sie eine Verbindung zur Systemdatenbank her. Sie können beispielsweise den folgenden Befehl ausführen:
      hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER

      Ersetzen Sie Folgendes:

      • SYSTEM_DB_PASSWORD: das Passwort für die Systemdatenbank
      • INSTANCE_NUMBER: Ihre SAP HANA-Instanznummer
    5. Stellen Sie die Mandantendatenbanken wieder her, indem Sie den folgenden Befehl für jede Mandantendatenbank ausführen:
      RECOVER DATABASE FOR TENANT_SID UNTIL TIMESTAMP '2099-12-31 12:00:00' CLEAR LOG USING SNAPSHOT

      Ersetzen Sie TENANT_SID durch die SID der Mandantendatenbank.

  6. Aktivieren Sie auf der primären Instanz die SAP HANA-Systemreplikation:

    hdbnsutil -sr_enable --name=PRIMARY_SITE_NAME
  7. Registrieren Sie die Standby-Instanz bei der primären Instanz:

    hdbnsutil -sr_register
       --name=SECONDARY_SITE_NAME
       --remoteHost=PRIMARY_HOST_NAME
       --remoteInstance=INSTANCE_NUMBER
       --replicationMode=sync
       --operationMode=logreplay
  8. Prüfen Sie, ob die Datenbank in der Standby-Instanz vollständig mit der Datenbank in der primären Instanz synchronisiert ist.

Systemkopie oder Systemaktualisierung ausführen

Führen Sie die folgenden Schritte aus, um eine Laufwerk-Snapshot-basierte Sicherung eines SAP HANA-Systems zu verwenden, um die Wiederherstellung in einem anderen SAP HANA-System auszuführen:

  1. Erstellen Sie im Quellsystem eine Snapshot-basierte Sicherung, indem Sie den Befehl hanadiskbackup des Agents ausführen. Eine Anleitung finden Sie unter Laufwerk-Snapshot-basierte Sicherung erstellen.
  2. Wenn sich die SIDs des Quell- und Zielsystems unterscheiden, benennen Sie das Verzeichnis /hana/data/SID im Quellsystem so um, dass es mit dem Zielsystem übereinstimmt:

    mv /hana/data/SOURCE_SID /hana/data/TARGET_SID

    Ersetzen Sie Folgendes:

    • SOURCE_SID: die SID des SAP HANA-Quellsystems
    • TARGET_SID: die SID des gewünschten SAP HANA-Quellsystems
  3. Stellen Sie im Zielsystem das Laufwerk wieder her, das das Volume /hana/data hostet. Führen Sie dazu den Befehl hanadiskrestore des Agents aus.

  4. Stellen Sie im Zielsystem die Systemdatenbank wieder her:

    HDBSettings.sh recoverSys.py --command "RECOVER DATABASE UNTIL TIMESTAMP '2099-12-31 12:00:00' CLEAR LOG USING SOURCE 'SYSTEMDB@SOURCE_SID' USING CATALOG BACKINT USING SNAPSHOT"
  5. Wenn Ihre Mandantendatenbank die SID des Quellsystems haben soll, können Sie sie umbenennen. Folgen Sie dazu der Anleitung im SAP HANA-Dokument Mandantendatenbank umbenennen.

  6. Stellen Sie im Zielsystem eine Verbindung zur Systemdatenbank her. Sie können beispielsweise den folgenden Befehl ausführen:

    hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER

    Ersetzen Sie Folgendes:

    • SYSTEM_DB_PASSWORD: das Passwort für die Systemdatenbank
    • INSTANCE_NUMBER: Ihre SAP HANA-Instanznummer
  7. Stellen Sie im Zielsystem die Mandantendatenbanken wieder her, indem Sie für jede Mandantendatenbank den folgenden Befehl ausführen:

    RECOVER DATABASE FOR TARGET_SID UNTIL TIMESTAMP '2023-12-08 23:59:00' CLEAR LOG USING SOURCE 'TARGET_SID@SOURCE_SID' USING CATALOG BACKINT USING SNAPSHOT

Snapshot-Konsistenz prüfen

In diesem Abschnitt wird beschrieben, wie Sie die Konsistenz der Daten in Ihrem Laufwerk-Snapshot mit dem hdbpersdiag-Tool von SAP prüfen können. Informationen zu anderen Best Practices, die von Google Cloud für Laufwerk-Snapshot-basierte Sicherungs- und Wiederherstellungsvorgänge empfohlen werden, finden Sie unter Best Practices.

Führen Sie folgende Schritte aus, um die Konsistenz eines Snapshots zu prüfen:

  1. Erstellen Sie ein Laufwerk aus einem Snapshot, den Sie mit dem Befehl hanadiskbackup des Agents erstellt haben. Führen Sie den Befehl gcloud compute disks create aus:

    gcloud compute disks create DISK_NAME \
       --size=SIZE \
       --source-snapshot=SNAPSHOT_NAME \
       --type=DISK_TYPE \
       --zone=ZONE
    

    Ersetzen Sie Folgendes:

    • DISK_NAME: der Name des temporären Laufwerks
    • SIZE: die Größe des temporären Laufwerks
    • SNAPSHOT_NAME: der Name des Quell-Snapshots
    • DISK_TYPE: der Laufwerkstyp für das temporäre Laufwerk
    • ZONE: die Compute Engine-Zone, in der Sie das temporäre Laufwerk bereitstellen möchten
  2. Hängen Sie das Laufwerk an eine andere VM als Ihren SAP HANA-Host an. Führen Sie den Befehl gcloud compute instances attach-disk aus:

    gcloud compute instances attach-disk VM_INSTANCE_NAME \
       --disk=DISK_NAME \
       --zone=ZONE
    

    Ersetzen Sie Folgendes:

    • VM_INSTANCE_NAME: der Name der VM, auf der Sie das von Ihnen erstellte Laufwerk bereitstellen möchten
    • DISK_NAME: der Name des Laufwerks, das Sie erstellt haben
    • ZONE: die Compute Engine-Zone, in der die VM bereitgestellt ist
  3. Stellen Sie mit Ihrer bevorzugten SSH-Methode eine Verbindung zu Ihrer VM her.

  4. Stellen Sie das neue Laufwerk als temporäres Dateisystem bereit:

    1. Suchen Sie auf Betriebssystemebene die Volume-Gruppe, die kein aktives logisches Volume hat:

      vgdisplay
      

      Die Ausgabe sieht etwa so aus wie im folgenden Beispiel.

      --- Volume group ---
      VG Name               vg_hana_data
      System ID
      Format                lvm2
      Metadata Areas        1
      Metadata Sequence No  2
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                1
      Open LV               0
      Max PV                0
      Cur PV                1
      Act PV                1
      VG Size               250.00 GiB
      PE Size               4.00 MiB
      Total PE              63999
      Alloc PE / Size       63999 / 250.00 GiB
      Free  PE / Size       0 / 0
      VG UUID               Fa52zl-AROR-LH2k-aG4z-LbrB-cvTz-TZhEfR
    2. Benennen Sie die Volume-Gruppe mit der VG-UUID um. Im vorherigen Beispiel ist dies Fa52zl-AROR-LH2k-aG4z-LbrB-cvTz-TZhEfR.

      vgrename Fa52zl-AROR-LH2k-aG4z-LbrB-cvTz-TZhEfR vg_hana_data_temp
      
    3. Aktivieren Sie die Volume-Gruppe und das logische Volume:

      vgchange -a y vg_hana_data_temp
      lvchange -a y /dev/vg_hana_data_temp/data
      
    4. Stellen Sie das logische Volume in einem temporären Dateisystem bereit, z. B. /hana/data_temp:

      mkdir /hana/data_temp
      mount /dev/vg_hana_data_temp/data /hana/data_temp
      
    5. Prüfen Sie, ob alle Laufwerke ordnungsgemäß bereitgestellt wurden:

      lsblk
      

      Die Ausgabe sieht etwa so aus wie im folgenden Beispiel.

      NAME                     MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
      sda                        8:0    0   30G  0 disk
      ├─sda1                     8:1    0    2M  0 part
      ├─sda2                     8:2    0   20M  0 part /boot/efi
      └─sda3                     8:3    0   30G  0 part /
      sdb                        8:16   0  350G  0 disk
      └─vg_hana_data_temp-data 254:5    0  250G  0 lvm  /hana/data_temp
      sdc                        8:32   0  104G  0 disk
      └─vg_hana_log-log        254:2    0  104G  0 lvm  /hana/log
      sdd                        8:48   0  208G  0 disk
      └─vg_hana_shared-shared  254:0    0  208G  0 lvm  /hana/shared
      sde                        8:64   0   32G  0 disk
      └─vg_hana_usrsap-usrsap  254:3    0   32G  0 lvm  /usr/sap
      sdf                        8:80   0  416G  0 disk
      └─vg_hanabackup-backup   254:4    0  416G  0 lvm  /hanabackup
      sdh                        8:112  0  250G  0 disk
      └─vg_hana_data-data      254:1    0  250G  0 lvm  /hana/data
  5. Führen Sie als SIDadm-Nutzer das hdbpersdiag-Tool für die Datenvolumen aus, die im temporären Dateisystem enthalten sind:

    for directory in $(find /hana/data_temp/SID/mnt00001/hdb* -type d); do hdbpersdiag -c -e 'check all' $directory; done
    
  6. Prüfen Sie die Ausgabe des hdbpersdiag-Tools.

  7. Wenn Sie diese Konsistenzprüfung in Zukunft durchführen möchten, können Sie die neue Volume-Gruppe unverändert lassen. Falls nicht, löschen Sie sie.

  8. Den Speicher von der VM trennen Führen Sie den Befehl gcloud compute instances detach-disk aus:

    VM_INSTANCE_NAME \
       --disk=DISK_NAME \
       --zone=ZONE
    
  9. Löschen Sie das Laufwerk. Führen Sie den Befehl gcloud compute disks delete aus:

    gcloud compute disks delete DISK_NAME \
       --zone=ZONE
    

Fehlerbehebung

Der Google Cloud-Agent für SAP wurde entwickelt, um die meisten Probleme zu beheben, die bei Laufwerk-Snapshot-basierten Sicherungs- und Wiederherstellungsvorgängen für SAP HANA auftreten können. Es gibt jedoch einige Szenarien, in denen ein manuelles Eingreifen erforderlich ist.

Informationen zur Behebung eines Problems mit dem Laufwerk-Snapshot-Feature des Google Cloud-Agents für SAP finden Sie unter Problem mit einem Laufwerk-Snapshot-basierten Sicherungs- oder Wiederherstellungsvorgang.

Support kontaktieren

Wenn Sie Hilfe bei der Behebung eines Problems mit dem Google Cloud-Agent für SAP benötigen, erfassen Sie die erforderlichen Diagnoseinformationen und wenden Sie sich an Cloud Customer Care. Weitere Informationen finden Sie unter Diagnoseinformationen zum Google Cloud-Agent für SAP für SAP HANA.