Backup e ripristino basati su snapshot del disco per SAP HANA

Questa guida alla pianificazione descrive la funzionalità Istantanea del disco dell'agente per SAP di Google Cloud. Per informazioni sulle altre funzionalità, consulta la guida alla pianificazione di Agent for SAP di Google Cloud.

La funzionalità snapshot del disco consente di eseguire operazioni di backup e ripristino per i sistemi di scale up di SAP HANA in esecuzione su istanze VM di Compute Engine.

Questa funzionalità è integrata con la funzionalità Snapshot di dati di SAP HANA, che consente di utilizzare snapshot standard del disco /hana/data per eseguire il backup e il recupero del tuo database SAP HANA.

Per istruzioni su come eseguire operazioni di backup e ripristino per SAP HANA utilizzando questa funzionalità dell'agente, consulta Eseguire backup e ripristino per SAP HANA utilizzando gli snapshot dei dischi.

Stima dei costi mensili

Ti vengono addebitati dei costi per gli snapshot standard creati. Per informazioni sui prezzi, consulta Snapshot di dischi.

Per stimare i costi mensili per l'utilizzo degli snapshot dei dischi come backup per il tuo volume di dati SAP HANA, puoi utilizzare il Calcolatore prezzi di Google Cloud. Utilizza le seguenti informazioni per stimare meglio il costo:

  • Dimensione intera stimata per lo snapshot iniziale del disco.
  • Dimensione delta stimata per ogni snapshot del disco.
  • Frequenza degli snapshot. Ad esempio, se crei uno snapshot ogni giorno, la frequenza degli snapshot è 24 ore.
  • Tempo di conservazione degli snapshot.
  • Ridondanza dell'archiviazione degli snapshot: una o più regioni.
  • Trasferimento di dati stimato tra regioni e tra regioni sulla tua rete. Ad esempio, potrebbero esserti addebitati costi di rete se crei o ripristini uno snapshot standard archiviato in una località diversa dal disco di origine.

Limitazioni

Le seguenti limitazioni si applicano al backup e al ripristino basati su snapshot quando si utilizza l'agente per SAP di Google Cloud:

  • Non puoi utilizzare la funzionalità per gli snapshot del disco dell'agente per i deployment con scale out di SAP HANA. Per saperne di più, consulta Utilizzo degli snapshot con deployment con scale out.
  • Devi garantire quanto segue per il volume /hana/data:
    • È ospitata in modo indipendente su un volume Persistent Disk o Hyperdisk basato su SSD senza striping. Questo disco non deve ospitare altri volumi SAP HANA. Come descritto nella nota SAP 2039883 - Domande frequenti: database e snapshot di dati SAP HANA (snapshot di dati), per poter recuperare il database SAP HANA, lo snapshot di archiviazione non deve includere l'area dei log del database.
    • È mappato a un volume logico. In questo modo l'agente può gestire correttamente il punto di montaggio durante le operazioni di backup o ripristino basate sugli snapshot del disco.
  • Se hai eseguito il deployment del tuo sistema SAP HANA utilizzando strumenti Infrastructure as Code (IaC) come Terraform, l'agente può creare backup basati su snapshot, ma non può eseguire operazioni di recupero. Per maggiori informazioni, consulta Utilizzo degli snapshot con i deployment basati sullo strumento IaC.
  • Devi eseguire operazioni di backup e ripristino utilizzando l'istanza dell'agente in esecuzione sulla tua VM host SAP HANA. Non puoi utilizzare istanze di agente in esecuzione su altre VM.
  • Per eseguire le operazioni di backup e ripristino, devi concedere l'accesso sudo a determinati comandi del sistema operativo fornendo l'accesso root o utilizzando un gruppo sudo appropriato. Per maggiori informazioni, consulta Impostare le autorizzazioni.

Autorizzazioni obbligatorie

Per consentire all'agente di Google Cloud per SAP di eseguire operazioni di backup e ripristino basate su snapshot del disco per il tuo sistema SAP HANA, devi impostare le autorizzazioni per quanto segue:

  • Il progetto Google Cloud in cui è in esecuzione il tuo sistema SAP HANA.
  • L'utente che esegue i comandi dell'agente nel sistema operativo, che potrebbe essere l'utente del sistema operativo SAP HANA o il tuo utente.
  • L'utente del database SAP HANA utilizzato dall'agente.

