Nos sistemas de virtualização o conceito de snapshot é “Guardar uma cópia, foto, do estado atual da máquina virtual antes de fazer a instalação de alguma aplicação que pode ocasionar problemas no sistema operacional da máquina virtual”.

É um processo fácil, porém que requer cuidados importantes, a criação desordenada de snapshots pode ocasionar problemas, como a ocupação de forma rápida do espaço no disco do servidor físico, até não ter mais área livre, ocasionando assim o travamento das máquinas virtuais, pois o ESX/ESXi coloca as máquinas em estado de pausa, até que o disco volte a ter espaço livre o suficiente.

Cada snapshot criado gera um arquivo VMDK que faz referência ao VMDK principal da máquina virtual (VMDK = Disco Rígido Virtual), quando uma máquina virtual com vários snapshots é ligada, o arquivo de configuração que possui a extensão vmx indica qual é o ultimo VMDK criado e que deve ser usado como referencia na inicialização, abaixo um exemplo da configuração de um arquivo vmx.



Repare que a linha no retângulo amarelo, indica ao arquivo vmx que a máquina virtual de nome Windows Server 2008 deve ser iniciada usando o arquivo 000003.vmdk, o arquivo vmx é o arquivo de configuração que toda máquina virtual tem, nele temos toda a configuração da máquina virtual, como placa de rede, quantidade de RAM, processadores, entre outras configurações de hardware.

Para você visualizar o conteúdo do arquivo vmx, basta localizar e edita-lo, ele fica localizado em /vmfs/volumes/datastore/pasta_da_vm, no ESX use o editor “nano” e no ESXi o “vi”.

Liberando espaço em disco físico, como apagar os Snapshots ?

Use o vSphere Client, acesse o servidor ESX/ESXi, localize a máquina virtual, clique com o botão direito do mouse e selecione “Snapshot Manager”, os snapshots devem ser excluídos a partir do primeiro, em sequencia.

Por exemplo:

Uma máquina virtual que possui 05 snapshots, o arquivo vmx indica que a máquina virtual deve ser inicializada usando como base o VMDK nome_da_vm-000005. vmdk, então posso excluir os snapshots, 01, 02, 03, 04 e só por ultimo excluir o 05,depois disso o vmx passará a ter o VMDK principal (disco criado no momento em que a máquina virtual foi criada) como ponto de inicialização. A deleção equivocada de um snapshot aleatoriamente, por exemplo, neste caso excluir o 000004.vmdk, pode acarretar em problema de inicialização, por causa do parent ID que será perdido, ou seja o ultimo VMDK que neste caso é o 000005.vmdk, irá procurar o parent ID do VMDK anterior e não encontrará, gerando assim erro de inicialização, a máquina virtual não sobe.

Portanto, sempre que for fazer snapshot de máquina virtual, tenha a certeza se realmente é necessário, pois por exemplo a instalação do pacote Office, drivers de impressora e outros softwares básicos em uma máquina virtual, não devem ser motivo para a criação de snapshot, faça snapshot somente quando for instalar algo que não foi homologado ou se tem duvidas se ele irá funcionar corretamente, pois depois da instalação se a máquina virtual apresentar problemas basta reverter o snapshot. A criação de snapshots de forma desordenada pode além de tomar todo o espaço do disco físico do servidor ESX/ESXi, pode também ocorrer corrompimento de arquivos VMDK e se isso acontecer, você precisará recuperar estes arquivos para que uma ou mais máquinas virtuais voltem a funcionar.

Então, a criação de snapshot é uma excelente solução para proteger as máquinas virtuais de falhas causadas por instalações mal sucedidas, mas tem que saber gerenciar de forma correta.