«

»

maio 19

Como criar Checkpoint ou Snapshot de máquinas virtuais (VM)

Um benefício de usar máquinas virtuais (VMs) é a possibilidade de salvar o estado do sistema operacional em um determinado momento, permitindo restaurar um estado anterior. Por exemplo, você pode salvar um estado de uma VM antes de aplicar uma atualização de segurança. Se essa atualização falhar e comprometer o sistema, basta reverter para o estado anterior e o sistema operacional voltará a ser funcional. Essa característica é chamada Checkpoint (no Windows Server 2008, era chamada Snapshot). Em um ambiente de testes ou laboratório, checkpoints podem ser utilizados para fazer testes de instalação de drivers, atualizações de segurança ou mesmo aplicações, como SQL Server, para testar o processo de deployment.

Post14-Image1Figura 1: Gerenciando Checkpoints em máquinas virtuais

Quando criamos um checkpoint, o disco virtual VHD ou VHDX passa a ser preservado. Todas as alterações a partir do checkpoint são gravadas em um disco virtual diferencial (AVHD ou AVHDX), criado especialmente para salvar esse conteúdo. Quando revertemos a VM para o estado anterior, o conteúdo do AVHD ou AVHDX é apagado e a VM inicia baseado no conteúdo do VHD ou VHDX, gravando novamente as alterações no AVHD ou AVHDX. Caso você precise preservar esse estado, você pode fazer um merge do VHD ou VHDX com o AVHD ou AVHDX, respectivamente. Desse modo, o conteúdo do disco virtual diferencial é consolidado no disco virtual. Você pode, ainda, deletar o checkpoint, realizando o merge ou apagando o conteúdo modificado.

Post14-Image2Figura 2: Discos virtuais VHDX e seus discos virtuais diferenciais AVHDX

Você pode criar até 50 checkpoints de uma máquina virtual. Cada vez que você cria um novo checkpoint, um novo disco diferencial é criado para salvar as diferenças em relação aos estados anteriores (figura 3).

Post14-Image3Figura 3: Com dois checkpoints criados, dois discos virtuais diferenciais (AVHDX) são necessários

Importante destacar que checkpoints não substituem o backup, pois em caso de falha de hardware ou incidente de grandes proporções que comprometam a disponibilidade do servidor, o conteúdo do disco virtual e do disco virtual diferencial podem ser perdidos.

Para criar um checkpoint, basta clicar com o botão direito em cima da VM e selecionar a opção Checkpoint. Essa operação pode ser realizada com o servidor em execução. Um novo checkpoint será criado com o nome da VM e a data de criação (figura 3).

Post14-Image4Figura 4: Criando um checkpoint de uma máquina virtual

Após criar o checkpoint, você pode gerenciá-lo clicando com o botão direito em cima do checkpoint (figura 4). As opções são descritas na tabela 1.

Post14-Image5Figura 5: Gerenciando um checkpoint de uma VM

Opção Descrição
Settings Abre as mesmas configurações de hardware da VM
Apply Essa opção reverte a VM para o estado anterior. Você pode selecionar Create Checkpoint and Apply, que salva o estado atual e retorna ao estado anterior, ou somente Apply, que descarta as alterações realizadas e retorna o estado anterior.
Export Permite exportar uma máquina virtual com seus checkpoint
Rename Essa opção permite renomear o checkpoint para o nome que você preferir. Por padrão, é utilizado o nome do servidor, data e hora do checkpoint
Delete Checkpoint Deleta um checkpoint
Delete Checkpoint Subtree Deleta todos os checkpoints criados

Tabela 1: Opções de checkpoints

Você pode reverter o checkpoint, ainda, clicando com o botão direito em cima da VM e selecionando Revert (figura 3).

O PowerShell permite realizar todas essas operações descritas utilizando os cmdlets Checkpoint-VM, Export-VMSnapshot, Get-VMSnapshot, Remove-VMSnapshot, Rename-VMSnapshot e Restore-VMSnapshot. Alguns exemplos estão abaixo.

#Cria um novo checkpoint
Checkpoint-VM -VMName VM1

#Reverte o checkpoint com o nome indicado no parâmetro Name
Restore-VMSnapshot -VMName VM1 -Name “VM1 – (12/29/2014 – 8:46:43 PM)”

#Modifica o nome do checkpoint
Rename-VMSnapshot -VMName VM1 -Name “VM1 – (12/29/2014 – 8:46:43 PM)” -NewName “Test”

#Mostra detalhes de um checkpoint (figura 5)
Get-VMSnapshot -VMName VM1

Post14-Image6Figura 6: Detalhes dos checkpoints para o servidor VM1

Por fim, o uso de checkpoints não é recomendado em servidores de produção, principalmente em controladores de domínio, servidores Exchange, SQL Server ou SharePoint. No caso de controladores de domínio, o checkpoint pode comprometer o processo de replicação do Active Directory. No caso de Exchange, SQL Server ou SharePoint, pode ocorrer perda de dados. Além disso, a performance da VM é reduzida.

Em ambientes de testes e laboratórios, como o laboratório de nuvem privada, você pode criar checkpoints de todos os servidores sem problemas, inclusive do controlador de domínio quando for apenas um servidor, não resultando, assim, em problemas de replicação. Contudo, se você reverter o checkpoint do controlador de domínio, é recomendado reverter também o estado das outras VMs membro do domínio. Todos os computadores conectados ao domínio possuem uma senha sincronizada automaticamente. Quando o checkpoint do controlador de domínio é revertido, a senha pode ter sido alterada, o que não permite o acesso do servidor ao domínio. Caso não queira reverter o servidor membro do domínio e essa situação for observada, você pode recolocar o servidor no domínio, o que gera uma nova senha.

Saudações,

Gustavo Zimmermann Montesdioca
Referências

MICROSOFT. Hyper-V Cmdlets in Windows PowerShell (2014). Disponível em http://technet.microsoft.com/en-us/library/hh848559.aspx. Acesso em 29 dez. 2014.
MICROSOFT. Checkpoints and Snapshots Overview. Disponível em http://technet.microsoft.com/en-us/library/dn818483.aspx. Acesso em 29 dez. 2014.

Comments

comments

Deixe uma resposta