Per informazioni sulle autorizzazioni che devi concedere, vedi Impostare le autorizzazioni.

Crea backup basati su snapshot del disco

Per creare backup basati su snapshot del disco per SAP HANA utilizzando l'agente per SAP di Google Cloud, esegui il comando hanadiskbackup. Per le istruzioni, consulta Eseguire backup e ripristino per SAP HANA utilizzando gli snapshot dei dischi.

Il seguente diagramma di flusso mostra i passaggi eseguiti dall'agente per creare il backup:

Diagramma di flusso per il backup basato su snapshot del disco per SAP HANA utilizzando l'agente per SAP di Google Cloud

In che modo la funzionalità per lo snapshot del disco dell'agente crea il backup per SAP HANA

Dopo aver eseguito il comando hanadiskbackup, l'agente procede nel seguente modo:

  1. Convalida tutti gli argomenti di input forniti al comando hanadiskbackup.
  2. Si connette al tuo database SAP HANA utilizzando gli input forniti al comando "hanadiskbackup".
  3. Verifica che non ci siano snapshot esistenti.

    Se è presente uno snapshot esistente del disco che ospita il volume /hana/data e se non hai specificato abandon-prepared=TRUE con il comando hanadiskbackup, l'agente esce da questa procedura e non viene creato alcun backup. Dovrai quindi esaminare ed eseguire manualmente il comando hanadiskbackup.

  4. Informa SAP HANA che la creazione di snapshot è iniziata.
  5. Crea uno snapshot del volume Persistent Disk Hyperdisk che ospita il volume /hana/data.
  6. Informa SAP HANA che la creazione dello snapshot è riuscita.

Se l'agente non riesce a completare un passaggio in questa procedura di backup, contrassegna la creazione dello snapshot come UNSUCCESSFUL e chiude la procedura. Dovrai quindi esaminare ed eseguire manualmente il comando hanadiskbackup. Puoi visualizzare le voci nel file /var/log/google-cloud-sap-agent/hanadiskbackup.log per scoprire perché l'agente è uscito dalla procedura di backup.

Crea backup delta

Quando esegui il comando hanadiskbackup, l'agente crea uno snapshot standard per il disco specificato.

Un vantaggio degli snapshot di dischi standard è che sono incrementali, in cui ogni backup successivo archivia solo modifiche ai blocchi incrementali invece di creare un backup completamente nuovo. Ciò significa che, dopo aver creato il primo snapshot del disco per SAP HANA utilizzando l'agente di Google Cloud per SAP, tutti gli snapshot successivi che crei sono backup delta per impostazione predefinita. Non devi fare nient'altro per creare backup delta.

Per ulteriori informazioni, consulta Come funzionano gli snapshot standard incrementali.

Cripta gli snapshot dei dischi

Per impostazione predefinita, i dati at-rest in Google Cloud vengono criptati utilizzando l'algoritmo AES-256. Ciò si applica ai dati archiviati in dischi e snapshot di dischi. In alternativa, puoi criptare gli snapshot utilizzando una chiave di crittografia gestita dal cliente (CMEK) o una chiave di crittografia fornita dal cliente (CSEK).

Puoi anche implementare un ulteriore livello di sicurezza abilitando la crittografia fornita da SAP HANA per il volume di dati. Per informazioni su questa opzione, consulta Abilitazione della crittografia di dati e volumi di log.

Recupera i dati SAP HANA utilizzando gli snapshot dei dischi

Per avviare il ripristino per il tuo database SAP HANA utilizzando un backup basato su snapshot del disco, esegui il comando hanadiskrestore. Per le istruzioni, consulta Eseguire backup e ripristino per SAP HANA utilizzando gli snapshot dei dischi.

Il seguente diagramma di flusso mostra come utilizzare la funzionalità di snapshot del disco dell'agente per recuperare un database SAP HANA:

Diagramma di flusso per il recupero basato su snapshot del disco per SAP HANA mediante agente per SAP di Google Cloud

