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
- Prüfen Sie die Installation des Google Cloud-Agents für SAP. Eine Anleitung finden Sie unter Google Cloud Agent für SAP auf einer Compute Engine-VM-Instanz installieren und konfigurieren.
- Prüfen Sie so, ob Ihr SAP HANA-System auf einer Compute Engine-VM-Instanz bereitgestellt ist:
- Es ist nicht in einer Architektur mit horizontaler Skalierung bereitgestellt. Weitere Informationen finden Sie unter Snapshots mit Bereitstellungen mit horizontaler Skalierung verwenden.
- Dabei wird ein von SAP zertifiziertes Betriebssystem verwendet. Weitere Informationen finden Sie unter Betriebssystemunterstützung für SAP HANA in Google Cloud.
- Das Volume
/hana/data
ist unabhängig auf einem SSD-basierten Persistent Disk- oder Hyperdisk-Volume ohne Striping gehostet. Auf diesem Laufwerk darf kein anderes SAP HANA-Volume gehostet sein. Wie im SAP-Hinweis 2039883 – FAQ: SAP HANA-Datenbank- und -Daten-Snapshots (Speicher-Snapshots) beschrieben, darf der Speicher-Snapshot nicht den Logbereich der Datenbank enthalten, damit Sie Ihre SAP HANA-Datenbank wiederherstellen können. - Das Volume
/hana/data
ist einem logischen Volume zugeordnet. Dadurch kann der Agent den Bereitstellungspunkt während Laufwerk-Snapshot-basierten Sicherungs- oder Wiederherstellungsvorgängen richtig verarbeiten. - Die zugrunde liegende Infrastruktur ist nicht mit IaC-Tools (Infrastruktur als Code) wie Terraform bereitgestellt. Weitere Informationen finden Sie unter Snapshots mit IaC-Tool-basierten Bereitstellungen verwenden.
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
undcompute.disk.list
.
- Aktivieren Sie für das Google Cloud-Projekt, in dem Ihr SAP HANA-System ausgeführt wird, die Berechtigung
- Zum Erstellen von Laufwerk-Snapshot-basierten Sicherungen muss der vom Agent verwendete SAP HANA-Datenbanknutzer die Berechtigung
BACKUP OPERATOR
oderBACKUP 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 Berechtigungsudo
für die Ausführung der folgenden Befehle haben. Sie können auchsudo
-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öchtenHANA_HOST_ADDRESS
: der Hostname oder die IP-Adresse der Compute Engine-VM-Instanz, die Ihre SAP HANA-Datenbank hostetGeben 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 akzeptiertSID
: die SAP-System-ID (SID) Ihres SAP HANA-SystemsHANA_USERNAME
: der Nutzername der SAP HANA-Datenbank, mit dem Sie die Sicherung erstellen möchtenHANA_USER_PWD_SECRET_NAME
: Wenn Sie Secret Manager zum Speichern des Passworts des SAP HANA-Datenbanknutzers verwenden, geben Sie den entsprechenden Secret-Namen anHDB_USERSTORE_KEY
: Wenn Sie einenhdbuserstore
-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 istSOURCE_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 einenhdbuserstore
-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
undhdduserstore
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 sinddebug
,info
,warn
underror
.
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.
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 istSOURCE_DISK_NAME
: der Name des Laufwerks, das das Volume/hana/data
hostet, für das Sie einen Snapshot erstellt habenYYYYMMDD-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
- Datenbank für ein HA-System mit vertikaler Skalierung wiederherstellen
- Datenbank für eine DR-Bereitstellung mit vertikaler Skalierung wiederherstellen
- Systemkopie oder Systemaktualisierung ausführen
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:
Stellen Sie das Laufwerk wieder her, das das Volume
/hana/data
hostet, indem Sie den Befehlhanadiskrestore
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 istSID
: die SAP-System-ID (SID) Ihres SAP HANA-SystemsSOURCE_SNAPSHOT_NAME
: der Name des Laufwerk-Snapshots, mit dem Sie das neue Laufwerk erstellenSOURCE_DISK_NAME
: der Name des Quelllaufwerks, auf dem das Volume/hana/data
gehostet wirdSOURCE_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.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:
- 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. - Stellen Sie die Systemdatenbank mit dem folgenden Befehl wieder her:
HDBSettings.sh recoverSys.py --command="RECOVER DATA USING SNAPSHOT CLEAR LOG;"
- 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 SystemdatenbankINSTANCE_NUMBER
: Ihre SAP HANA-Instanznummer
- 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:
- 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. - 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. - 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"
- 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 SystemdatenbankINSTANCE_NUMBER
: Ihre SAP HANA-Instanznummer
- 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.
- Wechseln Sie zum Nutzer
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:
Prüfen Sie, ob Sie einen Snapshot des Laufwerks haben, das das Volume
/hana/data
im primären SAP HANA-Knoten hostet.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
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
Wechseln Sie zum primären Knoten Ihres SAP HANA-HA-Systems.
Stellen Sie das Laufwerk wieder her, das das Volume
/hana/data
hostet, indem Sie den Befehlhanadiskrestore
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 istSID
: die SAP-System-ID (SID) Ihres SAP HANA-SystemsSOURCE_SNAPSHOT_NAME
: der Name des Laufwerk-Snapshots, mit dem Sie das neue Laufwerk erstellenSOURCE_DISK_NAME
: der Name des Quelllaufwerks, auf dem das Volume/hana/data
gehostet wirdSOURCE_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.Heben Sie die Registrierung des sekundären Knotens Ihres SAP HANA-HA-Systems auf:
hdbnsutil -sr_unregister
Deaktivieren Sie auf dem primären Knoten Ihres SAP HANA-HA-Systems die SAP HANA-Systemreplikation:
hdbnsutil -sr_disable
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:
- 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. - Stellen Sie die Systemdatenbank mit dem folgenden Befehl wieder her:
HDBSettings.sh recoverSys.py --command="RECOVER DATA USING SNAPSHOT CLEAR LOG;"
- 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 SystemdatenbankINSTANCE_NUMBER
: Ihre SAP HANA-Instanznummer
- 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:
- 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. - 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. - 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"
- 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 SystemdatenbankINSTANCE_NUMBER
: Ihre SAP HANA-Instanznummer
- 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.
- Wechseln Sie zum Nutzer
Aktivieren Sie auf dem primären Knoten die SAP HANA-Systemreplikation:
hdbnsutil -sr_enable --name=PRIMARY_SITE_NAME
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
Prüfen Sie, ob die Datenbank im Standby-Knoten vollständig mit der Datenbank auf dem primären Knoten synchronisiert ist.
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:
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
Wechseln Sie zur primären Instanz Ihrer SAP HANA-DR-Bereitstellung.
Stellen Sie das Laufwerk wieder her, das das Volume
/hana/data
hostet, indem Sie den Befehlhanadiskrestore
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 istSID
: die SAP-System-ID (SID) Ihres SAP HANA-SystemsSOURCE_SNAPSHOT_NAME
: der Name des Laufwerk-Snapshots, mit dem Sie das neue Laufwerk erstellenSOURCE_DISK_NAME
: der Name des Quelllaufwerks, auf dem das Volume/hana/data
gehostet wirdSOURCE_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.Deaktivieren Sie auf der primären Instanz die SAP HANA-Systemreplikation:
hdbnsutil -sr_disable
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:
- 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. - Stellen Sie die Systemdatenbank mit dem folgenden Befehl wieder her:
HDBSettings.sh recoverSys.py --command="RECOVER DATA USING SNAPSHOT CLEAR LOG;"
- 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 SystemdatenbankINSTANCE_NUMBER
: Ihre SAP HANA-Instanznummer
- 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:
- 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. - 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. - 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"
- 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 SystemdatenbankINSTANCE_NUMBER
: Ihre SAP HANA-Instanznummer
- 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.
- Wechseln Sie zum Nutzer
Aktivieren Sie auf der primären Instanz die SAP HANA-Systemreplikation:
hdbnsutil -sr_enable --name=PRIMARY_SITE_NAME
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
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:
- 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. 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-QuellsystemsTARGET_SID
: die SID des gewünschten SAP HANA-Quellsystems
Stellen Sie im Zielsystem das Laufwerk wieder her, das das Volume
/hana/data
hostet. Führen Sie dazu den Befehlhanadiskrestore
des Agents aus.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"
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.
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 SystemdatenbankINSTANCE_NUMBER
: Ihre SAP HANA-Instanznummer
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:
Erstellen Sie ein Laufwerk aus einem Snapshot, den Sie mit dem Befehl
hanadiskbackup
des Agents erstellt haben. Führen Sie den Befehlgcloud 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 LaufwerksSIZE
: die Größe des temporären LaufwerksSNAPSHOT_NAME
: der Name des Quell-SnapshotsDISK_TYPE
: der Laufwerkstyp für das temporäre LaufwerkZONE
: die Compute Engine-Zone, in der Sie das temporäre Laufwerk bereitstellen möchten
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öchtenDISK_NAME
: der Name des Laufwerks, das Sie erstellt habenZONE
: die Compute Engine-Zone, in der die VM bereitgestellt ist
Stellen Sie mit Ihrer bevorzugten SSH-Methode eine Verbindung zu Ihrer VM her.
Stellen Sie das neue Laufwerk als temporäres Dateisystem bereit:
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
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
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
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
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
Führen Sie als
SIDadm
-Nutzer dashdbpersdiag
-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
Prüfen Sie die Ausgabe des
hdbpersdiag
-Tools.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.
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
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.