Questa guida mostra come eseguire operazioni di backup e ripristino per SAP HANA utilizzando la funzionalità disk snapshot dell'Agente per SAP di Google Cloud.
Per informazioni su questa funzionalità, consulta Backup e ripristino basati su snapshot di disco per SAP HANA.
Prima di iniziare
- Convalida l'installazione dell'agente di Google Cloud per SAP. Per le istruzioni, consulta Installare e configurare l'agente di Google Cloud per SAP su un'istanza VM di Compute Engine.
- Verifica che il deployment del sistema SAP HANA sia stato eseguito su un'istanza VM di Compute Engine come segue:
- Non viene eseguito il deployment in un'architettura con scale out. Per ulteriori informazioni, consulta Utilizzo degli snapshot con deployment a scalabilità orizzontale.
- Utilizza un sistema operativo (OS) certificato SAP. Per ulteriori informazioni, consulta Supporto dei sistemi operativi per SAP HANA su Google Cloud
- Il volume
/hana/data
è ospitato in modo indipendente su un Persistent Disk o un volume Hyperdisk basato su SSD senza striping. Questo disco non deve ospitare altri volumi SAP HANA. Come descritto nella nota SAP 2039883 - FAQ: database SAP HANA e snapshot dei dati (snapshot di archiviazione), per poter recuperare il database SAP HANA, lo snapshot di archiviazione non deve includere l'area di log del database. - Il volume
/hana/data
è mappato a un volume logico. Ciò consente all'agente di gestire correttamente il punto di montaggio durante le operazioni di backup o ripristino basate su snapshot del disco. - Il deployment dell'infrastruttura sottostante non viene eseguito utilizzando strumenti IaC (Infrastructure as Code) come Terraform. Per maggiori informazioni, consulta Utilizzo degli snapshot con i deployment basati su strumenti IaC.
Imposta autorizzazioni
Per utilizzare l'agente di Google Cloud per SAP per eseguire il backup e il ripristino basati su snapshot dei dischi per il tuo sistema SAP HANA, devi impostare le seguenti autorizzazioni:
- Per creare snapshot di dischi, abilita le seguenti autorizzazioni IAM:
- Per il progetto Google Cloud in cui viene eseguito il sistema SAP HANA, abilita
l'autorizzazione
compute.snapshots.create
. - Per l'account di servizio utilizzato dall'istanza VM di Compute Engine, abilita le seguenti autorizzazioni:
compute.disks.createSnapshot
,compute.snapshot.list
ecompute.disk.list
.
- Per il progetto Google Cloud in cui viene eseguito il sistema SAP HANA, abilita
l'autorizzazione
- Per creare backup basati su snapshot del disco, l'utente del database SAP HANA utilizzato dall'agente deve avere il privilegio
BACKUP OPERATOR
oBACKUP ADMIN
. Per ulteriori informazioni, vedi il documento SAP Autorizzazioni richieste per il backup e il ripristino Per eseguire le operazioni di backup e ripristino, l'utente del sistema operativo che esegue i comandi dell'agente deve essere l'utente
root
o avere accessosudo
per eseguire i comandi seguenti. Puoi anche fornire l'accessosudo
creando un gruppo nella directory/etc/sudoers.d
, ad esempio:%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
Crea un backup basato su snapshot del disco
-
Per creare un backup basato su snapshot del disco per il volume
/hana/data
del tuo database SAP HANA, esegui il comandohanadiskbackup
dell'agente di Google Cloud per SAP: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]
Sostituisci quanto segue:
DESTINATION_PROJECT_ID
: l'ID del progetto Google Cloud in cui vuoi creare lo snapshot del discoHANA_HOST_ADDRESS
: il nome host o l'indirizzo IP dell'istanza VM di Compute Engine che ospita il tuo database SAP HANAIn un sistema ad alta disponibilità (HA), specifica il nome host o l'indirizzo IP dell'host locale nel nodo SAP HANA principale. Non usare l'IP virtuale (VIP) utilizzato nel cluster per identificare il nodo primario. In un deployment di ripristino di emergenza (RE), specifica il nome host o l'indirizzo IP dell'host locale nell'istanza SAP HANA principale.
HANA_PORT_NUMBER
: la porta SAP HANA che accetta le richieste di backup e recuperoSID
: l'identificatore di sistema SAP (SID) del tuo sistema SAP HANAHANA_USERNAME
: il nome utente del database SAP HANA con cui vuoi creare il backupHANA_USER_PWD_SECRET_NAME
: se utilizzi Secret Manager per archiviare la password dell'utente del database SAP HANA, specifica il nome del secret corrispondenteHDB_USERSTORE_KEY
: se hai creato una chiavehdbuserstore
per autenticare l'utente SAP HANA specificato, specificalaSOURCE_DISK_NAME
: il nome del volume Persistent Disk o Hyperdisk che ospita il volume/hana/data
SOURCE_DISK_ZONE
: il nome della zona in cui viene eseguito il deployment del disco che ospita il volume/hana/data
La seguente tabella descrive gli argomenti supportati dal comando
hanadiskbackup
:Argomento Descrizione -port
Specifica la porta SAP HANA che accetta le richieste di backup e recupero. -sid
Specifica l'identificatore di sistema SAP (SID) del tuo sistema SAP HANA. -hana-db-user
Specifica il nome utente del database SAP HANA utilizzando il quale vuoi creare il backup. -password
Specifica la password dell'utente del database SAP HANA che utilizzi per creare il backup.
Non specificare questo argomento se utilizzi l'argomento
-password-secret
o-hdbuserstore-key
. Ti consigliamo di utilizzare una di queste opzioni anziché utilizzare-password
.-password-secret
Facoltativo. Se utilizzi Secret Manager per archiviare la password dell'utente del database SAP HANA, specifica il nome del secret corrispondente.
In Secret Manager, assicurati che il valore del secret, ovvero la password, contenga almeno 8 caratteri e che includa almeno una lettera maiuscola, una lettera minuscola e un numero.
Non specificare questo argomento se utilizzi l'argomento
-password
.-hdbuserstore-key
Per autenticare l'utente SAP HANA specificato per
-hana-db-user
, specifica una chiavehdbuserstore
che hai creato per l'utente.Per utilizzare una chiave
hdbuserstore
per l'autenticazione, assicurati di soddisfare le seguenti condizioni:- Gli strumenti SAP
hdbsql
ehdduserstore
sono installati sull'istanza di computing che ospita l'agente. - La chiave
hdbuserstore
corrisponde a un'istanza SAP HANA specifica. Non puoi utilizzare chiavi che contengono nomi host di più istanze SAP HANA.
Se specifichi
-hdbuserstore-key
, puoi saltare gli argomenti-host
e-port
.-host
Facoltativo. Specifica l'indirizzo IP dell'istanza VM di Compute Engine che ospita il tuo sistema SAP HANA. Il valore predefinito è localhost
.-project
Facoltativo. Specifica l'ID del progetto Google Cloud in cui vuoi creare lo snapshot del disco. Per impostazione predefinita, lo snapshot viene creato nel progetto Google Cloud in cui è in esecuzione il sistema SAP HANA. -abandon-prepared
Facoltativo. Specifica se ignorare gli snapshot del disco esistenti o meno. Il valore predefinito è false
.-snapshot-name
Facoltativo. Specifica il nome per lo snapshot del disco che stai creando.
Per impostazione predefinita, lo snapshot ha il nome seguente:
snapshot-SOURCE_DISK_NAME-YYYYMMDD-HHMMSS
.-source-disk
Specifica il nome del volume Persistent Disk o Hyperdisk che ospita il tuo volume /hana/data
.-source-disk-zone
Specifica la zona in cui si trova il disco che ospita il volume /hana/data
.-source-disk-key-file
Facoltativo. Se il disco che ospita il volume /hana/data
è criptato da una chiave di crittografia fornita dal cliente con wrapping RSA, specifica il percorso assoluto del file JSON di quella chiave.Questo argomento è supportato dalla versione 3.2 dell'agente.
-storage-location
Facoltativo. Specifica la regione multiregionale di Cloud Storage o la regione di Cloud Storage in cui vuoi archiviare lo snapshot del disco. -snapshot-description
Facoltativo. Specifica una descrizione per lo snapshot del disco. -labels
Facoltativo. Specifica una o più coppie etichetta-valore da associare allo snapshot del disco che stai creando. Ad esempio: -labels="label1=value1,label2=value2"
.-send-metrics-to-monitoring
Facoltativo. Specifica se lo stato di esecuzione della creazione dello snapshot viene inviato a Cloud Monitoring. Il valore predefinito è TRUE
.-loglevel
Facoltativo. Specifica il livello di logging per l'operazione di creazione dello snapshot. Il livello di logging predefinito è info
. I livelli di log disponibili sono:debug
,info
,warn
eerror
.
Verifica lo snapshot del disco
Puoi verificare che lo snapshot del disco venga creato utilizzando le seguenti opzioni:
Nella console Google Cloud, vai alla pagina Snapshot di Compute Engine, quindi filtra le voci utilizzando il nome del disco o dello snapshot.
In alternativa, puoi visualizzare i dettagli dello snapshot del disco nel seguente file di log dell'agente Google Cloud per SAP:
/var/log/google-cloud-sap-agent/hanadiskbackup.log
Esamina il catalogo di backup di SAP HANA
Oltre a creare lo snapshot del disco, il comando hanadiskbackup
crea una voce per lo snapshot nel catalogo di backup SAP HANA. Di seguito è riportata una query SQL di esempio per visualizzare le voci dello snapshot del disco nel catalogo di backup di SAP HANA:
SELECT BACKUP_ID, STATE_NAME, COMMENT FROM M_BACKUP_CATALOG WHERE ENTRY_TYPE_NAME = 'data snapshot'
L'output è simile all'esempio seguente:
BACKUP_ID,STATE_NAME,COMMENT BACKUP_ID,"successful","snapshot-SOURCE_DISK_NAME-YYYYMMDD-HHMMMSS"
Questo output include i seguenti valori:
BACKUP_ID
: l'ID backup assegnato allo snapshot del disco nel catalogo di backup SAP HANASOURCE_DISK_NAME
: il nome del disco che ospita il tuo volume/hana/data
, per il quale hai creato uno snapshotYYYYMMDD-HHMMMSS
: la data e l'ora di creazione dello snapshot
Esegui il ripristino utilizzando uno snapshot del disco
Per eseguire il ripristino basato su snapshot del disco utilizzando l'agente Google Cloud per SAP, consulta le istruzioni per il tuo scenario:
- Recupera il database per un sistema di scale up
- Recupera il database per un sistema ad alta disponibilità con scale up
- Recupera il database per un deployment di RE con scale up
- Eseguire una copia del sistema o un aggiornamento del sistema
Recupera il database per un sistema di scale up
Per ripristinare il database per un sistema di scale up SAP HANA di cui è stato eseguito il deployment su Google Cloud, completa i seguenti passaggi:
Recupera il disco che ospita il volume
/hana/data
eseguendo il comandohanadiskrestore
dell'agente: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
Sostituisci quanto segue:
SOURCE_PROJECT_ID
: l'ID del progetto Google Cloud in cui si trova lo snapshot del discoSID
: l'identificatore di sistema SAP (SID) del tuo sistema SAP HANASOURCE_SNAPSHOT_NAME
: il nome dello snapshot del disco con cui stai creando il nuovo discoSOURCE_DISK_NAME
: il nome del disco di origine che ospita il tuo volume/hana/data
SOURCE_DISK_ZONE
: il nome della zona in cui viene eseguito il deployment del disco di origine
Per informazioni sugli argomenti che puoi utilizzare con il comando
hanadiskrestore
, consulta Argomenti supportati per il ripristino del disco.Recupera il tuo database SAP HANA utilizzando l'opzione richiesta:
Ripristina ora snapshot
Per recuperare il database SAP HANA ripristinandolo al momento della creazione dello snapshot del disco, segui questi passaggi:
- Passa all'utente
SIDadm
:su - SID_LCadm
Sostituisci
SID_LC
con il SID del tuo sistema SAP HANA. Utilizza il minuscolo per tutte le lettere. - Recupera il database di sistema eseguendo questo comando:
HDBSettings.sh recoverSys.py --command="RECOVER DATA USING SNAPSHOT CLEAR LOG;"
- Connettiti al database di sistema. Ad esempio, puoi eseguire questo comando:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Sostituisci quanto segue:
SYSTEM_DB_PASSWORD
: password del database di sistemaINSTANCE_NUMBER
: numero di istanza SAP HANA
- Recupera i database tenant eseguendo questo comando per
ciascun database tenant:
RECOVER DATA FOR TENANT_SID USING SNAPSHOT CLEAR LOG
Sostituisci
TENANT_SID
con il SID del database tenant.
Ripristina a un momento specifico
Per recuperare il database SAP HANA ripristinandolo in un momento specifico, segui questi passaggi:
- Verifica di aver creato un backup per il volume
/hana/log
in Cloud Storage utilizzando la funzionalità Backint dell'agente Google Cloud per SAP. Per maggiori informazioni su questa funzionalità, consulta Backup e ripristino basati su Backint per SAP HANA. - Passa all'utente
SIDadm
:su - SID_LCadm
Sostituisci
SID_LC
con il SID del tuo sistema SAP HANA. Utilizza il minuscolo per tutte le lettere. - Recupera il database di sistema eseguendo questo comando:
HDBSettings.sh recoverSys.py --command "RECOVER DATABASE UNTIL TIMESTAMP 'YYYY-MM-DD HH:MM:SS' CLEAR LOG USING SNAPSHOT"
- Connettiti al database di sistema. Ad esempio, puoi eseguire questo
comando:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Sostituisci quanto segue:
SYSTEM_DB_PASSWORD
: password del database di sistemaINSTANCE_NUMBER
: numero di istanza SAP HANA
- Recupera i database tenant eseguendo questo comando per ciascun database:
RECOVER DATABASE FOR TENANT_SID UNTIL TIMESTAMP '2099-12-31 12:00:00' CLEAR LOG USING SNAPSHOT
Sostituisci
TENANT_SID
con il SID del database tenant.
- Passa all'utente
Argomenti supportati per il ripristino del disco
La seguente tabella descrive gli argomenti supportati dal comando hanadiskrestore
dell'agente:
Argomento | Descrizione |
---|---|
-sid |
Specifica l'identificatore di sistema SAP (SID) del tuo sistema SAP HANA. |
-data-disk-name |
Specifica il nome del disco di origine che ospita il volume /hana/data . |
-data-disk-zone |
Specifica la zona in cui viene eseguito il deployment del disco di origine che ospita il volume /hana/data . |
-source-snapshot |
Specifica il nome dello snapshot del disco utilizzando il quale vuoi recuperare il disco che ospita il volume di dati SAP HANA. |
-new-disk-name |
Specifica il nome che vuoi impostare per il nuovo disco. |
-project |
Facoltativo. Specifica l'ID del progetto Google Cloud in cui esiste lo snapshot del disco di origine. Per impostazione predefinita, lo snapshot viene creato nel progetto Google Cloud in cui è in esecuzione il sistema SAP HANA. |
-csek-key-file |
Facoltativo. Se hai criptato lo snapshot del disco di origine utilizzando l'argomento -source-disk-key-file con il comando hanadiskbackup , specifica il percorso assoluto del file JSON della chiave di crittografia con wrapping RSA fornita dal cliente che corrisponde allo snapshot del disco di origine. Di seguito è riportato un esempio di file di chiave:
[ { "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" } ] Questo argomento è supportato dalla versione 3.2 dell'agente. |
-new-disk-type |
Facoltativo. Specifica il tipo di Persistent Disk o Hyperdisk che vuoi creare. Per impostazione predefinita, il nuovo disco è dello stesso tipo del disco di origine. Assicurati di specificare un tipo di disco basato su SSD certificato da SAP per l'utilizzo con SAP HANA. Per maggiori informazioni, consulta la sezione Tipi di disco supportati. |
-hana-sidadm |
Facoltativo. Specifica SIDadm , ovvero l'utente
del sistema operativo del tuo sistema SAP HANA. |
-force-stop-hana |
Facoltativo. Se vuoi arrestare forzatamente SAP HANA prima di avviare l'operazione di recupero, specifica questo argomento e imposta il suo valore su true . Il valore predefinito è false . |
-provisioned-iops |
Facoltativo. Se stai creando un volume Hyperdisk, specifica il numero di IOPS (operazioni di I/O al secondo) che deve gestire. |
-provisioned-throughput |
Facoltativo. Se stai creando un volume Hyperdisk, specifica la velocità effettiva che deve supportare. |
-disk-size-gb |
Facoltativo. Specifica le dimensioni, in GB, del nuovo disco. Per impostazione predefinita, il nuovo disco ha le stesse dimensioni del disco esistente. Le dimensioni del nuovo disco non devono essere inferiori a quelle del disco esistente. |
-loglevel |
Facoltativo. Specifica il livello di logging per tutte le azioni eseguite dal comando hanadiskrestore . Il livello di logging predefinito è info . I livelli di log disponibili sono:
debug , info , warn e
error . |
Recupera il database per un sistema ad alta disponibilità con scale up
Per recuperare il database per un sistema di scale up SAP HANA di cui è stato eseguito il deployment in un cluster ad alta disponibilità su Google Cloud, completa questi passaggi:
Verifica di avere uno snapshot del disco che ospita il volume
/hana/data
nel nodo SAP HANA principale.Come utente root, imposta il cluster ad alta disponibilità in modalità di manutenzione. Se utilizzi Pacemaker, esegui questo comando:
RHEL
pcs property set maintenance-mode=true
SLES
crm configure property maintenance-mode=true
Arresta le tue istanze del database SAP HANA eseguendo questo comando sul nodo primario e in standby del cluster ad alta disponibilità:
HDB stop
Passa al nodo primario del tuo sistema ad alta disponibilità SAP HANA.
Recupera il disco che ospita il volume
/hana/data
eseguendo il comandohanadiskrestore
dell'agente: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
Sostituisci quanto segue:
SOURCE_PROJECT_ID
: l'ID del progetto Google Cloud in cui si trova lo snapshot del discoSID
: l'identificatore di sistema SAP (SID) del tuo sistema SAP HANASOURCE_SNAPSHOT_NAME
: il nome dello snapshot del disco con cui stai creando il nuovo discoSOURCE_DISK_NAME
: il nome del disco di origine che ospita il tuo volume/hana/data
SOURCE_DISK_ZONE
: il nome della zona in cui viene eseguito il deployment del disco di origine
Per informazioni sugli argomenti che puoi utilizzare con il comando
hanadiskrestore
, consulta Argomenti supportati per il ripristino del disco.Annulla la registrazione del nodo secondario del tuo sistema ad alta disponibilità SAP HANA:
hdbnsutil -sr_unregister
Sul nodo primario del tuo sistema ad alta disponibilità SAP HANA, disabilita la replica del sistema SAP HANA:
hdbnsutil -sr_disable
Sul nodo primario, recupera il database SAP HANA utilizzando l'opzione richiesta:
Ripristina ora snapshot
Per recuperare il database SAP HANA ripristinandolo al momento della creazione dello snapshot del disco, segui questi passaggi:
- Passa all'utente
SIDadm
:su - SID_LCadm
Sostituisci
SID_LC
con il SID del tuo sistema SAP HANA. Utilizza il minuscolo per tutte le lettere. - Recupera il database di sistema eseguendo questo comando:
HDBSettings.sh recoverSys.py --command="RECOVER DATA USING SNAPSHOT CLEAR LOG;"
- Connettiti al database di sistema. Ad esempio, puoi eseguire questo comando:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Sostituisci quanto segue:
SYSTEM_DB_PASSWORD
: password del database di sistemaINSTANCE_NUMBER
: numero di istanza SAP HANA
- Recupera i database tenant eseguendo questo comando per
ciascun database tenant:
RECOVER DATA FOR TENANT_SID USING SNAPSHOT CLEAR LOG
Sostituisci
TENANT_SID
con il SID del database tenant.
Ripristina a un momento specifico
Per recuperare il database SAP HANA ripristinandolo in un momento specifico, segui questi passaggi:
- Verifica di aver creato un backup per il volume
/hana/log
in Cloud Storage utilizzando la funzionalità Backint dell'agente Google Cloud per SAP. Per maggiori informazioni su questa funzionalità, consulta Backup e ripristino basati su Backint per SAP HANA. - Passa all'utente
SIDadm
:su - SID_LCadm
Sostituisci
SID_LC
con il SID del tuo sistema SAP HANA. Utilizza il minuscolo per tutte le lettere. - Recupera il database di sistema eseguendo questo comando:
HDBSettings.sh recoverSys.py --command "RECOVER DATABASE UNTIL TIMESTAMP 'YYYY-MM-DD HH:MM:SS' CLEAR LOG USING SNAPSHOT"
- Connettiti al database di sistema. Ad esempio, puoi eseguire questo
comando:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Sostituisci quanto segue:
SYSTEM_DB_PASSWORD
: password del database di sistemaINSTANCE_NUMBER
: numero di istanza SAP HANA
- Recupera i database tenant eseguendo questo comando per ciascun database:
RECOVER DATABASE FOR TENANT_SID UNTIL TIMESTAMP '2099-12-31 12:00:00' CLEAR LOG USING SNAPSHOT
Sostituisci
TENANT_SID
con il SID del database tenant.
- Passa all'utente
Sul nodo primario, abilita la replica del sistema SAP HANA:
hdbnsutil -sr_enable --name=PRIMARY_SITE_NAME
Registra di nuovo il nodo in standby con il nodo primario:
hdbnsutil -sr_register --name=SECONDARY_SITE_NAME --remoteHost=PRIMARY_HOST_NAME --remoteInstance=INSTANCE_NUMBER --replicationMode=sync --operationMode=logreplay
Verifica che il database nel nodo in standby sia completamente sincronizzato con il database nel nodo primario.
In qualità di utente root, esci dalla modalità di manutenzione del cluster ad alta disponibilità. Se utilizzi Pacemaker, esegui questo comando:
RHEL
pcs property set maintenance-mode=false
SLES
crm configure property maintenance-mode=false
Recupera il database per un deployment di RE di scale up
Per recuperare il database per un sistema di scale up SAP HANA il cui deployment viene eseguito con una soluzione di ripristino di emergenza su Google Cloud, completa i seguenti passaggi:
Arresta i tuoi database SAP HANA eseguendo questo comando su entrambe le istanze principali e in standby del deployment di RE:
HDB stop
Passa all'istanza principale del tuo deployment SAP HANA DR.
Recupera il disco che ospita il volume
/hana/data
eseguendo il comandohanadiskrestore
dell'agente: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
Sostituisci quanto segue:
SOURCE_PROJECT_ID
: l'ID del progetto Google Cloud in cui si trova lo snapshot del discoSID
: l'identificatore di sistema SAP (SID) del tuo sistema SAP HANASOURCE_SNAPSHOT_NAME
: il nome dello snapshot del disco con cui stai creando il nuovo discoSOURCE_DISK_NAME
: il nome del disco di origine che ospita il tuo volume/hana/data
SOURCE_DISK_ZONE
: il nome della zona in cui viene eseguito il deployment del disco di origine
Per informazioni sugli argomenti che puoi utilizzare con il comando
hanadiskrestore
, consulta Argomenti supportati per il ripristino del disco.Nell'istanza principale, disabilita la replica del sistema SAP HANA:
hdbnsutil -sr_disable
Nell'istanza principale, recupera il database SAP HANA utilizzando l'opzione richiesta:
Ripristina ora snapshot
Per recuperare il database SAP HANA ripristinandolo al momento della creazione dello snapshot del disco, segui questi passaggi:
- Passa all'utente
SIDadm
:su - SID_LCadm
Sostituisci
SID_LC
con il SID del tuo sistema SAP HANA. Utilizza il minuscolo per tutte le lettere. - Recupera il database di sistema eseguendo questo comando:
HDBSettings.sh recoverSys.py --command="RECOVER DATA USING SNAPSHOT CLEAR LOG;"
- Connettiti al database di sistema. Ad esempio, puoi eseguire questo comando:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Sostituisci quanto segue:
SYSTEM_DB_PASSWORD
: password del database di sistemaINSTANCE_NUMBER
: numero di istanza SAP HANA
- Recupera i database tenant eseguendo questo comando per
ciascun database tenant:
RECOVER DATA FOR TENANT_SID USING SNAPSHOT CLEAR LOG
Sostituisci
TENANT_SID
con il SID del database tenant.
Ripristina a un momento specifico
Per recuperare il database SAP HANA ripristinandolo in un momento specifico, segui questi passaggi:
- Verifica di aver creato un backup per il volume
/hana/log
in Cloud Storage utilizzando la funzionalità Backint dell'agente Google Cloud per SAP. Per maggiori informazioni su questa funzionalità, consulta Backup e ripristino basati su Backint per SAP HANA. - Passa all'utente
SIDadm
:su - SID_LCadm
Sostituisci
SID_LC
con il SID del tuo sistema SAP HANA. Utilizza il minuscolo per tutte le lettere. - Recupera il database di sistema eseguendo questo comando:
HDBSettings.sh recoverSys.py --command "RECOVER DATABASE UNTIL TIMESTAMP 'YYYY-MM-DD HH:MM:SS' CLEAR LOG USING SNAPSHOT"
- Connettiti al database di sistema. Ad esempio, puoi eseguire questo
comando:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Sostituisci quanto segue:
SYSTEM_DB_PASSWORD
: password del database di sistemaINSTANCE_NUMBER
: numero di istanza SAP HANA
- Recupera i database tenant eseguendo questo comando per ciascun database:
RECOVER DATABASE FOR TENANT_SID UNTIL TIMESTAMP '2099-12-31 12:00:00' CLEAR LOG USING SNAPSHOT
Sostituisci
TENANT_SID
con il SID del database tenant.
- Passa all'utente
Nell'istanza principale, abilita la replica del sistema SAP HANA:
hdbnsutil -sr_enable --name=PRIMARY_SITE_NAME
Registra l'istanza in standby con l'istanza principale:
hdbnsutil -sr_register --name=SECONDARY_SITE_NAME --remoteHost=PRIMARY_HOST_NAME --remoteInstance=INSTANCE_NUMBER --replicationMode=sync --operationMode=logreplay
Verifica che il database nell'istanza in standby sia completamente sincronizzato con il database nell'istanza principale.
Esegui una copia del sistema o un aggiornamento del sistema
Per utilizzare un backup basato su snapshot del disco di un sistema SAP HANA per eseguire il ripristino in un altro sistema SAP HANA, completa i seguenti passaggi:
- Nel sistema di origine, crea un backup basato su snapshot eseguendo il comando
hanadiskbackup
dell'agente. Per le istruzioni, consulta Creare un backup basato su snapshot del disco. Se i SID dei sistemi di origine e di destinazione sono diversi, rinomina la directory
/hana/data/SID
nel sistema di origine in modo che corrisponda al sistema di destinazione:mv /hana/data/SOURCE_SID /hana/data/TARGET_SID
Sostituisci quanto segue:
SOURCE_SID
: il SID del sistema SAP HANA di origineTARGET_SID
: il SID del sistema SAP HANA di destinazione
Nel sistema di destinazione, recupera il disco che ospita il volume
/hana/data
eseguendo il comandohanadiskrestore
dell'agente.Nel sistema di destinazione, recupera il database di sistema:
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"
Se vuoi che il database tenant abbia il SID del sistema di origine, puoi rinominarlo seguendo le istruzioni nel documento SAP HANA Rinomina un database tenant.
Nel sistema di destinazione, connettiti al database di sistema. Ad esempio, puoi eseguire questo comando:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Sostituisci quanto segue:
SYSTEM_DB_PASSWORD
: password del database di sistemaINSTANCE_NUMBER
: il numero di istanza SAP HANA
Nel sistema di destinazione, recupera i database tenant eseguendo questo comando per ogni database tenant:
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
Convalida la coerenza dello snapshot
Questa sezione descrive come convalidare la coerenza dei dati nello snapshot del disco utilizzando lo strumento hdbpersdiag
di SAP. Per informazioni su altre best practice consigliate da Google Cloud per le operazioni di backup e ripristino basate su snapshot dei dischi, consulta le best practice.
Per convalidare la coerenza di uno snapshot, completa i seguenti passaggi:
Crea un disco da uno snapshot che hai creato utilizzando il comando
hanadiskbackup
dell'agente. Usa il comandogcloud compute disks create
:gcloud compute disks create DISK_NAME \ --size=SIZE \ --source-snapshot=SNAPSHOT_NAME \ --type=DISK_TYPE \ --zone=ZONE
Sostituisci quanto segue:
DISK_NAME
: il nome del disco temporaneoSIZE
: la dimensione del disco temporaneoSNAPSHOT_NAME
: il nome dello snapshot di origine.DISK_TYPE
: il tipo di disco per il disco temporaneoZONE
: la zona Compute Engine in cui vuoi eseguire il deployment del disco temporaneo
Collega il disco a una VM diversa dal tuo host SAP HANA. Usa il comando
gcloud compute instances attach-disk
:gcloud compute instances attach-disk VM_INSTANCE_NAME \ --disk=DISK_NAME \ --zone=ZONE
Sostituisci quanto segue:
VM_INSTANCE_NAME
: il nome della VM in cui vuoi eseguire il deployment del disco che hai creatoDISK_NAME
: il nome del disco che hai creatoZONE
: la zona Compute Engine in cui è stato eseguito il deployment della VM
Connettiti alla VM utilizzando il metodo SSH che preferisci.
Monta il nuovo disco come file system temporaneo:
A livello di sistema operativo, trova il gruppo di volumi privo di volumi logici attivi:
vgdisplay
L'output è simile all'esempio seguente:
--- 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
Rinomina il gruppo di volumi utilizzando l'UUID VG. Nell'esempio precedente è
Fa52zl-AROR-LH2k-aG4z-LbrB-cvTz-TZhEfR
.vgrename Fa52zl-AROR-LH2k-aG4z-LbrB-cvTz-TZhEfR vg_hana_data_temp
Attiva il gruppo di volumi e il volume logico:
vgchange -a y vg_hana_data_temp lvchange -a y /dev/vg_hana_data_temp/data
Monta il volume logico in un file system temporaneo, ad esempio
/hana/data_temp
:mkdir /hana/data_temp mount /dev/vg_hana_data_temp/data /hana/data_temp
Verifica che tutti i dischi siano montati correttamente:
lsblk
L'output è simile all'esempio seguente:
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
In qualità di utente
SIDadm
, esegui lo strumentohdbpersdiag
per i volumi di dati inclusi nel file system temporaneo:for directory in $(find /hana/data_temp/SID/mnt00001/hdb* -type d); do hdbpersdiag -c -e 'check all' $directory; done
Verifica l'output dallo strumento
hdbpersdiag
.Se prevedi di eseguire questo controllo di coerenza in futuro, puoi lasciare invariato il nuovo gruppo di volume. In caso contrario, eliminalo.
Scollega il disco dalla VM. Usa il comando
gcloud compute instances detach-disk
:VM_INSTANCE_NAME \ --disk=DISK_NAME \ --zone=ZONE
Elimina il disco. Usa il comando
gcloud compute disks delete
:gcloud compute disks delete DISK_NAME \ --zone=ZONE
Risoluzione dei problemi
Sebbene l'agente per SAP di Google Cloud sia progettato per gestire la maggior parte dei problemi che possono verificarsi durante le operazioni di backup e ripristino basate su snapshot del disco per SAP HANA, esistono alcuni scenari in cui è necessario un intervento manuale.
Per risolvere eventuali problemi relativi alla funzionalità di snapshot del disco dell'agente di Google Cloud per SAP, consulta Problema con un'operazione di backup o ripristino basata su snapshot del disco.
Richiedi assistenza
Se hai bisogno di aiuto per risolvere un problema con l'agente Google Cloud per SAP, raccogli le informazioni di diagnostica necessarie e contatta l'assistenza clienti Google Cloud. Per ulteriori informazioni, consulta le informazioni diagnostiche dell'Agente Google Cloud per SAP per SAP HANA.