Esegui backup e ripristino per SAP HANA utilizzando gli snapshot dei dischi

Questa guida illustra come eseguire operazioni di backup e ripristino per SAP HANA utilizzando la funzionalità di istantanea del disco dell'agente per SAP di Google Cloud.

Per informazioni su questa funzionalità, consulta Backup e ripristino basati su snapshot del disco per SAP HANA.

Prima di iniziare

Imposta autorizzazioni

Per utilizzare l'agente di Google Cloud per SAP per eseguire backup e ripristino basati su snapshot del disco per il tuo sistema SAP HANA, devi impostare le autorizzazioni seguenti:

  • Per creare snapshot di dischi, abilita le seguenti autorizzazioni IAM:
    • Per il progetto Google Cloud in cui viene eseguito il tuo 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 e compute.disk.list.
  • Per creare backup basati su snapshot del disco, l'utente del database SAP HANA utilizzato dall'agente deve avere il privilegio BACKUP OPERATOR o BACKUP ADMIN. Per ulteriori informazioni, consulta il documento SAP Autorizzazioni necessarie per backup e 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 accesso sudo per eseguire i comandi seguenti. Puoi anche fornire l'accesso sudo 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 comando hanadiskbackup dell'agente per SAP di Google Cloud:

    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 \
        -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 dell'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 dell'host locale nel nodo SAP HANA principale. Non usare l'IP virtuale (VIP) usato nel cluster per identificare il nodo principale. 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 recupero

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

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

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

    • SOURCE_DISK_NAME: il nome del Persistent Disk o del volume 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

    Nella tabella seguente sono descritti 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. Ti consigliamo di utilizzare -password-secret.

    -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 includa almeno una lettera maiuscola, una lettera minuscola e un numero.

    Non specificare questo argomento se utilizzi l'argomento -password.

    -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 o meno qualsiasi snapshot del disco esistente. Il valore predefinito è false.
    -snapshot-name

    Facoltativo. Specifica il nome dello snapshot del disco che stai creando.

    Per impostazione predefinita, il nome dello snapshot è nel seguente formato: snapshot-SOURCE_DISK_NAME-YYYYMMDD-HHMMSS.

    -source-disk Specifica il nome del Persistent Disk o del volume 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 con una chiave di crittografia fornita dal cliente, specifica il percorso assoluto della chiave.
    -storage-location Facoltativo. Specifica la regione Cloud Storage o la regione 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 o meno 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 e error.

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 Istantanee

  • In alternativa, puoi visualizzare i dettagli dello snapshot del disco nel seguente file di log dell'agente per SAP di Google Cloud:

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

Esamina il catalogo di backup 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 degli snapshot del disco 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 al seguente esempio:

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

Questo output include i seguenti valori:

  • BACKUP_ID: l'ID di backup assegnato allo snapshot del disco nel tuo 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: la data e l'ora in cui è stato creato lo snapshot

Esegui il ripristino utilizzando uno snapshot del disco

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

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 questi passaggi:

  1. Recupera il disco che ospita il volume /hana/data eseguendo il comando hanadiskrestore 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 disco
    • SID: l'identificatore di sistema SAP (SID) del tuo sistema SAP HANA
    • SOURCE_SNAPSHOT_NAME: il nome dello snapshot del disco con cui stai creando il nuovo disco
    • SOURCE_DISK_NAME: il nome del disco di origine che ospita il tuo volume /hana/data
    • SOURCE_DISK_ZONE: il nome della zona in cui è stato eseguito il deployment del disco di origine

    Per informazioni sugli argomenti che puoi utilizzare con il comando hanadiskrestore, consulta la pagina Argomenti supportati per il ripristino dei dischi.

  2. Recupera il tuo database SAP HANA utilizzando l'opzione richiesta:

    Ripristina ora snapshot

    Per recuperare il tuo database SAP HANA ripristinandolo al momento della creazione dello snapshot del disco, segui questi passaggi:

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

    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 il comando seguente:
      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: numero di istanza SAP HANA
    4. 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.

    Recupera in un momento specifico

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

    1. Verifica di aver creato un backup per il volume /hana/log in Cloud Storage utilizzando la funzionalità Backint dell'agente per SAP di Google Cloud. Per maggiori informazioni su questa funzionalità, consulta Backup e ripristino basati su Backint per SAP HANA.
    2. 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.

    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 il comando seguente:
      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: numero di istanza SAP HANA
    5. Recupera i database tenant eseguendo questo comando per ciascun 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 tenant.

Argomenti supportati per il ripristino del disco

Nella tabella seguente sono descritti 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 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 si trova 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.
-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 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 interrompere forzatamente SAP HANA prima di avviare l'operazione di recupero, specifica questo argomento e impostane il valore su true. Il valore predefinito è false.
-provisioned-iops Facoltativo. Se vuoi creare un volume Hyperdisk, specifica le IOPS (operazioni di I/O al secondo) che deve gestire.
-provisioned-throughput Facoltativo. Se vuoi creare un volume Hyperdisk, specifica la velocità effettiva che deve supportare.
-disk-size-gb

Facoltativo. Specifica la dimensione, in GB, per il nuovo disco. Per impostazione predefinita, il nuovo disco ha le stesse dimensioni del disco esistente.

