Backup di SAP HANA basato su snapshot di archiviazioneSAP HANA backup based on storage snapshots

IntroduzioneIntroduction

Questo articolo fa parte di una serie di tre articoli correlati dedicati al backup di SAP HANA.This is part of a three-part series of related articles on SAP HANA backup. La Guida del backup di SAP HANA in macchine virtuali di Azure offre una panoramica e informazioni introduttive, mentre SAP HANA Azure Backup on file level (Backup di SAP HANA in Azure a livello di file) tratta l'opzione relativa al backup basato su file.Backup guide for SAP HANA on Azure Virtual Machines provides an overview and information on getting started, and SAP HANA Azure Backup on file level covers the file-based backup option.

Quando si usa una funzionalità di backup di VM per un sistema dimostrativo all-in-one a istanza singola, è preferibile eseguire il backup della VM anziché gestire i backup HANA a livello di sistema operativo.When using a VM backup feature for a single-instance all-in-one demo system, one should consider doing a VM backup instead of managing HANA backups at the OS level. Un'alternativa consiste nell'acquisire snapshot BLOB di Azure per creare copie dei singoli dischi virtuali collegati a una macchina virtuale e mantenere i file di dati HANA.An alternative is to take Azure blob snapshots to create copies of individual virtual disks, which are attached to a virtual machine, and keep the HANA data files. La coerenza delle app è molto importante durante la creazione di uno snapshot di backup o del disco di una VM mentre il sistema è in esecuzione.But a critical point is app consistency when creating a VM backup or disk snapshot while the system is up and running. Vedere Coerenza dei dati SAP HANA durante l'esecuzione degli snapshot di archiviazione nell'articolo correlato Guida del backup di SAP HANA in Macchine virtuali di Azure.See SAP HANA data consistency when taking storage snapshots in the related article Backup guide for SAP HANA on Azure Virtual Machines. SAP HANA dispone di una funzionalità che supporta questi tipi di snapshot di archiviazione.SAP HANA has a feature that supports these kinds of storage snapshots.

Snapshot di SAP HANASAP HANA snapshots

SAP HANA dispone di una funzionalità che supporta la creazione di uno snapshot di archiviazione.There is a feature in SAP HANA that supports taking a storage snapshot. Tuttavia, a partire da dicembre 2016, esiste una limitazione per i sistemi a contenitore singolo.However, as of December 2016, there is a restriction to single-container systems. Le configurazioni con contenitore multi-tenant non supportano questo tipo di snapshot del database (vedere Create a Storage Snapshot (SAP HANA Studio) (Creare uno snapshot di archiviazione (SAP HANA Studio))).Multitenant container configurations do not support this kind of database snapshot (see Create a Storage Snapshot (SAP HANA Studio)).

Il funzionamento è il seguente:It works as follows:

  • Preparare la creazione dello snapshot di archiviazione avviando lo snapshot di SAP HANAPrepare for a storage snapshot by initiating the SAP HANA snapshot
  • Eseguire lo snapshot di archiviazione (ad esempio uno snapshot BLOB di Azure)Run the storage snapshot (Azure blob snapshot, for example)
  • Confermare lo snapshot SAP HANAConfirm the SAP HANA snapshot

La schermata mostra che è possibile creare uno snapshot dei dati di SAP HANA tramite un'istruzione SQL

La schermata mostra che è possibile creare uno snapshot dei dati di SAP HANA tramite un'istruzione SQL.This screenshot shows that an SAP HANA data snapshot can be created via a SQL statement.

Lo snapshot appare anche nel catalogo di backup in SAP HANA Studio

Lo snapshot appare anche nel catalogo di backup in SAP HANA Studio.The snapshot then also appears in the backup catalog in SAP HANA Studio.

Sul disco lo snapshot appare nella directory dei dati di SAP HANA

Sul disco lo snapshot appare nella directory dei dati di SAP HANA.On disk, the snapshot shows up in the SAP HANA data directory.

Prima di eseguire lo snapshot di archiviazione, mentre SAP HANA si trova nella modalità di preparazione dello snapshot, è necessario assicurarsi che sia garantita anche la coerenza del file system.One has to ensure that the file system consistency is also guaranteed before running the storage snapshot while SAP HANA is in the snapshot preparation mode. Vedere Coerenza dei dati SAP HANA durante l'esecuzione degli snapshot di archiviazione nell'articolo correlato Guida del backup di SAP HANA in Macchine virtuali di Azure.See SAP HANA data consistency when taking storage snapshots in the related article Backup guide for SAP HANA on Azure Virtual Machines.

