Fazer backup de discos de Máquina Virtual não gerenciados do Azure com instantâneos incrementais

Descrição geral

O Armazenamento do Azure fornece a capacidade de tirar instantâneos de blobs. Os instantâneos capturam o estado do blob nesse momento. Neste artigo, descrevemos um cenário no qual você pode manter backups de discos de máquinas virtuais usando instantâneos. Você pode usar essa metodologia quando optar por não usar o Serviço de Backup e Recuperação do Azure e desejar criar uma estratégia de backup personalizada para seus discos de máquina virtual. Para máquinas virtuais que executam cargas de trabalho de negócios ou de missão crítica, é recomendável usar o Backup do Azure como parte da estratégia de backup.

Os discos de máquina virtual do Azure são armazenados como blobs de página no Armazenamento do Azure. Como estamos descrevendo uma estratégia de backup para discos de máquina virtual neste artigo, nos referimos a instantâneos no contexto de blobs de página. Para saber mais sobre instantâneos, consulte Criando um instantâneo de um Blob.

O que é um instantâneo?

Um instantâneo de blob é uma versão somente leitura de um blob que é capturado em um ponto no tempo. Depois que um instantâneo é criado, ele pode ser lido, copiado ou excluído, mas não modificado. Os instantâneos fornecem uma maneira de fazer backup de um blob como ele aparece em um momento no tempo. Até a versão REST 2015-04-05, você tinha a capacidade de copiar instantâneos completos. Com a versão REST 2015-07-08 e superior, você também pode copiar instantâneos incrementais.

Cópia completa do snapshot

Os snapshots podem ser copiados para outra conta de armazenamento como um blob para manter backups do blob base. Você também pode copiar um instantâneo sobre seu blob base, que é como restaurar o blob para uma versão anterior. Quando um instantâneo é copiado de uma conta de armazenamento para outra, ele ocupa o mesmo espaço que o blob da página base. Portanto, copiar snapshots inteiros de uma conta de armazenamento para outra é lento e consome muito espaço na conta de armazenamento de destino.

Nota

Se você copiar o blob base para outro destino, os instantâneos do blob não serão copiados junto com ele. Da mesma forma, se você substituir um blob base por uma cópia, os instantâneos associados ao blob base não serão afetados e permanecerão intactos sob o nome do blob base.

Fazer backup de discos usando snapshots

Como estratégia de backup para seus discos de máquina virtual, você pode tirar instantâneos periódicos do disco ou blob de página e copiá-los para outra conta de armazenamento usando ferramentas como a operação Copiar Blob ou AzCopy. Você pode copiar um instantâneo para um blob de página de destino com um nome diferente. O blob de página de destino resultante é um blob de página gravável e não um instantâneo. Mais adiante neste artigo, descreveremos as etapas para fazer backups de discos de máquinas virtuais usando instantâneos.

Restaurar discos usando instantâneos

Quando chegar a hora de restaurar o disco para uma versão estável que tenha sido capturada anteriormente em um dos instantâneos de backup, você poderá copiar um instantâneo sobre o blob da página base. Depois que o snapshot é promovido para o blob da página base, o snapshot permanece, mas sua origem é substituída por uma cópia que pode ser lida e gravada. Mais adiante neste artigo, descreveremos as etapas para restaurar uma versão anterior do disco a partir de seu instantâneo.

Implementando cópia completa de snapshot

Você pode implementar uma cópia completa do snapshot fazendo o seguinte:

  • Primeiro, tire um instantâneo do blob base usando a operação Blob de Instantâneo.
  • Em seguida, copie o instantâneo para uma conta de armazenamento de destino usando o Blob de cópia.
  • Repita esse processo para manter cópias de backup do blob base.

Cópia incremental de snapshot

O novo recurso na API GetPageRanges fornece uma maneira muito melhor de fazer backup dos instantâneos de seus blobs ou discos de página. A API retorna a lista de alterações entre o blob base e os snapshots, o que reduz a quantidade de espaço de armazenamento usado na conta de backup. A API suporta blobs de página no Armazenamento Premium, bem como no Armazenamento Padrão. Usando essa API, você pode criar soluções de backup mais rápidas e eficientes para VMs do Azure. Esta API estará disponível com a versão REST 2015-07-08 e superior.

O Incremental Snapshot Copy permite copiar de uma conta de armazenamento para outra a diferença entre,

  • Blob de base e seu Snapshot OR
  • Quaisquer dois instantâneos do blob base

Desde que estejam preenchidas as seguintes condições:

  • O blob foi criado em 1-Jan-2016 ou posterior.
  • O blob não foi substituído por PutPage ou Copy Blob entre dois snapshots.

Nota

Esse recurso está disponível para Blobs de Página do Azure Premium e Padrão.

Quando você tem uma estratégia de backup personalizada usando snapshots, copiar os snapshots de uma conta de armazenamento para outra pode ser lento e pode consumir muito espaço de armazenamento. Em vez de copiar o snapshot inteiro para uma conta de armazenamento de backup, você pode gravar a diferença entre snapshots consecutivos em um blob de página de backup. Desta forma, o tempo para copiar e o espaço para armazenar backups são substancialmente reduzidos.

Implementando cópia incremental de snapshot

