Esegui backup e ripristino per SAP HANA utilizzando snapshot dei dischi

Questa guida mostra come eseguire operazioni di backup e ripristino per SAP HANA mediante la funzionalità Snapshot del disco dell'Agente per SAP di Google Cloud.

Per informazioni su questa funzione, vedi Backup e ripristino basati su snapshot del disco per SAP HANA.

Prima di iniziare

Imposta autorizzazioni

Utilizzare l'agente di Google Cloud per SAP per eseguire il backup basato su snapshot del disco e recupero per il tuo sistema SAP HANA, devi impostare le seguenti autorizzazioni:

  • Per creare snapshot del disco, abilita quanto segue autorizzazioni:
      .
    • 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 dalla tua istanza VM di Compute Engine, attiva le seguenti autorizzazioni: compute.disks.createSnapshot, compute.snapshot.list e compute.disk.list.
  • Per creare backup basati su snapshot del disco, l'utente del database SAP HANA utilizzato agente deve avere il privilegio BACKUP OPERATOR o BACKUP ADMIN. Per ulteriori informazioni vedi il documento SAP Autorizzazioni necessarie per backup e ripristino
  • Per eseguire le operazioni di backup e ripristino, l'utente del sistema operativo che eseguono i comandi dell'agente deve essere l'utente root o avere sudo l'accesso per eseguire i comandi seguenti. Puoi anche fornire l'accesso a sudo 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 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 comando hanadiskbackup 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 disco
    • HANA_HOST_ADDRESS: il nome host o l'indirizzo IP della Istanza VM di Compute Engine che ospita il tuo database SAP HANA

      In un sistema ad alta disponibilità, specifica il nome host o l'indirizzo IP l'host locale nel nodo principale SAP HANA. Non utilizzare l'IP virtuale (VIP) utilizzato nel cluster per identificare il nodo primario. In RE di ripristino di emergenza deployment, specifica il nome host o l'indirizzo IP dell'host locale nella principale dell'istanza SAP HANA.

    • HANA_PORT_NUMBER: la porta SAP HANA che accetta richieste di backup e ripristino

    • SID: l'identificatore di sistema SAP (SID) di SAP HANA sistema

    • HANA_USERNAME: il nome utente del database SAP HANA utilizzando per cui vuoi creare il backup

    • HANA_USER_PWD_SECRET_NAME: se utilizzi Secret Manager per archiviare Password dell'utente del database SAP HANA e specifica il nome del secret corrispondente

    • HDB_USERSTORE_KEY: se hai creato un hdbuserstore chiave per autenticare l'utente SAP HANA specificato, quindi specificala

    • SOURCE_DISK_NAME: il nome del Persistent Disk o un volume Hyperdisk che ospita il volume /hana/data

    • SOURCE_DISK_ZONE: il nome del zona in cui il disco che ospita È stato eseguito il deployment di /hana/data volume

    Nella tabella seguente vengono descritti gli argomenti supportati dall'hanadiskbackup :

    Argomento Descrizione
    -port Specifica la porta SAP HANA che accetta il backup e il ripristino richieste.
    -sid Specifica l'identificatore di sistema SAP (SID) del tuo SAP HANA di un sistema operativo completo.
    -hana-db-user

    Specifica il nome utente del database SAP HANA utilizzando il quale vuoi per creare il backup.

    Se specifichi -hdbuserstore-key, puoi saltare che specifica l'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 modo sicuro a un sistema SAP HANA, specifica un Chiave di archivio utenti sicuro (hdbuserstore) che hai creato di un sistema operativo completo.

    Per utilizzare una chiave hdbuserstore per l'autenticazione, verifica quanto segue:

    • Gli strumenti SAP hdbsql e hdduserstore sono installati sulla piattaforma 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.

    Questo parametro di configurazione è supportato dalla versione 3.3 dell'agente.

    Se specifichi -hdbuserstore-key, puoi saltare che specifica i valori -host, -port e -hana-db-user argomenti.

    -host Facoltativo. Specifica l'indirizzo IP di Compute Engine Istanza VM che ospita il tuo sistema SAP HANA. Il valore predefinito è localhost.
    -project Facoltativo. Specifica l'ID del progetto Google Cloud in cui vuoi per creare lo snapshot del disco. Per impostazione predefinita, lo snapshot viene creato Progetto Google Cloud in cui è in esecuzione il tuo 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 in fase di creazione.

    Per impostazione predefinita, lo snapshot ha il nome seguente: snapshot-SOURCE_DISK_NAME-YYYYMMDD-HHMMSS.

    -source-disk Specifica il nome del Persistent Disk volume Hyperdisk che ospita Volume: /hana/data.
    -source-disk-zone Specifica la zona. in cui è presente il disco che ospita il volume /hana/data.
    -source-disk-key-file Facoltativo. Se il disco che ospita il volume /hana/data è criptato Confezionato con RSA chiave di crittografia fornita dal cliente, quindi specifica il percorso assoluto al file JSON di quella 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.
    -snapshot-description Facoltativo. Specifica una descrizione per lo snapshot del disco.
    -labels Facoltativo. Specifica una o più coppie etichetta-valore che vuoi 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 del viene inviata a Cloud Monitoring. Il valore predefinito è TRUE.
    -loglevel Facoltativo. Specifica il livello di logging per la creazione dello snapshot operativa. Il livello di logging predefinito è info. La i livelli di log disponibili sono: debug, info, warn e error.
    -confirm-data-snapshot-after-create

    Facoltativo. Se vuoi confermare la creazione dello snapshot in SAP HANA subito dopo la creazione dello snapshot, ma senza per confermare che sia stato caricato in Cloud Storage bucket specificato per l'argomento -storage-location, quindi specifica il valore TRUE.

    Il valore predefinito è FALSE e fa sì che l'agente per confermare la creazione dello snapshot al termine Operazioni CREATE e UPLOAD.

    Questo argomento è supportato dalla versione 3.4 dell'agente.

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.

    Vai a Snapshot

  • In alternativa, puoi visualizzare i dettagli dello snapshot del disco anche nel seguente di log dell'agente di 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. Quello che segue è una query SQL di esempio per visualizzare le voci dello snapshot del disco nel backup SAP HANA catalogo:

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 HANA
  • SOURCE_DISK_NAME: il nome del disco che ospita il tuo Volume /hana/data per il quale hai creato uno snapshot
  • YYYYMMDD-HHMMMSS: data e ora in cui è stato creato lo snapshot