Come eseguire il ripristino per SAP HANA utilizzando la funzionalità di snapshot del disco dell'agente

Per recuperare il tuo database SAP HANA utilizzando gli snapshot dei dischi, segui questi passaggi:

  1. Recupera il disco che ospita il volume /hana/data utilizzando l'agente per SAP di Google Cloud. Per farlo, esegui il comando hanadiskrestore dell'agente. Per le istruzioni, consulta Eseguire backup e ripristino per SAP HANA utilizzando gli snapshot dei dischi.

    Di seguito è riportata la procedura di alto livello che l'agente si impegna per recuperare il tuo volume di dati SAP HANA utilizzando uno snapshot del disco. Il diagramma di flusso precedente mostra questi passaggi.

    1. Convalida tutti gli argomenti di input forniti al comando hanadiskrestore.
    2. Arresta SAP HANA.
    3. Smonta il volume /hana/data.
    4. Scollega il disco che ospita il volume /hana/data dalla VM host.
    5. Crea un nuovo disco per il volume /hana/data da uno snapshot del disco.
    6. Collega il nuovo disco alla VM host.
    7. Eseguire di nuovo la scansione dei gruppi di volumi per SAP HANA.
  2. Recupera manualmente il database SAP HANA all'ora dello snapshot o a un momento specifico, come descritto nelle sottosezioni seguenti.

Se l'agente non riesce a completare un passaggio qualsiasi della procedura, esce dalla procedura. Dovrai quindi esaminare manualmente i problemi, risolvere i problemi se necessario e poi riprovare a utilizzare il comando hanadiskrestore. Puoi visualizzare le voci nel file /var/log/google-cloud-sap-agent/hanadiskrestore.log per scoprire perché l'agente è uscito dalla procedura di recupero del database.

Recupera un momento specifico

Per recuperare il tuo database SAP HANA in un momento specifico, oltre a uno snapshot del disco che ospita il volume /hana/data, sono necessari i backup delta e dei log di SAP HANA necessari che hai creato in precedenza per il database.

Puoi creare il backup dei log SAP HANA utilizzando la funzionalità Backint dell'agente o un backup del file system del tuo database SAP HANA.

Durante l'esecuzione del recupero, se specifichi un timestamp nel futuro, il database SAP HANA viene ripristinato allo stato più recente.

Ripristino da un'origine esterna

Puoi utilizzare i backup basati su snapshot del disco che hai creato per un sistema SAP HANA al fine di ripristinare un altro sistema SAP HANA. Puoi utilizzare questa funzionalità anche per spostare i sistemi tra diversi ambienti, ad esempio da un ambiente di test a un ambiente di controllo qualità.

Per le istruzioni, consulta Eseguire una copia di sistema o l'aggiornamento del sistema.

Utilizzo degli snapshot dei dischi con i deployment SAP HANA

Le seguenti sezioni forniscono informazioni di pianificazione specifiche per l'utilizzo della funzionalità di snapshot del disco dell'agente di Google Cloud per SAP, con sistemi di scale up di SAP HANA:

Utilizzo di snapshot con deployment ad alta disponibilità

In un sistema di scale up SAP HANA in esecuzione in un cluster ad alta disponibilità, devi installare l'agente di Google Cloud per SAP sia sul nodo principale sia sul nodo in standby del cluster.

Per creare backup basati su snapshot del disco per un sistema SAP HANA ad alta disponibilità, devi eseguire il comando hanadiskbackup solo sul disco /hana/data nel nodo principale. Se si verifica un evento di failover, devi eseguire il comando hanadiskbackup sul nuovo nodo primario. Inoltre, durante l'esecuzione del comando, devi specificare il nome host o l'indirizzo IP di SAP HANA dell'host del nodo principale. Non specificare l'IP virtuale (VIP) SAP HANA utilizzato nel cluster.

Durante le operazioni di ripristino, puoi utilizzare lo snapshot del disco per recuperare il disco che ospita il volume /hana/data nel nodo principale o in standby. Puoi ripristinare il tuo database SAP HANA fino al momento in cui è stato creato lo snapshot del disco o a qualsiasi momento specifico.

