Questa guida mostra come eseguire il backup e il recupero del tuo database SAP HANA mediante la funzionalità Snapshot del disco dell'Agente per SAP di Google Cloud.
Per informazioni su questa funzione, vedi Backup e ripristino per SAP HANA tramite snapshot dei dischi.
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 in un'istanza VM Compute Engine.
Verifica che il deployment del sistema SAP HANA sia stato eseguito su Compute Engine Istanza VM come segue:
- Non viene implementato in un'architettura di scalabilità orizzontale. Per ulteriori informazioni, consulta Utilizzare gli snapshot con i deployment di 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 una o più unità basate su SSD volume Persistent Disk o Hyperdisk. Questi dischi non devono ospitare altri volumi SAP HANA. Come descritto nella Nota SAP 2039883 - Domande frequenti: database SAP HANA e snapshot dei dati (snapshot di archiviazione), per poter recuperare il database SAP HANA, lo snapshot dello spazio di archiviazione non deve includi l'area di log del database.
Se utilizzi più di un disco per ospitare il volume
/hana/data
, puoi utilizzare la funzionalità di snapshot del disco dell'agente solo se i dischi sottostanti sono volumi Hyperdisk.- Il volume
/hana/data
è mappato a un volume logico. Ciò consente di gestire correttamente il punto di montaggio durante il backup basato su snapshot del disco di ripristino dei dati di fabbrica. - L'infrastruttura di base non viene dispiattata utilizzando strumenti Infrastructure as Code (IaC) come Terraform. Per ulteriori informazioni, consulta Utilizzare gli snapshot con i deployment basati su strumenti IaC.
Imposta autorizzazioni
Per eseguire il backup e il recupero del tuo database SAP HANA utilizzando la funzionalità di snapshot del disco dell'agente Google Cloud per SAP, devi impostare le seguenti autorizzazioni:
- Per creare
snapshot dei dischi, concedi i seguenti ruoli o autorizzazioni IAM:
- Se il volume
/hana/data
è ospitato su un Persistent Disk o volume Hyperdisk, quindi concedi quanto segue:- 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 Compute Engine, attiva 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
- Se il volume
/hana/data
è ospitato su più di un disco, concedi le seguenti autorizzazioni:compute.disks.addResourcePolicies
compute.disks.removeResourcePolicies
compute.disks.get
compute.disks.create
compute.disks.use
compute.disks.useReadOnly
compute.globalOperations.get
compute.instances.get
compute.instances.attachDisk
compute.instances.detachDisk
compute.instantSnapshotGroups.create
compute.instantSnapshotGroups.delete
compute.instantSnapshotGroups.get
compute.instantSnapshots.list
compute.instantSnapshots.useReadOnly
compute.resourcePolicies.create
compute.resourcePolicies.use
compute.resourcePolicies.useReadOnly
compute.snapshots.create
compute.snapshots.get
compute.snapshots.list
compute.snapshots.setLabels
compute.snapshots.useReadOnly
compute.zoneOperations.get
- Se il volume
- Per creare backup basati su snapshot del disco, l'utente del database SAP HANA utilizzato
agente deve avere il privilegio
BACKUP OPERATOR
oBACKUP ADMIN
. Per ulteriori informazioni, consulta il documento SAP Autorizzazioni necessarie per il backup e il recupero Per eseguire il backup e il recupero del database SAP HANA, l'utente del sistema operativo che esegue i comandi dell'agente deve essere l'utente
root
o disporre dell'accessosudo
per eseguire i seguenti comandi. Puoi anche fornire l'accesso asudo
tramite 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 gruppo con coerenza del disco
Se il volume /hana/data
è ospitato su un disco, salta questa sezione.
Se il volume /hana/data
è ospitato su più di un disco, devi creare un gruppo con coerenza e aggiungere i dischi che ospitano il volume /hana/data
a questo gruppo. Devi creare il gruppo di coerenza nel
nella stessa regione dei dischi.
Per informazioni su come fare, consulta Crea un gruppo di coerenza.
Prendi nota del nome del gruppo con coerenza. Viene utilizzato dall'agente durante la creazione del backup basato su snapshot.
Creare un backup basato su snapshot del disco
-
Per creare un backup basato su uno snapshot del disco per il volume
/hana/data
del tuo SAP Database HANA, esegui il comandohanadiskbackup
dell'agente di Google Cloud per SAP:Dalla versione 3.3, gli argomenti
-source-disk
e-source-disk-zone
sono facoltativi per l'utilizzo con il comandohanadiskbackup
. Questo accade perché l'agente può rilevare automaticamente il disco che ospita la directory/hana/data
. Tuttavia, se specifichi questi argomenti, quindi ignorano il rilevamento automatico dell'agente.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 \
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 della 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 utilizzare l'IP virtuale (VIP) utilizzato nel cluster per identificare il nodo principale. In un deployment di ripristino di emergenza (DR), 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 richieste di backup e ripristinoSID
: l'identificatore di sistema SAP (SID) di SAP HANA sistemaHANA_USERNAME
: il nome utente del database SAP HANA utilizzando per cui vuoi creare il backupHANA_USER_PWD_SECRET_NAME
: se utilizzi Secret Manager per memorizzare la password dell'utente del database SAP HANA, specifica il nome del secret corrispondenteHDB_USERSTORE_KEY
: se hai creato unhdbuserstore
chiave per autenticare l'utente SAP HANA specificato, quindi specificala
Nella tabella seguente vengono descritti gli argomenti supportati dall'
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 sistema SAP HANA. -hana-db-user
Specifica il nome utente del database SAP HANA con cui vuoi eseguire il backup.
Se specifichi
-hdbuserstore-key
, puoi saltare la specifica dell'argomento-hana-db-user
.-password
Specifica la password dell'utente del database SAP HANA che utilizzi per creare il backup.
Non specificare questo argomento se utilizzi la macro
-password-secret
o-hdbuserstore-key
. Ti consigliamo di utilizzare uno di questi metodi anziché utilizzare-password
.-password-secret
Facoltativo. Se utilizzi Secret Manager per archiviare la password dell'utente del database SAP HANA, quindi specifica il nome del secret corrispondente.
In Secret Manager, assicurati che Il valore del secret, ovvero la password, contiene almeno 8 e include almeno una lettera maiuscola e una minuscola lettera e un numero.
Non specificare questo argomento se utilizzi la macro
-password
argomento.-hdbuserstore-key
Per connetterti in sicurezza a un sistema SAP HANA, specifica una chiave Secure User Store (
hdbuserstore
) che hai creato per quel sistema.Per utilizzare una chiave
hdbuserstore
per l'autenticazione, verifica quanto segue:- Gli strumenti SAP
hdbsql
ehdbuserstore
sono installati sull'istanza di calcolo 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. - L'utente
SIDadm
può eseguire query su SAP HANA utilizzando questa chiave. In questo casoSID
si riferisce specificato per il parametrosid
. Puoi per verificarlo eseguendo questo comando comeSIDadm
utente:hdbsql -U HDB_USERSTORE_KEY "SELECT * FROM DUMMY"
Questo parametro di configurazione è supportato dalla versione 3.3 dell'agente.
Se specifichi
-hdbuserstore-key
, puoi saltare la specifica degli argomenti-host
,-port
e-hana-db-user
.-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 L'istanza HANA è in esecuzione. -abandon-prepared
Facoltativo. Specifica se ignorare gli snapshot esistenti o meno basato su backup. Il valore predefinito è false
.-snapshot-name
Facoltativo. Specifica il nome dello snapshot del disco che stai creando. Questo argomento è applicabile solo quando il volume
/hana/data
è ospitato su un disco.Per impostazione predefinita, lo snapshot viene denominato utilizzando il formato seguente:
snapshot-SOURCE_DISK_NAME-YYYYMMDD-HHMMSS
.-snapshot-description
Facoltativo. Specifica una descrizione per lo snapshot del disco. Questo è applicabile solo quando Il volume /hana/data
è ospitato su un disco.-snapshot-type
Facoltativo. Specifica il tipo di snapshot che vuoi creare per i dischi che ospitano il volume
/hana/data
. Questo parametro è applicabile solo quando il volume/hana/data
è ospitato su più di un disco.Per impostazione predefinita, l'agente crea snapshot standard. Valori supportati per questo argomento:
STANDARD
,ARCHIVE
. Per informazioni su questi tipi di snapshot, consulta Informazioni sugli snapshot di archiviazione e standard dei dischi.Questo argomento è supportato dalla versione 3.6 dell'agente.
-group-snapshot-name
Facoltativo. Specifica il nome del gruppo di snapshot per le istantanee dei dischi che ospitano il volume
/hana/data
.Per impostazione predefinita, il nome del gruppo di snapshot viene impostato utilizzando il seguente formato:
CONSISTENCY_GROUP_NAME-YYYYMMDD-HHMMSS
. Qui,CONSISTENCY_GROUP_NAME
è il nome del gruppo di coerenza del disco che hai creato nella sezione Creare un gruppo di coerenza del disco.Questo argomento è supportato dalla versione 3.6 dell'agente.
-labels
Facoltativo. Specifica una o più coppie etichetta-valore che vuoi associare agli snapshot dei dischi che stai creando. Ad esempio: -labels="label1=value1,label2=value2"
.-source-disk
Specifica il nome del Persistent Disk volume Hyperdisk che ospita Volume: /hana/data
.Dalla versione 3.3, gli argomenti
-source-disk
e-source-disk-zone
sono facoltativi per l'utilizzo con il comandohanadiskbackup
. Questo è poiché l'agente può rilevare automaticamente il disco che ospita il tuo Directory/hana/data
. Tuttavia, se specifichi questi argomenti, vengono ignorati dal rilevamento automatico dell'agente.-source-disk-zone
Specifica la zona. in cui esiste il disco che ospita il volume /hana/data
.Dalla versione 3.3, gli argomenti
-source-disk
e-source-disk-zone
sono facoltative e possono essere usate con il comandohanadiskbackup
. Questo è poiché l'agente può rilevare automaticamente il disco che ospita il tuo Directory/hana/data
. Tuttavia, se specifichi questi argomenti, vengono ignorati dal rilevamento automatico dell'agente.-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 della chiave.Questo argomento è supportato dalla versione 3.2 dell'agente.
-storage-location
Facoltativo. Specifica Cloud Storage multiregionale o Regione di Cloud Storage in cui archiviare lo snapshot del disco. -freeze-file-system
Facoltativo. Specifica se l'agente deve bloccare o meno il file del tuo database SAP HANA. Il valore predefinito è
false
.Questo argomento è supportato dalla versione 3.2 dell'agente.
-send-metrics-to-monitoring
Facoltativo. Specifica se lo stato di esecuzione della creazione dello snapshot deve essere inviato o meno a Cloud Monitoring. Il valore predefinito è TRUE
.-loglevel
Facoltativo. Specifica il livello di registrazione per l'operazione di creazione dello snapshot. Il livello di logging predefinito è info
. I livelli di log disponibili sono:debug
,info
,warn
eerror
.-confirm-data-snapshot-after-create
Facoltativo. Se vuoi confermare la creazione dello snapshot in SAP HANA immediatamente dopo la sua creazione, ma senza confermare che è stato caricato nel bucket Cloud Storage specificato per l'argomento
-storage-location
, specifica il valoreTRUE
.Il valore predefinito è
FALSE
, che consente all'agente di confermare la creazione dello snapshot dopo il completamento di entrambe le operazioniCREATE
eUPLOAD
.Questo argomento è supportato dalla versione 3.4 dell'agente.
Verifica gli snapshot del disco
Puoi verificare che gli snapshot dei dischi vengano creati utilizzando le seguenti opzioni:
Nella console Google Cloud, vai alla pagina Snapshot di Compute Engine, quindi filtra le voci utilizzando il nome del disco. Se il volume
/hana/data
è ospitato su un disco, puoi anche filtrare utilizzando il nome dell'istantanea. Se il volume/hana/data
è ospitato su più di un disco, puoi anche filtrare utilizzando il nome del gruppo di snapshot.In alternativa, puoi visualizzare i dettagli dello snapshot del disco nel seguente modo: di log dell'agente:
/var/log/google-cloud-sap-agent/hanadiskbackup.log
Esamina il catalogo di backup di SAP HANA
Oltre a creare il backup basato su snapshot del disco, il comando hanadiskbackup
crea
e una relativa voce
nel catalogo di backup SAP HANA. Di seguito è riportata un'esempio di query SQL per visualizzare le voci di backup basate su snapshot nel catalogo di backup 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_IDENTIFIER"
Questo output include i seguenti valori:
BACKUP_ID
: l'ID backup assegnato allo snapshot del disco nel tuo catalogo di backup SAP HANASNAPSHOT_IDENTIFIER
:- Per un volume
/hana/data
su un disco, il valore di questo identificatore è determinato dall'uso dell'elemento-snapshot-name
con il comandohanadiskbackup
. Se non lo specifichi tu , il valore predefinito dell'argomento è impostato, ovvero:snapshot-SOURCE_DISK_NAME-YYYYMMDD-HHMMSS
. - Se il volume
/hana/
è ospitato su più di un disco, il valore il valore di questo identificatore è determinato dall'uso Argomento-group-snapshot-name
con il comandohanadiskbackup
. Se non ha specificato questo argomento, viene impostato il valore predefinito dell'argomento. ovveroCONSISTENCY_GROUP_NAME-YYYYMMDD-HHMMMSS
.
- Per un volume
SOURCE_DISK_NAME
: questo valore è determinato dal Utilizzo dell'argomento-source-disk
con il comandohanadiskbackup
.CONSISTENCY_GROUP_NAME
: questo valore è determinato dal Utilizzo dell'argomento-group-snapshot-name
con il comandohanadiskbackup
YYYYMMDD-HHMMMSS
: la data e l'ora in cui è stato creato lo snapshot.
Recupera il database utilizzando un backup basato su snapshot del disco
Per recuperare il tuo database SAP HANA utilizzando la funzionalità di snapshot del disco di Con l'agente Google Cloud per SAP, consulta le istruzioni per il tuo scenario:
- Recuperare il database per un sistema di scalabilità
- Recupera il database per un sistema ad alta disponibilità con scale up
- Recupero del database per un deployment DR di scalabilità
- Eseguire una copia del sistema o un aggiornamento del sistema
Recupera il database per un sistema di scale up
Per recuperare il database di un sistema SAP HANA di scalabilità verticale 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:Se il volume
/hana/data
è ospitato su un disco, esegui questo comando: :sudo /usr/bin/google_cloud_sap_agent hanadiskrestore \ -project=SOURCE_PROJECT_ID \ -sid=SID \ -source-snapshot=SOURCE_SNAPSHOT_NAME \ [-new-disk-type=NEW_DISK_TYPE \ -new-disk-name=NEW_DISK_NAME]
Se il volume
/hana/data
è ospitato su più di un disco, esegui il seguente comando:sudo /usr/bin/google_cloud_sap_agent hanadiskrestore \ -project=SOURCE_PROJECT_ID \ -sid=SID \ -group-snapshot-name=SOURCE_SNAPSHOT_GROUP_NAME \ [-new-disk-type=NEW_DISK_TYPE ]
Sostituisci quanto segue:
SOURCE_PROJECT_ID
: l'ID del progetto Google Cloud in cui esiste lo snapshot del discoSID
: l'identificatore di sistema SAP (SID) del sistema SAP HANASOURCE_SNAPSHOT_NAME
: se le tue/hana/data
è ospitato su un disco, quindi specifica il nome dello snapshot del disco con cui crei il nuovo discoSOURCE_SNAPSHOT_GROUP_NAME
: se le tue/hana/data
un volume è ospitato su più di un disco, quindi specifica il nome del gruppo di snapshot con cui crei i nuovi dischiNEW_DISK_TYPE
: il tipo di disco che vuoi creare. Per ulteriori informazioni, consulta la descrizione di-new-disk-type
in Argomenti supportati per il ripristino del disco.NEW_DISK_NAME
: il nome che vuoi impostare per la un nuovo disco. Per ulteriori informazioni, consulta la descrizione di-new-disk-name
in Argomenti supportati per il ripristino del disco.
Per informazioni sugli argomenti che puoi utilizzare con
hanadiskrestore
vedi il comando Argomenti supportati per il ripristino del disco.Recupera il database SAP HANA utilizzando l'opzione richiesta:
Ripristina ora snapshot
Per recuperare il database SAP HANA ripristinandolo nel momento in cui il disco uno snapshot è stato creato, segui questi passaggi:
- Passa all'utente
SIDadm
:su - SID_LCadm
Sostituisci
SID_LC
con l'SID del sistema SAP HANA. Utilizza il minuscolo per tutte le lettere. - Recupera il database di sistema eseguendo il seguente comando:
HDBSettings.sh recoverSys.py --command="RECOVER DATA USING SNAPSHOT CLEAR LOG;"
- Connettiti al database di sistema. Ad esempio, puoi eseguire il
seguente comando:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Sostituisci quanto segue:
SYSTEM_DB_PASSWORD
: la password del database di sistemaINSTANCE_NUMBER
: la tua istanza SAP HANA numero
- Recupera i database tenant eseguendo questo comando per
ogni database tenant:
RECOVER DATA FOR TENANT_SID USING SNAPSHOT CLEAR LOG
Sostituisci
TENANT_SID
con il SID del database del tenant.
Ripristina a un momento specifico
Per recuperare il database SAP HANA ripristinandolo a un punto specifico nel tempo:
- Verifica di aver creato un backup per
/hana/log
il volume in Cloud Storage mediante la funzionalità Backint agente di Google Cloud per SAP. Per ulteriori informazioni su questa funzione, vedi Backup e il ripristino per SAP HANA mediante Backint. - Passa all'utente
SIDadm
:su - SID_LCadm
Sostituisci
SID_LC
con l'SID del sistema SAP HANA. Utilizza il minuscolo per tutte le lettere. - Recupera il database di sistema eseguendo il seguente 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
:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Sostituisci quanto segue:
SYSTEM_DB_PASSWORD
: la password del database di sistemaINSTANCE_NUMBER
: la tua istanza SAP HANA numero
- Recupera i database tenant eseguendo questo comando per ogni
database tenant:
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 del tenant.
- Passa all'utente
Argomenti supportati per il ripristino del disco
La tabella seguente descrive gli argomenti supportati dal comando hanadiskrestore
dell'agente:
Argomento | Descrizione |
---|---|
-sid |
Specifica l'identificatore di sistema SAP (SID) del tuo SAP HANA di un sistema operativo completo. |
-data-disk-name |
Facoltativo. Specifica il nome del disco di origine che ospita il
Volume: /hana/data .
Dalla versione 3.4, gli argomenti
|
-data-disk-zone |
Facoltativo. Specifica la
zona in cui è eseguito il deployment del
disco di origine che ospita il volume /hana/data .
Dalla versione 3.4, gli argomenti |
-source-snapshot |
Se il volume /hana/data è ospitato su un disco,
specifica il nome dello snapshot del disco che vuoi utilizzare
e il ripristino di emergenza. |
-new-disk-name |
Specifica il nome da impostare per il nuovo disco. Questo
parametro non è applicabile se il volume /hana/data è
ospitato su più di un disco. |
-group-snapshot-name |
Se il tuo volume Questo argomento è supportato dalla versione 3.6 dell'agente. |
-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 fornita dal cliente con wrapping RSA corrispondente allo snapshot del disco di origine. Di seguito è riportato un esempio di file di chiavi:
[ { "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 l'hyperdisk che vuoi creare. Per impostazione predefinita, nuovi dischi sono dello stesso tipo di quelli di origine. Assicurati di specificare un tipo di disco basato su SSD che sia certificato da SAP per l'utilizzo con SAP HANA. Per ulteriori informazioni, vedi Tipi di dischi supportati. |
-hana-sidadm |
Facoltativo. Specifica SIDadm , ovvero
l'utente del sistema operativo del tuo sistema SAP HANA. |
-force-stop-hana |
Facoltativo. Se vuoi interrompere forzatamente SAP HANA prima dell'avvio dell'operazione di recupero, specifica questo argomento e imposta il relativo valore su true . Il valore predefinito è
false . |
-provisioned-iops |
Facoltativo. Se stai creando un Iperdisco del volume, quindi specifica le IOPS (operazioni di I/O al secondo) che deve gestire. |
-provisioned-throughput |
Facoltativo. Se stai creando un Iperdisco quindi specifica la velocità effettiva che deve supportare. |
-labels-on-detached-disk |
Facoltativo. Se stai creando un nuovo disco per ospitare la directory Questo argomento è supportato dalla versione 3.4 dell'agente. |
-send-metrics-to-monitoring |
Facoltativo. Specifica se la durata del
il ripristino degli snapshot viene inviato a Cloud Monitoring. Il valore predefinito è
Questo argomento è supportato dalla versione 3.4 dell'agente. |
-disk-size-gb |
Facoltativo. Specifica le dimensioni, in GB, del nuovo disco. Per impostazione predefinita, le dimensioni del nuovo disco sono uguali a quelle 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 registrazione predefinito è info . I livelli di log disponibili sono:
debug , info , warn e
error . |
Ripristinare il database per un sistema HA di scalabilità verticale
Per recuperare il database di un sistema SAP HANA scalabile verticalmente di cui è stato eseguito il deployment in un cluster ad alta disponibilità (HA) su Google Cloud, completa i seguenti passaggi:
Verifica di avere uno snapshot del disco che ospita il volume
/hana/data
nel nodo SAP HANA principale.Come utente root, metti il cluster HA in modalità di manutenzione. Se utilizzi Pacemaker, quindi 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 il comando seguente su sia il nodo primario che quello 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:Se il volume
/hana/data
è ospitato su un disco, esegui questo comando: :sudo /usr/bin/google_cloud_sap_agent hanadiskrestore \ -project=SOURCE_PROJECT_ID \ -sid=SID \ -source-snapshot=SOURCE_SNAPSHOT_NAME \ [-new-disk-type=NEW_DISK_TYPE \ -new-disk-name=NEW_DISK_NAME]
Se il volume
/hana/data
è ospitato su più di un disco, esegui il seguente comando:sudo /usr/bin/google_cloud_sap_agent hanadiskrestore \ -project=SOURCE_PROJECT_ID \ -sid=SID \ -group-snapshot-name=SOURCE_SNAPSHOT_GROUP_NAME \ [-new-disk-type=NEW_DISK_TYPE ]
Sostituisci quanto segue:
SOURCE_PROJECT_ID
: l'ID del progetto Google Cloud in cui esiste lo snapshot del discoSID
: l'identificatore di sistema SAP (SID) del sistema SAP HANASOURCE_SNAPSHOT_NAME
: se le tue/hana/data
è ospitato su un disco, quindi specifica il nome dello snapshot del disco con cui crei il nuovo discoSOURCE_SNAPSHOT_GROUP_NAME
: se le tue/hana/data
un volume è ospitato su più di un disco, quindi specifica il nome del gruppo di snapshot con cui crei i nuovi dischiNEW_DISK_TYPE
: il tipo di disco che vuoi creare. Per ulteriori informazioni, consulta la descrizione di-new-disk-type
in Argomenti supportati per il ripristino del disco.NEW_DISK_NAME
: il nome che vuoi impostare per la un nuovo disco. Per ulteriori informazioni, consulta la descrizione di-new-disk-name
in Argomenti supportati per il ripristino del disco.
Per informazioni sugli argomenti che puoi utilizzare con
hanadiskrestore
vedi il comando Argomenti supportati per il ripristino del disco.Annullare la registrazione del nodo secondario del sistema SAP HANA HA:
hdbnsutil -sr_unregister
Sul nodo primario del tuo sistema SAP HANA HA, disabilita il sistema SAP HANA replica:
hdbnsutil -sr_disable
Sul nodo principale, recupera il database SAP HANA utilizzando l'opzione obbligatoria:
Ripristina ora snapshot
Per recuperare il database SAP HANA ripristinandolo nel momento in cui il disco uno snapshot è stato creato, segui questi passaggi:
- Passa all'utente
SIDadm
:su - SID_LCadm
Sostituisci
SID_LC
con l'SID del sistema SAP HANA. Utilizza il minuscolo per tutte le lettere. - Recupera il database di sistema eseguendo il seguente comando:
HDBSettings.sh recoverSys.py --command="RECOVER DATA USING SNAPSHOT CLEAR LOG;"
- Connettiti al database di sistema. Ad esempio, puoi eseguire il
seguente comando:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Sostituisci quanto segue:
SYSTEM_DB_PASSWORD
: la password del database di sistemaINSTANCE_NUMBER
: la tua istanza SAP HANA numero
- Recupera i database tenant eseguendo questo comando per
ogni database tenant:
RECOVER DATA FOR TENANT_SID USING SNAPSHOT CLEAR LOG
Sostituisci
TENANT_SID
con il SID del database del tenant.
Ripristina a un momento specifico
Per recuperare il database SAP HANA ripristinandolo a un punto specifico nel tempo:
- Verifica di aver creato un backup per
/hana/log
il volume in Cloud Storage mediante la funzionalità Backint agente di Google Cloud per SAP. Per ulteriori informazioni su questa funzione, vedi Backup e il ripristino per SAP HANA mediante Backint. - Passa all'utente
SIDadm
:su - SID_LCadm
Sostituisci
SID_LC
con l'SID del sistema SAP HANA. Utilizza il minuscolo per tutte le lettere. - Recupera il database di sistema eseguendo il seguente 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
:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Sostituisci quanto segue:
SYSTEM_DB_PASSWORD
: la password del database di sistemaINSTANCE_NUMBER
: la tua istanza SAP HANA numero
- Recupera i database tenant eseguendo questo comando per ogni
database tenant:
RECOVER DATABASE FOR TENANT_SID UNTIL TIMESTAMP '2099-12-31 12:00:00' CLEAR LOG USING SNAPSHOT
Sostituisci
TENANT_SID
con il SID del tenant.
- Passa all'utente
Sul nodo principale, attiva 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 di standby sia completamente sincronizzato con il database nel nodo principale.
Come utente root, esci dalla modalità di manutenzione del cluster HA. Se utilizzi Pacemaker, esegui il seguente 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
recuperare il database per un sistema di scale up SAP HANA il cui deployment viene eseguito con un soluzione di ripristino di emergenza di Google Cloud, completa i seguenti passaggi:
Arresta i tuoi database SAP HANA eseguendo il comando seguente su sia l'istanza principale che quella 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:Se il volume
/hana/data
è ospitato su un disco, esegui questo comando: :sudo /usr/bin/google_cloud_sap_agent hanadiskrestore \ -project=SOURCE_PROJECT_ID \ -sid=SID \ -source-snapshot=SOURCE_SNAPSHOT_NAME \ [-new-disk-type=NEW_DISK_TYPE \ -new-disk-name=NEW_DISK_NAME]
Se il volume
/hana/data
è ospitato su più di un disco, esegui il seguente comando:sudo /usr/bin/google_cloud_sap_agent hanadiskrestore \ -project=SOURCE_PROJECT_ID \ -sid=SID \ -group-snapshot-name=SOURCE_SNAPSHOT_GROUP_NAME \ [-new-disk-type=NEW_DISK_TYPE ]
Sostituisci quanto segue:
SOURCE_PROJECT_ID
: l'ID del progetto Google Cloud in cui esiste lo snapshot del discoSID
: l'identificatore di sistema SAP (SID) del sistema SAP HANASOURCE_SNAPSHOT_NAME
: se le tue/hana/data
è ospitato su un disco, quindi specifica il nome dello snapshot del disco con cui crei il nuovo discoSOURCE_SNAPSHOT_GROUP_NAME
: se le tue/hana/data
un volume è ospitato su più di un disco, quindi specifica il nome del gruppo di snapshot con cui crei i nuovi dischiNEW_DISK_TYPE
: il tipo di disco che vuoi creare. Per ulteriori informazioni, consulta la descrizione di-new-disk-type
in Argomenti supportati per il ripristino del disco.NEW_DISK_NAME
: il nome che vuoi impostare per la un nuovo disco. Per ulteriori informazioni, consulta la descrizione di-new-disk-name
in Argomenti supportati per il ripristino del disco.
Per informazioni sugli argomenti che puoi utilizzare con il comando
hanadiskrestore
, consulta Argomenti supportati per il ripristino del disco.Nell'istanza principale, disattiva la replica del sistema SAP HANA:
hdbnsutil -sr_disable
Nell'istanza principale, recupera il database SAP HANA utilizzando le risorse richieste :
Ripristina ora snapshot
Per recuperare il database SAP HANA ripristinandolo nel momento in cui il disco uno snapshot è stato creato, segui questi passaggi:
- Passa all'utente
SIDadm
:su - SID_LCadm
Sostituisci
SID_LC
con l'SID del sistema SAP HANA. Utilizza il minuscolo per tutte le lettere. - Recupera il database di sistema eseguendo il seguente comando:
HDBSettings.sh recoverSys.py --command="RECOVER DATA USING SNAPSHOT CLEAR LOG;"
- Connettiti al database di sistema. Ad esempio, puoi eseguire il
seguente comando:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Sostituisci quanto segue:
SYSTEM_DB_PASSWORD
: la password del database di sistemaINSTANCE_NUMBER
: la tua istanza SAP HANA numero
- Recupera i database tenant eseguendo questo comando per
ogni database tenant:
RECOVER DATA FOR TENANT_SID USING SNAPSHOT CLEAR LOG
Sostituisci
TENANT_SID
con il SID del database del tenant.
Ripristina a un momento specifico
Per recuperare il database SAP HANA ripristinandolo in un punto specifico al momento, segui questi passaggi:
- Verifica di aver creato un backup per il volume
/hana/log
in Cloud Storage utilizzando la funzionalità Backint di Agent for SAP di Google Cloud. Per ulteriori informazioni su questa funzionalità, consulta Eseguire il backup e il recupero per SAP HANA utilizzando Backint. - Passa all'utente
SIDadm
:su - SID_LCadm
Sostituisci
SID_LC
con l'SID del sistema SAP HANA. Utilizza il minuscolo per tutte le lettere. - Recupera il database di sistema eseguendo il seguente 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
:
hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER
Sostituisci quanto segue:
SYSTEM_DB_PASSWORD
: la password del database di sistemaINSTANCE_NUMBER
: la tua istanza SAP HANA numero
- Recupera i database tenant eseguendo questo comando per ogni
database tenant:
RECOVER DATABASE FOR TENANT_SID UNTIL TIMESTAMP '2099-12-31 12:00:00' CLEAR LOG USING SNAPSHOT
Sostituisci
TENANT_SID
con il SID del 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 di 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 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
Comando
hanadiskbackup
. Per istruzioni, vedi Crea un backup basato su snapshot del disco. Se gli SID dei sistemi di origine e di destinazione sono diversi, rinomina la directory
/hana/data/SID
nel sistema di origine in modo che corrisponda a quella del sistema di destinazione:mv /hana/data/SOURCE_SID /hana/data/TARGET_SID
Sostituisci quanto segue:
SOURCE_SID
: l'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 rinominarla seguendo le istruzioni nel documento SAP HANA Rinomina un database tenant.
Nel sistema di destinazione, connettiti al database di sistema. Ad esempio, puoi esegui 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 dell'istanza SAP HANA
Nel sistema di destinazione, recupera i database tenant eseguendo il seguente 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 degli snapshot
Questa sezione descrive come convalidare la coerenza dei dati negli snapshot dei dischi utilizzando lo strumento hdbpersdiag
di SAP. Per informazioni su altre best practice consigliate da Google Cloud per le operazioni di backup e recupero basate su snapshot dei dischi, consulta le best practice.
Per convalidare la coerenza di uno snapshot:
Crea un disco da uno snapshot creato utilizzando il metodo Comando
hanadiskbackup
. Utilizza la 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. Utilizza 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 per eseguire il deployment del disco che hai creatoDISK_NAME
: il nome del disco che hai creatoZONE
: la zona Compute Engine in cui si trova la tua VM viene eseguito il deployment
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 che non ha elementi attivi volume logico:
vgdisplay
L'output è simile al seguente esempio:
--- 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 del gruppo di volumi. 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
Come 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 dello strumento
hdbpersdiag
.Se prevedi di eseguire questo controllo di coerenza in futuro, puoi lasciare invariato il nuovo gruppo di volumi. In caso contrario, eliminalo.
Scollega il disco dalla VM. Utilizza il comando
gcloud compute instances detach-disk
:VM_INSTANCE_NAME \ --disk=DISK_NAME \ --zone=ZONE
Elimina il disco. Utilizza 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 risolvere la maggior parte dei problemi avvengono durante le operazioni di backup e ripristino basate su snapshot dei dischi per SAP HANA, esistono alcuni scenari in cui è necessario un intervento manuale.
Per risolvere eventuali problemi relativi alla funzionalità di snapshot del disco di Agent for SAP di Google Cloud, consulta Problema con un'operazione di backup o recupero basata su snapshot del disco.
Assistenza
Se hai bisogno di aiuto per risolvere un problema con l'agente Google Cloud per SAP, raccogli le informazioni diagnostiche richieste e contatta l'assistenza clienti Google Cloud. Per maggiori informazioni le informazioni, vedi Informazioni diagnostiche dell'agente di Google Cloud per SAP per SAP HANA.