Você pode implementar a cópia incremental do instantâneo fazendo o seguinte:

  • Tire um instantâneo do blob de base usando o Blob de Instantâneo.
  • Copie o instantâneo para a conta de armazenamento de backup de destino na mesma região ou em qualquer outra região do Azure usando o Blob de Cópia. Este é o blob da página de backup. Tire um instantâneo do blob da página de backup e armazene-o na conta de backup.
  • Tire outro instantâneo do blob base usando o Blob de Instantâneo.
  • Obtenha a diferença entre o primeiro e o segundo instantâneos do blob base usando GetPageRanges. Use o novo parâmetro prevsnapshot para especificar o valor DateTime do instantâneo com o qual você deseja obter a diferença. Quando esse parâmetro está presente, a resposta REST inclui apenas as páginas que foram alteradas entre o instantâneo de destino e o instantâneo anterior, incluindo páginas limpas.
  • Use PutPage para aplicar essas alterações ao blob da página de backup.
  • Finalmente, tire um instantâneo do blob da página de backup e armazene-o na conta de armazenamento de backup.

Na próxima seção, descreveremos com mais detalhes como você pode manter backups de discos usando a Cópia de instantâneo incremental

Cenário

Nesta seção, descrevemos um cenário que envolve uma estratégia de backup personalizada para discos de máquina virtual usando instantâneos.

Considere uma VM do Azure da série DS com um disco P30 de armazenamento premium conectado. O disco P30 chamado mypremiumdisk é armazenado em uma conta de armazenamento premium chamada mypremiumaccount. Uma conta de armazenamento padrão chamada mybackupstdaccount é usada para armazenar o backup de mypremiumdisk. Gostaríamos de manter um instantâneo do mypremiumdisk a cada 12 horas.

Para saber mais sobre como criar uma conta de armazenamento, consulte Criar uma conta de armazenamento.

Para saber mais sobre como fazer backup de VMs do Azure, consulte Planejar backups de VMs do Azure.

Etapas para manter backups de um disco usando instantâneos incrementais

As etapas a seguir descrevem como tirar instantâneos de mypremiumdisk e manter os backups em mybackupstdaccount. O backup é um blob de página padrão chamado mybackupstdpageblob. O blob da página de backup sempre reflete o mesmo estado do último instantâneo do mypremiumdisk.

  1. Crie o blob da página de backup para seu disco de armazenamento premium, tirando um instantâneo do mypremiumdisk chamado mypremiumdisk_ss1.
  2. Copie este instantâneo para mybackupstdaccount como um blob de página chamado mybackupstdpageblob.
  3. Tire um instantâneo de mybackupstdpageblob chamado mybackupstdpageblob_ss1, usando o Blob de Instantâneo e armazene-o em mybackupstdaccount.
  4. Durante a janela de backup, crie outro instantâneo de mypremiumdisk, digamos mypremiumdisk_ss2, e armazene-o em mypremiumaccount.
  5. Obtenha as alterações incrementais entre os dois instantâneos, mypremiumdisk_ss2 e mypremiumdisk_ss1, usando GetPageRanges em mypremiumdisk_ss2 com o parâmetro prevsnapshot definido como o carimbo de data/hora de mypremiumdisk_ss1. Escreva essas alterações incrementais no blob da página de backup mybackupstdpageblob em mybackupstdaccount. Se houver intervalos excluídos nas alterações incrementais, eles deverão ser limpos do blob da página de backup. Use PutPage para gravar alterações incrementais no blob da página de backup.
  6. Tire um instantâneo do blob da página de backup mybackupstdpageblob, chamado mybackupstdpageblob_ss2. Exclua o mypremiumdisk_ss1 de snapshot anterior da conta de armazenamento premium.
  7. Repita as etapas 4 a 6 a cada janela de backup. Desta forma, você pode manter backups de mypremiumdisk em uma conta de armazenamento padrão.

Captura de tela do disco de backup usando instantâneos incrementais.

Etapas para restaurar um disco a partir de snapshots

As etapas a seguir descrevem como restaurar o disco premium, mypremiumdisk para um instantâneo anterior da conta de armazenamento de backup mybackupstdaccount.

  1. Identifique o ponto no tempo para o qual você deseja restaurar o disco premium. Digamos que seja um mybackupstdpageblob_ss2 instantâneo, que é armazenado na conta de armazenamento de backup mybackupstdaccount.
  2. Em mybackupstdaccount, promova o snapshot mybackupstdpageblob_ss2 como o novo blob da página base de backup mybackupstdpageblobrestored.
  3. Tire um instantâneo desse blob de página de backup restaurado, chamado mybackupstdpageblobrestored_ss1.
  4. Copie o blob de página restaurado mybackupstdpageblobrestored de mybackupstdaccount para mypremiumaccount como o novo disco premium mypremiumdiskrestored.
  5. Tire um instantâneo de mypremiumdiskrestored, chamado mypremiumdiskrestored_ss1 para fazer backups incrementais futuros.
  6. Aponte a VM da série DS para o disco restaurado mypremiumdiskrestored e desanexe o mypremiumdisk antigo da VM.
  7. Inicie o processo de backup descrito na seção anterior para o disco restaurado mypremiumdiskrestored, usando o mybackupstdpageblobrestored como o blob da página de backup.

Captura de ecrã do disco de restauro a partir de instantâneos.

Próximos passos

Use os links a seguir para saber mais sobre como criar instantâneos de um blob e planejar sua infraestrutura de backup de VM.