Utilizzo degli snapshot con i deployment di RE

Per un sistema di scale up SAP HANA in un deployment di ripristino di emergenza (RE) su Google Cloud, devi installare l'agente di Google Cloud per SAP sia sull'host principale che su quello in standby.

Per creare backup basati su snapshot del disco per un sistema SAP HANA ad alta disponibilità, devi eseguire il comando hanadiskbackup solo sul disco /hana/data nell'istanza del database principale. Se interrompi la replica del sistema SAP HANA e promuovi l'istanza del database in standby, devi eseguire il comando hanadiskbackup sulla nuova istanza principale.

Per i deployment di RE, esegui operazioni di recupero sull'istanza di database principale. Puoi ripristinare il tuo database SAP HANA fino al momento in cui è stato creato lo snapshot del disco o a qualsiasi momento specifico.

Utilizzo di snapshot con deployment con scale out

La funzionalità di snapshot del disco dell'agente per SAP di Google Cloud non è compatibile con i deployment con scale out di SAP HANA.

Tuttavia, puoi utilizzare le seguenti opzioni per eseguire operazioni di backup e ripristino per i deployment con scale out di SAP HANA:

Utilizzo degli snapshot con i deployment basati su strumento IaC

La funzionalità di snapshot del disco dell'agente per SAP di Google Cloud è parzialmente compatibile con i sistemi SAP HANA di cui è stato eseguito il deployment utilizzando strumenti Infrastructure as Code (IaC) come Terraform.

Sebbene l'agente possa creare backup basati su snapshot per questi sistemi, non può eseguire operazioni di recupero. Questo perché il recupero basato su snapshot mediante l'agente include la creazione di un disco per il volume /hana/data, il che può causare conflitti o problemi nelle modalità di gestione dello stato da parte dell'IaC.

Ad esempio, dopo aver eseguito il ripristino utilizzando l'agente, ogni volta che lo strumento IaC controlla lo stato del disco che ospita il volume /hana/data, lo strumento prova a ripristinare la configurazione definita del sistema ricollegando il disco precedente o eliminando il nuovo disco e ricreando il disco precedente. Ognuna di queste azioni può influenzare gravemente il tuo database SAP HANA, tanto da renderlo inutilizzabile.

Tuttavia, la maggior parte degli strumenti IaC fornisce flussi di lavoro che consentono di modificare lo stato del sistema per stare al passo con le modifiche all'infrastruttura gestita. Di seguito è riportata una procedura di alto livello che puoi utilizzare per eseguire il ripristino dei tuoi sistemi SAP HANA di cui è stato eseguito il deployment mediante strumenti IaC:

  1. Arresta il database SAP HANA. Per le istruzioni, consulta il documento SAP Avvio e arresto di sistemi SAP HANA.

  2. Arresta l'istanza VM di Compute Engine che ospita il tuo sistema SAP HANA. Nei deployment ad alta disponibilità o RE, arresta tutte le VM. Per le istruzioni, consulta Arrestare una VM.

  3. Nel file di configurazione IaC che contiene la definizione del tuo sistema SAP HANA, modifica la definizione del disco per il volume /hana/data in modo che possa essere ricreato utilizzando uno snapshot del disco esistente. Per i deployment ad alta disponibilità/RE, esegui questa azione per il nodo SAP HANA principale.

    Ad esempio, se hai eseguito il deployment del tuo sistema SAP HANA utilizzando una delle configurazioni Terraform fornite da Google Cloud, nel file ./terraform/modules/sap_hana/main.tf includi l'argomento snapshot come segue:

    # Split data/log/sap disks
    resource "google_compute_disk" "sap_hana_data_disks" {
     count   = var.use_single_shared_data_log_disk ? 0 : var.sap_hana_scaleout_nodes + 1
     name    = format("${var.instance_name}-data%05d", count.index + 1)
     type    = local.final_data_disk_type
     zone    = var.zone
     size    = local.data_pd_size
     snapshot = "hana-SID-snapshot-YYYYMMDD-HHMMSS"
     project = var.project_id
     provisioned_iops = local.final_data_iops
    }
    
  4. Applica la configurazione modificata. Ad esempio, se utilizzi Terraform, esegui questi comandi:

    terraform validate
    terraform apply
    
  5. Recupera il tuo database SAP HANA. Per le istruzioni, consulta Eseguire il ripristino utilizzando uno snapshot del disco.