Dopo avere completato lo snapshot di archiviazione, è fondamentale confermare lo snapshot di SAP HANA.Once the storage snapshot is done, it is critical to confirm the SAP HANA snapshot. C'è un'istruzione SQL corrispondente da eseguire, ovvero BACKUP DATA CLOSE SNAPSHOT: vedere BACKUP DATA CLOSE SNAPSHOT Statement - Backup and Recovery (Istruzione BACKUP DATA CLOSE SNAPSHOT - Backup e ripristino).There is a corresponding SQL statement to run: BACKUP DATA CLOSE SNAPSHOT (see BACKUP DATA CLOSE SNAPSHOT Statement (Backup and Recovery)).

Importante

Confermare lo snapshot HANA.Confirm the HANA snapshot. A causa di "Copy-on-Write" SAP HANA potrebbe richiedere ulteriore spazio su disco nella modalità di preparazione dello snapshot e non è possibile avviare nuovi backup fino a quando lo snapshot di SAP HANA viene confermato.Due to "Copy-on-Write," SAP HANA might require additional disk space in snapshot-prepare mode, and it is not possible to start new backups until the SAP HANA snapshot is confirmed.

Backup di VM HANA tramite il servizio Backup di AzureHANA VM backup via Azure Backup service

A partire da dicembre 2016 l'agente di backup del servizio Backup di Azure non è disponibile per le VM Linux.As of December 2016, the backup agent of the Azure Backup service is not available for Linux VMs. Per usare il backup di Azure a livello di file o directory, è necessario copiare i file di backup di SAP HANA in una VM Windows e quindi usare l'agente di backup.To make use of Azure backup on the file/directory level, one would copy SAP HANA backup files to a Windows VM and then use the backup agent. Altrimenti è possibile soltanto eseguire un backup completo di una VM Linux tramite il servizio Backup di Azure.Otherwise, only a full Linux VM backup is possible via the Azure Backup service. Per altre informazioni, vedere Panoramica delle funzionalità di Backup di Azure.See Overview of the features in Azure Backup to find out more.

Il servizio Backup di Azure offre un'opzione per eseguire il backup e il ripristino di una VM.The Azure Backup service offers an option to back up and restore a VM. Altre informazioni su questo servizio e il suo funzionamento sono riportate nell'articolo Pianificare l'infrastruttura di backup delle VM in Azure.More information about this service and how it works can be found in the article Plan your VM backup infrastructure in Azure.

L'articolo afferma che ci sono due fattori importanti da considerare:There are two important considerations according to that article:

"Per le macchine virtuali Linux sono possibili solo backup coerenti con i file perché Linux non ha una piattaforma equivalente al Servizio Copia Shadow del volume.""For Linux virtual machines, only file-consistent backups are possible, since Linux does not have an equivalent platform to VSS."

"Le applicazioni devono implementare il proprio meccanismo di "correzione" sui dati ripristinati.""Applications need to implement their own "fix-up" mechanism on the restored data."

Pertanto è necessario assicurarsi che SAP HANA sia in uno stato coerente sul disco all'avvio del backup.Therefore, one has to make sure SAP HANA is in a consistent state on disk when the backup starts. Vedere gli snapshot di SAP HANA descritti in precedenza nel documento.See SAP HANA snapshots described earlier in the document. Ma esiste un problema potenziale quando SAP HANA si trova in questa modalità di preparazione dello snapshot.But there is a potential issue when SAP HANA stays in this snapshot preparation mode. Per altre informazioni, vedere Create a Storage Snapshot - SAP HANA Studio (Creare uno snapshot di archiviazione - SAP HANA Studio).See Create a Storage Snapshot (SAP HANA Studio) for more information.

L'articolo afferma quanto segue:That article states:

"Si consiglia di confermare o abbandonare uno snapshot di archiviazione appena possibile dopo che è stato creato. Mentre lo snapshot di archiviazione viene preparato o creato, i dati interessati dallo snapshot vengono bloccati. Mentre i dati interessati dallo snapshot rimangano bloccati è comunque possibile apportare modifiche nel database. Tali modifiche non comporteranno variazioni nei dati bloccati interessati dallo snapshot. Le modifiche vengono scritte in posizioni dell'area dati separate dallo snapshot di archiviazione. Le modifiche vengono scritte anche nel log. Più i dati interessati dallo snapshot sono mantenuti bloccati, più il volume dei dati può aumentare.""It is strongly recommended to confirm or abandon a storage snapshot as soon as possible after it has been created. While the storage snapshot is being prepared or created, the snapshot-relevant data is frozen. While the snapshot-relevant data remains frozen, changes can still be made in the database. Such changes will not cause the frozen snapshot-relevant data to be changed. Instead, the changes are written to positions in the data area that are separate from the storage snapshot. Changes are also written to the log. However, the longer the snapshot-relevant data is kept frozen, the more the data volume can grow."

Il servizio Backup di Azure si occupa della coerenza del file system mediante le estensioni di VM di Azure.Azure Backup takes care of the file system consistency via Azure VM extensions. Queste estensioni non sono disponibili in modalità autonoma e funzionano solo in combinazione con il servizio Backup di Azure.These extensions are not available standalone, and work only in combination with Azure Backup service. È comunque necessario gestire uno snapshot di SAP HANA per garantire la coerenza delle app.Nevertheless, it is still a requirement to manage an SAP HANA snapshot to guarantee app consistency.

Backup di Azure presenta due fasi principali:Azure Backup has two major phases:

  • Creare lo snapshotTake Snapshot
  • Trasferire i dati all'insieme di credenzialiTransfer data to vault

Perciò è possibile confermare lo snapshot di SAP HANA dopo che la fase di creazione dello snapshot del servizio Backup di Azure è stata completata.So one could confirm the SAP HANA snapshot once the Azure Backup service phase of taking a snapshot is completed. Potrebbero essere necessari alcuni minuti per poter osservare questo nel portale di Azure.It might take several minutes to see in the Azure portal.

La figura mostra una parte dell'elenco del processo di backup di un servizio Backup di Azure

La figura mostra una parte dell'elenco del processo di backup di un servizio Backup di Azure che è stato utilizzato per eseguire il backup della VM HANA di test.This figure shows part of the backup job list of an Azure Backup service, which was used to back up the HANA test VM.

Per vedere i dettagli del processo fare clic sul processo di backup nel portale di Azure

Per vedere i dettagli del processo fare clic sul processo di backup nel portale di Azure.To show the job details, click the backup job in the Azure portal. Qui è possibile osservare le due fasi.Here, one can see the two phases. Il completamento della fase di snapshot potrebbe richiedere alcuni minuti.It might take a few minutes until it shows the snapshot phase as completed. La fase di trasferimento dei dati è quella che impiega la maggior parte del tempo.Most of the time is spent in the data transfer phase.

Automazione del backup di VM HANA tramite il servizio Backup di AzureHANA VM backup automation via Azure Backup service

È possibile confermare lo snapshot di SAP HANA manualmente dopo il completamento della fase di snapshot di Backup di Azure, come descritto in precedenza, ma è utile considerare la possibilità dell'automazione perché un amministratore potrebbe non monitorare l'elenco dei processi di backup nel portale di Azure.One could manually confirm the SAP HANA snapshot once the Azure Backup snapshot phase is completed, as described earlier, but it is helpful to consider automation because an admin might not monitor the backup job list in the Azure portal.

Di seguito è riportata una spiegazione di come si potrebbe fare questo mediante i cmdlet di Azure PowerShell.Here is an explanation how it could be accomplished via Azure PowerShell cmdlets.

È stato creato un servizio Backup di Azure con il nome hana-backup-vault

È stato creato un servizio Backup di Azure con il nome "hana-backup-vault". Il comando PS Get-AzureRmRecoveryServicesVault -Name hana-backup-vault recupera l'oggetto corrispondente.An Azure Backup service was created with the name "hana-backup-vault." The PS command Get-AzureRmRecoveryServicesVault -Name hana-backup-vault retrieves the corresponding object. Questo oggetto viene quindi usato per impostare il contesto di backup, come illustrato nella figura riportata di seguito.This object is then used to set the backup context as seen on the next figure.

È possibile controllare il processo di backup in corso

Dopo aver impostato il contesto corretto, è possibile controllare il processo di backup in corso e quindi cercare i dettagli del processo.After setting the correct context, one can check for the backup job currently in progress, and then look for its job details. L'elenco delle sottoattività mostra se la fase di snapshot del processo di backup di Azure è già completata:The subtask list shows if the snapshot phase of the Azure backup job is already completed:

