Mesclar Snapshot/Checkpoint Hyper-V 2008 e 2012
Olá Pessoal
Irei demonstrar mais uma importante função do Hyper-V chamada Snapshot/Checkpoint. Temos sempre aquelas situações em que na teoria é fácil, mas na hora da prática bate uma dúvida, ainda mais se for na prática e em produção.
Imaginamos ter um cenário com algumas máquinas virtuais rodando em produção, e que precisamos instalar um recurso a mais naquela VM. Mas mesmo se tratando de VMs com backup, temos receio em fazer certos testes e assim utilizamos o recurso Snapshot/Checkpoint do Hyper-V. Ele nada mais é do que uma "foto" de como o sistema estava antes de fazer qualquer mudança do estado da máquina, para garantir que se algo ocorra de errado com a VM, ela possa ser desfeita com apenas alguns segundos. Lembrando também que Snapshot Não é Backup, o correto é manter backups das VMs. A palavra Snapshot é dada ao Hyper-V 2008 e o Checkpoint é do Hyper-V 2012.
Primeiro então a máquina virtual que temos é um Cluster do Windows Server 2012 e nela já temos alguns checkpoints criados com o nome IIS, e iremos mesclar o arquivo .AVHD que é o arquivo de checkpoint da máquina virtual.
http://andrenovello.files.wordpress.com/2013/09/11.jpg?w=640
Vemos que na pasta onde fica armazenado os vhds, checkpoints, arquivos de configurações da VM, nós temos 2 avhd que são os checkpoints e que ainda não foram mesclados desdes os testes passados que eu havia feito na máquina.
http://andrenovello.files.wordpress.com/2013/09/21.jpg
Ao deletar no Hyper-V 2012 o checkpoint ele automaticamente irá mesclar com o VHD pai. No Hyper-V 2008 para ser mesclado o avhd, a máquina precisa ser reiniciada ou desliga para o processo ocorrer, após a exclusão do arquivo. Já no Hyper-V 2012 na imagem montada abaixo podemos ver que mesmo sem desligar a máquina virtual o avhd já sumiu e mesclou com a partição pai. Primeiro exclui o Checkpoint Sem IIS e após deletar ele já executou a tarefa mesmo com a máquina em produção.
http://andrenovello.files.wordpress.com/2013/09/3.jpg
No Hyper-V 2012 essa função ajuda muito aos administradores pois desta forma não precisa para a VM. Abaixo também vemos a Máquina virtual em funcionamento e comparando com a primeira imagem da pasta das VMs, um dos avhd já sumiu devido a deleção e mesclagem.
http://andrenovello.files.wordpress.com/2013/09/51.jpg
Agora vamos para um segundo passo dos checkpoints no Hyper-V 2012. Ficou somente o Checkpoint SCVMM e a partir dele vamos criar outro chamado RDS, antes de instalar a função. Vemos que quando temos essa árvore de "fotos" significa que uma é dependente da outra. No caso se excluirmos a sub-árvore todos os avhds serão mesclados. E também se esse checkpoint SCVMM for deletado sem mesclar, a máquina virtual não funcionará mais.
Após tirar o novo checkpoint RDS2 tudo ocorrendo como planejado, o administrador pode continuar com a configuração do aplicativo, mas caso tenha descoberto um possível erro de instalação dos recurso, que ao invés de instalar RDS Licensing, acabou instalando RDS Web Access ele precisa aplica o Checkpoint RDS e mesmo assim manter o snapshot do RDS2 para qualquer outro problema de reversão de checkpoint. Então podemos reverter a VM para RDS e fazer novamente a instalação ou testes. Tudo estando correto podemos deletar o RDS2 que ele não irá mesclar na máquina virtual.
Na imagem abaixo iremos aplicar o Checkpoint RDS. Após aplicar ele ficará como a figura do lado esquerdo com o NOW antes do RDS2, e após estar tudo certo, apagar o RDS2 como na terceira parte da imagem mostra "Deleting Checkpoint - Succeeded", sem mesclar com o snapshot anterior, apenas apagando o avhd.
http://andrenovello.files.wordpress.com/2013/09/61.jpg
Há também outras formas de trabalhar com o Snapshot/Checkpoint, mas o princípio básico seria estes acima. Precisa tomar cuidado ao excluir um snapshot, pois pode causar falha no boot sendo necessários snapshots anteriores. Podemos excluir com confiança uma sub-árvore, mas sempre tendo também um backup para alguma dúvida que surgir a respeito da mesclagem. Podemos fazer também a mesclagem pelo Edit disk, mas poderia ser um assunto para outro post.