Abilita il logging

Durante l'esecuzione di operazioni di backup e ripristino basate su snapshot del disco, l'agente per SAP di Google Cloud scrive nei seguenti file di log: hanadiskbackup.log e hanadiskrestore.log, rispettivamente.

Questi file di log si trovano nella directory /var/log/google-cloud-sap-agent/ sul tuo host.

Per impostazione predefinita, il logging è abilitato durante le operazioni di backup e ripristino. Il livello di log predefinito è info. Puoi aumentare o diminuire il livello di log utilizzando l'argomento -loglevel quando esegui i comandi hanadiskbackup e hanadiskrestore.

abilita il monitoraggio

Per impostazione predefinita, l'agente di Google Cloud per SAP invia le seguenti metriche a Cloud Monitoring ogni volta che esegui il comando hanadiskbackup. Ciò è controllato dall'argomento -send-metrics-to-monitoring, che ha il valore predefinito TRUE.

Puoi visualizzare queste metriche in una dashboard e utilizzarle per configurare gli avvisi.

Metrica Descrizione
workload.googleapis.com/sap/agent/hanadiskbackup/status

Boolean

Indica se l'operazione di backup basata su snapshot del disco è riuscita o meno. Il valore true indica un successo, mentre false indica un errore.

workload.googleapis.com/sap/agent/hanadiskbackup/totaltime

Int

Indica il tempo, in secondi, richiesto dall'operazione di backup per creare lo snapshot del disco, compreso il tempo per caricarlo nel bucket Cloud Storage specificato.

workload.googleapis.com/sap/agent/hanadiskbackup/dbfreezetime

Int

Indica il tempo, in secondi, che il tuo file system SAP HANA è stato bloccato durante l'operazione di backup basato sullo snapshot del disco.

Best practice

Quando utilizzi gli snapshot dei dischi per eseguire operazioni di backup e ripristino per SAP HANA, consigliamo le seguenti best practice:

  • Prepara opzioni di recupero alternative per il tuo database. Ti consigliamo vivamente di progettare la tua strategia di backup e ripristino in modo che combini diversi metodi. Ad esempio, puoi utilizzare la funzionalità di snapshot del disco dell'agente in combinazione con un backup completo del tuo database SAP HANA creato utilizzando la funzionalità Backint dell'agente o utilizzando un backup del file system.
  • Esegui controlli di coerenza per gli snapshot di volumi e dischi /hana/data. Poiché i controlli di integrità a livello di blocco non vengono eseguiti durante le operazioni di backup basate su snapshot, ti consigliamo di eseguire regolarmente i seguenti controlli di coerenza utilizzando lo strumento hdbpersdiag:

    • Esegui i controlli di coerenza della pagina per il volume /hana/data. Questa attività richiede tempi di inattività in quanto lo strumento non sarà in grado di controllare le pagine di dati di un volume di dati specifico se è presente un processo che utilizza il volume di dati, ad esempio il server di indice SAP HANA.
    • Su una VM diversa dal tuo host SAP HANA, esegui il deployment di un disco temporaneo da uno snapshot creato utilizzando il comando hanadiskbackup dell'agente, quindi esegui un controllo di coerenza su quel disco. Per le istruzioni, consulta Convalida della coerenza degli snapshot.

    Per saperne di più sullo strumento hdbpersdiag, consulta il documento SAP Eseguire i controlli della coerenza.

  • Esegui attività di manutenzione per gli snapshot dei dischi. Poiché l'agente di Google Cloud per SAP non esegue attività di manutenzione per gli snapshot del disco, ti consigliamo di rivederli periodicamente ed eseguire attività come l'eliminazione dei vecchi snapshot.

    Per ulteriori informazioni sulle best practice relative agli snapshot dei dischi, consulta Best practice per gli snapshot dei dischi di Compute Engine.