Esegui il ripristino utilizzando uno snapshot del disco

Per eseguire il recupero basato su snapshot del disco utilizzando l'agente di Google Cloud per SAP, consulta le istruzioni per il tuo scenario:

Recupera il database per un sistema di scale up

recuperare il database per un sistema di scale up SAP HANA di cui è stato eseguito il deployment Google Cloud, completa questi passaggi:

  1. Recupera il disco che ospita il volume /hana/data eseguendo il comando Comando hanadiskrestore:

    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 esiste lo snapshot del disco
    • SID: l'identificatore di sistema SAP (SID) di SAP HANA sistema
    • SOURCE_SNAPSHOT_NAME: il nome dello snapshot del disco con cui crei il nuovo disco
    • SOURCE_DISK_NAME: il nome del disco di origine ospitare il tuo volume /hana/data
    • SOURCE_DISK_ZONE: il nome del zona in cui si trova il disco di origine di cui è stato eseguito il deployment

    Per informazioni sugli argomenti che puoi utilizzare con hanadiskrestore vedi il comando Argomenti supportati per il ripristino del disco.

  2. Recupera il tuo 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:

    1. Passa all'utente SIDadm:
      su - SID_LCadm

      Sostituisci SID_LC con il SID del tuo SAP HANA di un sistema operativo completo. Utilizza il minuscolo per tutte le lettere.

    2. Recupera il database di sistema eseguendo questo comando:
      HDBSettings.sh recoverSys.py --command="RECOVER DATA USING SNAPSHOT CLEAR LOG;"
    3. Connettiti al database di sistema. Ad esempio, puoi eseguire seguente comando:
      hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER

      Sostituisci quanto segue:

      • SYSTEM_DB_PASSWORD: il tuo database di sistema password
      • INSTANCE_NUMBER: la tua istanza SAP HANA numero
    4. 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 tenant.

    Ripristina a un momento specifico

    Per recuperare il database SAP HANA ripristinandolo in un punto specifico al momento, segui questi passaggi:

    1. 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 In base a Backint di backup e ripristino per SAP HANA.
    2. Passa all'utente SIDadm:
      su - SID_LCadm

      Sostituisci SID_LC con il SID del tuo SAP HANA di un sistema operativo completo. Utilizza il minuscolo per tutte le lettere.

    3. 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"
    4. 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: il tuo database di sistema password
      • INSTANCE_NUMBER: la tua istanza SAP HANA numero
    5. 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.