$ars = Get-AzureRmRecoveryServicesVault -Name hana-backup-vault
Set-AzureRmRecoveryServicesVaultContext -Vault $ars
$jid = Get-AzureRmRecoveryServicesBackupJob -Status InProgress | select -ExpandProperty jobid
Get-AzureRmRecoveryServicesBackupJobDetails -Jobid $jid | select -ExpandProperty subtasks

Eseguire il polling del valore in un ciclo fino a quando non diventa Completed

Quando i dettagli del processo sono archiviati in una variabile, basta la semplice sintassi PS per ottenere il primo elemento della matrice e recuperare il valore di stato.Once the job details are stored in a variable, it is simply PS syntax to get to the first array entry and retrieve the status value. Per completare lo script di automazione eseguire il polling del valore in un ciclo fino a quando non diventa "Completed".To complete the automation script, poll the value in a loop until it turns to "Completed."

$st = Get-AzureRmRecoveryServicesBackupJobDetails -Jobid $jid | select -ExpandProperty subtasks
$st[0] | select -ExpandProperty status

Chiave di licenza di HANA e ripristino di VM mediante il servizio Backup di AzureHANA license key and VM restore via Azure Backup service

Il servizio Backup di Azure è progettato in modo da creare una nuova VM durante il ripristino.The Azure Backup service is designed to create a new VM during restore. Al momento non è prevista la possibilità di eseguire un ripristino "sul posto" di una VM di Azure esistente.There is no plan right now to do an "in-place" restore of an existing Azure VM.

La figura illustra l'opzione di ripristino del servizio di Azure nel portale di Azure