Il nuovo disco non deve avere dimensioni inferiori a quello 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:

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

  2. In qualità di 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
  3. Arresta le istanze di database SAP HANA eseguendo il comando seguente sui nodi principali e in standby del cluster ad alta disponibilità:

    HDB stop
  4. Passa al nodo principale del sistema SAP HANA ad alta disponibilità.

  5. Recupera il disco che ospita il volume /hana/data eseguendo il comando hanadiskrestore 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 disco
    • SID: l'identificatore di sistema SAP (SID) del tuo sistema SAP HANA
    • SOURCE_SNAPSHOT_NAME: il nome dello snapshot del disco con cui stai creando il nuovo disco
    • SOURCE_DISK_NAME: il nome del disco di origine che ospita il tuo volume /hana/data
    • SOURCE_DISK_ZONE: il nome della zona in cui è stato eseguito il deployment del disco di origine

    Per informazioni sugli argomenti che puoi utilizzare con il comando hanadiskrestore, consulta la pagina Argomenti supportati per il ripristino dei dischi.

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

    hdbnsutil -sr_unregister
  7. Sul nodo principale del sistema SAP HANA ad alta disponibilità, disabilita la replica del sistema SAP HANA:

    hdbnsutil -sr_disable
  8. Sul nodo principale, recupera il database SAP HANA utilizzando l'opzione richiesta:

    Ripristina ora snapshot

    Per recuperare il tuo database SAP HANA ripristinandolo al momento della creazione dello snapshot del disco, segui questi passaggi:

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

    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 il comando seguente:
      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: numero di istanza SAP HANA
    4. 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.

    Recupera in un momento specifico

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

    1. Verifica di aver creato un backup per il volume /hana/log in Cloud Storage utilizzando la funzionalità Backint dell'agente per SAP di Google Cloud. Per maggiori informazioni su questa funzionalità, consulta Backup e ripristino basati su Backint per SAP HANA.
    2. 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.

    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 il comando seguente:
      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: numero di istanza SAP HANA
    5. Recupera i database tenant eseguendo questo comando per ciascun 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 tenant.

  9. Sul nodo principale, 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 il database nel nodo primario.

  12. Come 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 e scale up

Per recuperare il database per un sistema di scale up SAP HANA di cui è stato eseguito il deployment con una soluzione di ripristino di emergenza su Google Cloud, completa questi passaggi:

  1. Arresta i database SAP HANA eseguendo il comando seguente su entrambe le istanze principali e in standby del deployment di RE:

    HDB stop
  2. Passa all'istanza principale del deployment di RE di SAP HANA.

  3. Recupera il disco che ospita il volume /hana/data eseguendo il comando hanadiskrestore 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 disco
    • SID: l'identificatore di sistema SAP (SID) del tuo sistema SAP HANA
    • SOURCE_SNAPSHOT_NAME: il nome dello snapshot del disco con cui stai creando il nuovo disco
    • SOURCE_DISK_NAME: il nome del disco di origine che ospita il tuo volume /hana/data
    • SOURCE_DISK_ZONE: il nome della zona in cui è stato eseguito il deployment del disco di origine

    Per informazioni sugli argomenti che puoi utilizzare con il comando hanadiskrestore, consulta la pagina Argomenti supportati per il ripristino dei dischi.

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

    hdbnsutil -sr_disable
  5. Nell'istanza principale, recupera il database SAP HANA utilizzando l'opzione richiesta:

    Ripristina ora snapshot

    Per recuperare il tuo database SAP HANA ripristinandolo al momento della creazione dello snapshot del disco, segui questi passaggi:

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

    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 il comando seguente:
      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: numero di istanza SAP HANA
    4. 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.

    Recupera in un momento specifico

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

    1. Verifica di aver creato un backup per il volume /hana/log in Cloud Storage utilizzando la funzionalità Backint dell'agente per SAP di Google Cloud. Per maggiori informazioni su questa funzionalità, consulta Backup e ripristino basati su Backint per SAP HANA.
    2. 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.

    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 il comando seguente:
      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: numero di istanza SAP HANA
    5. Recupera i database tenant eseguendo questo comando per ciascun 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 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 il database nell'istanza principale.

Eseguire una copia di sistema o un aggiornamento del sistema

Per utilizzare un backup basato su snapshot del disco di un sistema SAP HANA al fine di eseguire il ripristino in un altro sistema SAP HANA, completa i seguenti passaggi:

  1. 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.
  2. 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 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 tuo database tenant abbia il SID del sistema di origine, puoi rinominarlo seguendo le istruzioni nel documento SAP HANA Rinominare un database tenant.

  6. 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 sistema
    • INSTANCE_NUMBER: 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 degli 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, segui questi passaggi:

  1. Crea un disco da uno snapshot che hai creato utilizzando il comando hanadiskbackup dell'agente. Utilizza il 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 di 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 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: nome della VM in cui vuoi eseguire il deployment del disco che hai creato
    • DISK_NAME: il nome del disco che hai creato
    • ZONE: la zona di Compute Engine in cui viene eseguito il deployment della VM
  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 alcun volume logico attivo:

      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
    2. 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
      
    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 al seguente esempio:

      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 dello strumento hdbpersdiag.

  7. Se prevedi di eseguire questo controllo di coerenza in futuro, puoi lasciare il nuovo gruppo di volumi così com'è. In caso contrario, eliminalo.

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

    VM_INSTANCE_NAME \
       --disk=DISK_NAME \
       --zone=ZONE
    
  9. 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 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 è richiesto un intervento manuale.

Per risolvere qualsiasi problema relativo alla funzionalità di snapshot del disco dell'agente per SAP di Google Cloud, consulta Problema con un'operazione di backup o di ripristino basata su snapshot del disco.

Richiedere assistenza

Se hai bisogno di aiuto per risolvere un problema con l'agente di Google Cloud per SAP, raccogli le informazioni diagnostiche richieste e contatta l'assistenza clienti Google Cloud. Per saperne di più, consulta le informazioni diagnostiche sull'agente di Google Cloud per SAP for SAP HANA.