Argomenti supportati per il ripristino del disco

La tabella seguente descrive gli argomenti supportati dall'agente Comando hanadiskrestore:

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.
-data-disk-zone Facoltativo. Specifica 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 che vuoi utilizzare ripristinare il disco che ospita il tuo 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 snapshot del disco di origine esistente. Per impostazione predefinita, lo snapshot viene creato nel progetto Google Cloud su cui è in esecuzione il sistema SAP HANA.
-csek-key-file Facoltativo. Se hai criptato lo snapshot del disco di origine utilizzando Argomento -source-disk-key-file con hanadiskbackup, quindi specifica il percorso assoluto al file JSON Confezionato con RSA chiave di crittografia fornita dal cliente che corrisponde al disco di origine senza dover creare uno snapshot. 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 l'hyperdisk che vuoi creare. Per impostazione predefinita, nuovo disco è dello stesso tipo del disco 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 il valore SIDadm, ovvero dell'utente del tuo sistema SAP HANA.
-force-stop-hana Facoltativo. Se vuoi arrestare forzatamente SAP HANA prima avviare l'operazione di ripristino, quindi specifica questo argomento e il suo valore a true. Il valore predefinito è false.
-provisioned-iops Facoltativo. Se stai creando un Hyperdisk del volume, quindi specifica le IOPS (operazioni di I/O al secondo) che deve gestire.
-provisioned-throughput Facoltativo. Se stai creando un Hyperdisk quindi specifica la velocità effettiva che deve supportare.
-labels-on-detached-disk

Facoltativo. Se stai creando un nuovo disco per ospitare il file ripristinato directory /hana/data, quindi usa questo argomento per specificare le coppie etichetta-valore che vuoi associare al disco scollegato. Separa le etichette con la virgola. Ad esempio: -labels-on-detached-disk="label1=value1,label2=value2".

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 è TRUE.

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 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