La figura illustra l'opzione di ripristino del servizio di Azure nel portale di Azure.This figure shows the restore option of the Azure service in the Azure portal. È possibile scegliere tra creare una VM durante il ripristino e ripristinare i dischi.One can choose between creating a VM during restore or restoring the disks. Dopo il ripristino dei dischi è comunque necessario creare una nuova VM su tale ripristino.After restoring the disks, it is still necessary to create a new VM on top of it. Ogni volta che viene creata una nuova VM in Azure, l'ID VM univoco cambia (vedere Accesso e uso dell'ID univoco di una VM di Azure).Whenever a new VM gets created on Azure the unique VM ID changes (see Accessing and Using Azure VM Unique ID).

La figura mostra l'ID VM univoco di Azure prima e dopo il ripristino tramite il servizio Backup di Azure

La figura mostra l'ID VM univoco di Azure prima e dopo il ripristino tramite il servizio Backup di Azure.This figure shows the Azure VM unique ID before and after the restore via Azure Backup service. La chiave hardware SAP, che viene usata per la gestione delle licenze SAP, utilizza questo ID VM univoco.The SAP hardware key, which is used for SAP licensing, is using this unique VM ID. Di conseguenza, dopo il ripristino di una VM, è necessario installare una nuova licenza SAP.As a consequence, a new SAP license has to be installed after a VM restore.

Durante la creazione di questa guida al backup è stata presentata una nuova funzionalità di Backup di Azure in modalità di anteprima.A new Azure Backup feature was presented in preview mode during the creation of this backup guide. La funzionalità consente il ripristino a livello di file basato sullo snapshot di VM che è stato eseguito per il backup della VM.It allows a file level restore based on the VM snapshot that was taken for the VM backup. In questo modo si evita la necessità di distribuire una nuova VM, pertanto l'ID VM univoco rimane lo stesso e non è necessaria una nuova chiave di licenza di SAP HANA.This avoids the need to deploy a new VM, and therefore the unique VM ID stays the same and no new SAP HANA license key is required. Altre informazioni su questa funzionalità saranno fornite dopo un completo test.More documentation on this feature will be provided after it is fully tested.

Backup di Azure consentirà alla fine il backup dei singoli dischi virtuali di Azure oltre a file e directory all'interno della VM.Azure Backup will eventually allow backup of individual Azure virtual disks, plus files and directories from inside the VM. Uno dei vantaggi principali di Backup di Azure è la gestione di tutti i backup, risparmiando al cliente di doverla eseguire lui stesso.A major advantage of Azure Backup is its management of all the backups, saving the customer from having to do it. Quando diventa necessario un ripristino, Backup di Azure seleziona il backup corretto da usare.If a restore becomes necessary, Azure Backup will select the correct backup to use.

Backup di VM SAP HANA mediante snapshot manuali dei dischiSAP HANA VM backup via manual disk snapshot

Anziché usare il servizio Backup di Azure è possibile configurare una singola soluzione di backup mediante la creazione manuale di snapshot BLOB di dischi rigidi virtuali di Azure tramite PowerShell.Instead of using the Azure Backup service, one could configure an individual backup solution by creating blob snapshots of Azure VHDs manually via PowerShell. Per la descrizione dei passaggi, vedere Using blob snapshots with PowerShell (Usare gli snapshot BLOB con PowerShell).See Using blob snapshots with PowerShell for a description of the steps.

Offre maggiore flessibilità ma non consente di risolvere i problemi descritti in precedenza in questo documento:It provides more flexibility but does not resolve the issues explained earlier in this document:

  • È comunque necessario assicurarsi che SAP HANA sia in uno stato coerenteOne still must make sure that SAP HANA is in a consistent state
  • Il disco del sistema operativo non può essere sovrascritto anche se la VM viene deallocata a causa di un errore che indica l'esistenza di un lease.The OS disk cannot be overwritten even if the VM is deallocated because of an error stating that a lease exists. Funziona solo dopo aver eliminato la VM, che potrebbe causare la creazione di un nuovo ID VM univoco e la necessità di installare una nuova licenza SAP.It only works after deleting the VM, which would lead to a new unique VM ID and the need to install a new SAP license.

È possibile ripristinare solo i dischi di dati di una VM di Azure

È possibile ripristinare solo i dischi di dati di una VM di Azure, evitando il problema della creazione di un nuovo ID VM univoco e, pertanto, dell'invalidamento della licenza SAP:It is possible to restore only the data disks of an Azure VM, avoiding the problem of getting a new unique VM ID and, therefore, invalidated the SAP license:

  • Per il test sono stati collegati due dischi dati di Azure a una VM e un RAID software è stato definito su questiFor the test, two Azure data disks were attached to a VM and software RAID was defined on top of them
  • La coerenza di SAP HANA è stata verificata mediante la funzionalità di snapshot di SAP HANAIt was confirmed that SAP HANA was in a consistent state by SAP HANA snapshot feature
  • Blocco del file system (vedere Coerenza dei dati SAP HANA durante l'esecuzione degli snapshot di archiviazione nell'articolo correlato Guida del backup di SAP HANA in Macchine virtuali di Azure)File system freeze (see SAP HANA data consistency when taking storage snapshots in the related article Backup guide for SAP HANA on Azure Virtual Machines)
  • Sono stati eseguiti snapshot BLOB da entrambi i dischi datiBlob snapshots were taken from both data disks
  • Sblocco del file systemFile system unfreeze
  • Conferma dello snapshot SAP HANASAP HANA snapshot confirmation
  • Per ripristinare i dischi dati, la VM è stata arrestata ed entrambi i dischi disconnessiTo restore the data disks, the VM was shut down and both disks detached
  • Dopo la disconnessione dei dischi, questi sono stati sovrascritti con gli snapshot BLOB precedentiAfter detaching the disks, they were overwritten with the former blob snapshots
  • Quindi i dischi virtuali ripristinati sono stati collegati nuovamente alla VMThen the restored virtual disks were attached again to the VM
  • Dopo l'avvio della VM, sul RAID software tutto ha funzionato correttamente ed è stato reimpostato sull'ora dello snapshot BLOBAfter starting the VM, everything on the software RAID worked fine and was set back to the blob snapshot time
  • HANA è stato reimpostato sullo snapshot HANAHANA was set back to the HANA snapshot

Se fosse possibile arrestare SAP HANA prima degli snapshot BLOB, la procedura sarebbe meno complessa.If it was possible to shut down SAP HANA before the blob snapshots, the procedure would be less complex. In questo caso si potrebbe saltare lo snapshot HANA e, se non succede nient'altro nel sistema, saltare anche il blocco del file system.In that case, one could skip the HANA snapshot and, if nothing else is going on in the system, also skip the file system freeze. Quando è necessario creare snapshot mentre tutto è online, la complessità è maggiore.Added complexity comes into the picture when it is necessary to do snapshots while everything is online. Vedere Coerenza dei dati SAP HANA durante l'esecuzione degli snapshot di archiviazione nell'articolo correlato Guida del backup di SAP HANA in Macchine virtuali di Azure.See SAP HANA data consistency when taking storage snapshots in the related article Backup guide for SAP HANA on Azure Virtual Machines.

Passaggi successiviNext steps