recuperare il database per un sistema di scale up SAP HANA di cui è stato eseguito il deployment in un ad alta disponibilità su Google Cloud, completa i seguenti passaggi passaggi:

  1. Verifica di avere uno snapshot del disco che ospita il volume /hana/data nel nodo SAP HANA principale.

  2. Come utente root, imposta il cluster ad alta disponibilità 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
  3. 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
  4. Passa al nodo primario del tuo sistema ad alta disponibilità SAP HANA.

  5. Recupera il disco che ospita il volume /hana/data eseguendo il comando Comando hanadiskrestore:

    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 esiste lo snapshot del disco
    • SID: l'identificatore di sistema SAP (SID) di SAP HANA sistema
    • SOURCE_SNAPSHOT_NAME: il nome dello snapshot del disco con cui crei il nuovo disco
    • SOURCE_DISK_NAME: il nome del disco di origine ospitare il tuo volume /hana/data
    • SOURCE_DISK_ZONE: il nome del zona in cui si trova il disco di origine di cui è stato eseguito il deployment

    Per informazioni sugli argomenti che puoi utilizzare con hanadiskrestore vedi il comando Argomenti supportati per il ripristino del disco.

  6. Annulla la registrazione del nodo secondario del tuo sistema ad alta disponibilità SAP HANA:

    hdbnsutil -sr_unregister
  7. Sul nodo primario del tuo sistema SAP HANA HA, disabilita il sistema SAP HANA replica:

    hdbnsutil -sr_disable
  8. Sul nodo primario, 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:

    1. Passa all'utente SIDadm:
      su - SID_LCadm

      Sostituisci SID_LC con il SID del tuo SAP HANA di un sistema operativo completo. Utilizza il minuscolo per tutte le lettere.

    2. Recupera il database di sistema eseguendo questo comando:
      HDBSettings.sh recoverSys.py --command="RECOVER DATA USING SNAPSHOT CLEAR LOG;"
    3. Connettiti al database di sistema. Ad esempio, puoi eseguire seguente comando:
      hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER

      Sostituisci quanto segue:

      • SYSTEM_DB_PASSWORD: il tuo database di sistema password
      • INSTANCE_NUMBER: la tua istanza SAP HANA numero
    4. 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 tenant.

    Ripristina a un momento specifico

    Per recuperare il database SAP HANA ripristinandolo in un punto specifico al momento, segui questi passaggi:

    1. 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 In base a Backint di backup e ripristino per SAP HANA.
    2. Passa all'utente SIDadm:
      su - SID_LCadm

      Sostituisci SID_LC con il SID del tuo SAP HANA di un sistema operativo completo. Utilizza il minuscolo per tutte le lettere.

    3. 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"
    4. 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: il tuo database di sistema password
      • INSTANCE_NUMBER: la tua istanza SAP HANA numero
    5. 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.

  9. Sul nodo primario, abilita la replica del sistema SAP HANA:

    hdbnsutil -sr_enable --name=PRIMARY_SITE_NAME
  10. 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
  11. Verifica che il database nel nodo in standby sia completamente sincronizzato con nel nodo primario.

  12. In qualità di utente root, esci dalla modalità di manutenzione del cluster ad alta disponibilità. Se utilizzi Pacemaker, quindi 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

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:

  1. 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
  2. Passa all'istanza principale del tuo deployment SAP HANA DR.

  3. Recupera il disco che ospita il volume /hana/data eseguendo il comando Comando hanadiskrestore:

    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 esiste lo snapshot del disco
    • SID: l'identificatore di sistema SAP (SID) di SAP HANA sistema
    • SOURCE_SNAPSHOT_NAME: il nome dello snapshot del disco con cui crei il nuovo disco
    • SOURCE_DISK_NAME: il nome del disco di origine ospitare il tuo volume /hana/data
    • SOURCE_DISK_ZONE: il nome del zona in cui si trova il disco di origine di cui è stato eseguito il deployment

    Per informazioni sugli argomenti che puoi utilizzare con hanadiskrestore vedi il comando Argomenti supportati per il ripristino del disco.

  4. Nell'istanza principale, disabilita la replica del sistema SAP HANA:

    hdbnsutil -sr_disable
  5. 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:

    1. Passa all'utente SIDadm:
      su - SID_LCadm

      Sostituisci SID_LC con il SID del tuo SAP HANA di un sistema operativo completo. Utilizza il minuscolo per tutte le lettere.

    2. Recupera il database di sistema eseguendo questo comando:
      HDBSettings.sh recoverSys.py --command="RECOVER DATA USING SNAPSHOT CLEAR LOG;"
    3. Connettiti al database di sistema. Ad esempio, puoi eseguire seguente comando:
      hdbsql -d SYSTEMDB -u system -p "SYSTEM_DB_PASSWORD" -i INSTANCE_NUMBER

      Sostituisci quanto segue:

      • SYSTEM_DB_PASSWORD: il tuo database di sistema password
      • INSTANCE_NUMBER: la tua istanza SAP HANA numero
    4. 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 tenant.

    Ripristina a un momento specifico

    Per recuperare il database SAP HANA ripristinandolo in un punto specifico al momento, segui questi passaggi:

    1. 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 In base a Backint di backup e ripristino per SAP HANA.
    2. Passa all'utente SIDadm:
      su - SID_LCadm

      Sostituisci SID_LC con il SID del tuo SAP HANA di un sistema operativo completo. Utilizza il minuscolo per tutte le lettere.

    3. 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"
    4. 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: il tuo database di sistema password
      • INSTANCE_NUMBER: la tua istanza SAP HANA numero
    5. 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.

  6. Nell'istanza principale, abilita la replica del sistema SAP HANA:

    hdbnsutil -sr_enable --name=PRIMARY_SITE_NAME
  7. 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
  8. Verifica che il database nell'istanza in standby sia completamente sincronizzato con 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 in un altro sistema SAP HANA, completa i seguenti passaggi:

  1. 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.
  2. Se i SID dei sistemi di origine e di destinazione sono diversi, rinomina alla 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 origine
    • TARGET_SID: il SID del sistema SAP HANA di destinazione
  3. Nel sistema di destinazione, recupera il disco che ospita il volume /hana/data eseguendo il comando hanadiskrestore dell'agente.

  4. 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"
  5. 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.

  6. 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 sistema
    • INSTANCE_NUMBER: il numero di istanza SAP HANA
  7. Nel sistema di destinazione, recupera i database tenant eseguendo questo comando per ciascun 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 in snapshot del disco utilizzando lo strumento hdbpersdiag di SAP. Per informazioni su altre best practice consigliate da Google Cloud per gli snapshot del disco le operazioni di backup e ripristino, consulta Best practice.

Per convalidare la coerenza di uno snapshot, completa i seguenti passaggi:

  1. Crea un disco da uno snapshot creato utilizzando il metodo Comando hanadiskbackup. Utilizza la Comando gcloud 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 temporaneo
    • SIZE: la dimensione del disco temporaneo
    • SNAPSHOT_NAME: il nome dello snapshot di origine.
    • DISK_TYPE: il tipo di disco per il disco temporaneo
    • ZONE: la zona Compute Engine in cui vuoi eseguire il deployment del disco temporaneo
  2. Collega il disco a una VM diversa dal tuo host SAP HANA. Utilizza la 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 creato
    • DISK_NAME: il nome del disco che hai creato
    • ZONE: la zona Compute Engine in cui si trova la tua VM viene eseguito il deployment
  3. Connettiti alla VM utilizzando il metodo SSH che preferisci.

  4. Monta il nuovo disco come file system temporaneo:

    1. A livello di sistema operativo, trova il gruppo di volumi che non ha elementi attivi volume logico:

      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
    2. Rinomina il gruppo di volumi utilizzando l'UUID VG. Nell'esempio precedente sono Fa52zl-AROR-LH2k-aG4z-LbrB-cvTz-TZhEfR.

      vgrename Fa52zl-AROR-LH2k-aG4z-LbrB-cvTz-TZhEfR vg_hana_data_temp
      
    3. 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
      
    4. 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
      
    5. 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
  5. In qualità di utente SIDadm, esegui lo strumento hdbpersdiag 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
    
  6. Verifica l'output dallo strumento hdbpersdiag.

  7. Se prevedi di eseguire questo controllo di coerenza in futuro, puoi lascia invariato il nuovo gruppo di volumi. In caso contrario, eliminalo.

  8. Scollega il disco dalla VM. Utilizza la Comando gcloud compute instances detach-disk:

    VM_INSTANCE_NAME \
       --disk=DISK_NAME \
       --zone=ZONE
    
  9. Elimina il disco. Utilizza la 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 con la funzionalità di snapshot del disco di di Google Cloud per SAP, vedi Problema con un'operazione di backup o ripristino 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 ulteriori informazioni le informazioni, vedi Informazioni diagnostiche dell'agente di Google Cloud per SAP per SAP HANA.