Articles

Aprenda como e quando usar os instantâneos do vSphere

>

O estado de uma máquina virtual em qualquer momento específico pode ser preservado tirando o que é conhecido como instantâneo.

O recurso de instantâneo da VMware é particularmente útil naqueles cenários em que você deseja recuperar rapidamente de uma falha ou simplesmente voltar a um estado desejado. A restauração de uma VM para um estado funcional após uma atualização ou patch com defeito é um caso de uso comum. Da mesma forma, pode utilizar snapshots para repor uma VM de volta a um estado inicial uma vez que o utilizador a utilize, talvez como parte de um regime de manutenção do laboratório de treino.

A funcionalidade snapshot está disponível tanto em hosts ESXi autónomos como no vCenter Server.

Trabalhar com snapshots e Snapshot Manager

Pode trabalhar com snapshots de qualquer cliente vSphere ou fazendo chamadas API a partir do PowerCLI ou similares. Tarefas diferentes como reverter a partir de snapshots, apagar snapshots, etc. seguem o mesmo clique e selecionam o padrão. O denominador comum aqui é Snapshot Manager usando o qual, você será capaz de:

  • Take snapshots.
  • Revert to the latest snapshot or any other snapshot.
  • Delete a snapshot.
  • Delete all snapshots.
  • Editar uma snapshot (Nome e Descrição).
  • Gerenciar instantâneos.
  • Consolidar discos.

Do cliente vSphere, é sempre um caso de clicar com o botão direito no nome da VM, selecionando Snapshot(s) no menu de contexto ou ações da VM, seguido da operação desejada. Isto é mostrado na Figura 1 como Opção A. Alternativamente, destaque o nome da VM, clique na aba Snapshots e selecione uma tarefa no menu suspenso All Actions ou clicando no ícone da respectiva tarefa, ou seja, Opção B.

Figure 1 – Duas formas de realizar uma ação relacionada a um snapshot em uma VM

Note que cada VM pode ter um máximo de 32 snapshots. Para um melhor desempenho, é recomendável que você se limite a 2-3 instantâneos por VM. Quando este limite é excedido, o erro mostrado na Fig.2 é retornado.

Figure 2 – Erro indicando que o número máximo de snapshots por vm limite foi excedido

Um outro limite a ser observado é o de retenção. A recomendação é evitar usar um snapshot por mais de 72 horas uma vez que os arquivos que constituem o snapshot continuam crescendo e podem impactar o desempenho do sistema além do fato de que você pode ficar sem espaço em datastores que são relativamente pequenos em tamanho.

Como tirar snapshots

Quando você tira um snapshot de uma VM, a seguinte informação é preservada.

  • Configurações da máquina virtual. O diretório da máquina virtual, que inclui os discos adicionados ou alterados após tirar o instantâneo.
  • Estado da máquina virtual. A máquina virtual pode ser ligada, desligada ou suspensa.
  • Estado do disco. Estado de todos os discos virtuais da máquina virtual.
  • (Opcional) Estado de memória. O conteúdo da memória da máquina virtual.

Duas configurações opcionais determinam o estado em que uma VM é restaurada quando se reverte a partir do snapshot. Note que nenhuma destas opções está disponível, ou é necessária, quando uma instantânea é tirada enquanto a VM está desligada. As duas opções são:

Snapshotar a memória da máquina virtual: Ativada por padrão, esta opção descarrega o conteúdo da memória de uma VM para o disco como parte do snapshot. Isto permite que uma VM volte ao estado exato em que estava rodando quando o snapshot foi tirado. Se esta opção for desmarcada, e o quiescing também não for selecionado, o snapshot criará arquivos que são consistentes com o crash, o que significa que você precisará ligar a VM manualmente após tê-la restaurada a partir do snapshot. Um snapshot de memória levará significativamente mais tempo para ser completado. Adicionalmente, uma VM é “congelada” para garantir a integridade do estado.

Quiesce guest file system: Esta opção requer que as Ferramentas VMware estejam instaladas e funcionando corretamente. Quiescing a VM é o método preferido para garantir um estado adequado para backups. Isso inclui operações como a descarga de buffers sujos do cache in-memory do sistema operacional para o disco ou outras tarefas específicas do aplicativo de nível superior. O Quiescing indica a pausa ou alteração do estado de execução dos processos em um computador, particularmente aqueles que podem modificar as informações armazenadas no disco durante um backup, para garantir um backup consistente e utilizável. Quiescing não é necessário para instantâneos da memória; ele é usado principalmente para backups.

Figure 3 captura uma série de telas mostrando como instantâneos, de VMs residentes em ambientes diferentes, são tirados usando um vSphere ou Host client particular.

  • Exemplo 1 – Tirar um instantâneo de uma VM gerenciada pelo vCenter Server 6.5 através do cliente Web vSphere.
  • >

  • Exemplo 2 – Tirar um instantâneo de uma VM hospedada em uma máquina host ESXi 6.5 standalone via o cliente host ESXi.
  • >

  • Exemplo 3 – Tirar um instantâneo de uma VM hospedada em uma máquina host ESXi 6.0 standalone via o cliente C# vSphere.

Figure 3 – Vários exemplos de como tirar instantâneos

O quarto e último exemplo ilustra como o PowerCLI é usado para tirar instantâneos de uma VM gerida pela vCSA 6.5. Incluí duas formas possíveis de tirar fotos de uma VM. No primeiro exemplo, eu simplesmente recupero uma VM usando o Get-VM que depois passo a canalizar para o New-Snapshot cmdlet. No segundo exemplo, eu usei o New-Snapshot cmdlet por conta própria onde você especifica a VM que deseja fotografar através do parâmetro -VM. Em ambos os exemplos, os parâmetros -Name atribuem um nome ao snapshot tirado.

PowerShell

>
>

>

1
get-vm -nome “janelas 7”. | New-Snapshot -Nome “Pre Windows Update”

>

>

>
>

PowerShell

1
Novo…Snapshot -VM “Windows 7” -Nome “Pre Windows Update”
>

Figure 4 – Duas formas de criar snapshots com PowerCLI

Como excluir discos de um snapshot

Existirão casos em que você não quer que os discos da VM sejam afetados por snapshots. Para conseguir isso, altere o Modo de Disco Rígido de uma VM para Independente – Persistente ou Independente – Nãopersistente a partir das configurações da VM. As duas opções diferem ligeiramente conforme a explicação da VMware:

Independente – Persistente: Os discos em modo persistente comportam-se como discos convencionais no seu computador físico. Todos os dados gravados em um disco em modo persistente são gravados permanentemente no disco.

Independente – Nãopersistente: As alterações nos discos em modo não persistente são descartadas quando você desliga ou reinicia a máquina virtual. Com o modo não persistente, você pode reiniciar a máquina virtual com um disco virtual no mesmo estado toda vez. As alterações no disco são gravadas e lidas a partir de um arquivo de log de refazer que é excluído quando você desliga ou reinicia.

Figure 5 – Alterando o modo de disco de um VMDK para excluí-lo de ser afetado por instantâneos

Como reverter para um instantâneo

Para reverter para um instantâneo, você pode selecionar a opção Reverter para o Instantâneo Mais Recente. Se uma VM tiver vários instantâneos, basta destacar o instantâneo para o qual você deseja reverter a partir da hierarquia de instantâneos exibida no Snapshot Manager e pressionar o ícone Reverter para, como mostrado na Fig. 6.

Figure 6 – Selecionando o instantâneo para o qual você deseja reverter no Snapshot Manager

O estado em que uma VM reverte, depende das opções selecionadas no momento em que o instantâneo foi tirado. Se a opção de memória foi selecionada, a VM permanece ligada enquanto ela reverte para um estado anterior. Se a opção de memória não foi incluída no momento em que a foto foi tirada, você precisará ligar a VM manualmente após reverter da foto independentemente do estado de energia em que a VM estava quando a foto foi tirada.

Quando você reverter da foto, você será avisado que o estado atual da VM será perdido a menos que você tire uma foto como mostrado na Fig. 7.

Figure 7 – Perda do aviso do estado atual ao reverter para um snapshot

Se a opção de memória foi selecionada quando o snapshot foi tirado, você será então presenteado com a opção de suspender a VM enquanto ela estiver sendo revertida. Se você selecionar a opção, você deve então “despausar” a VM manualmente ligando-a de volta.

Figure 8 – Suspender a VM enquanto reverte de volta do snapshot

O primeiro snapshot tirado é referido como o snapshot pai base. Esta é a versão mais recente do estado atual da máquina virtual. O snapshot pai é sempre o snapshot que aparece imediatamente acima do ícone You are here no Snapshot Manager. Se você reverter ou restaurar uma snapshot, esta snapshot então se torna o estado atual do You are here. Um instantâneo de uma VM tirado após o instantâneo pai é chamado de instantâneo filho.

Figure 9 – Hierarquia de instantâneos ilustrando a relação entre instantâneos pai e filho e o estado atual representado por Você está aqui

Como apagar instantâneos

Você pode apagar um único instantâneo ou qualquer instantâneo existente, todos de uma só vez. Excluir instantâneos é um processo caro de E/S e pode afetar o desempenho. Quando um instantâneo é excluído, o estado atual de uma VM permanece inalterado. Entretanto, todas as alterações acumuladas até a data são então copiadas dos discos delta e gravadas no disco base em um processo chamado Consolidação. A seguir, o processo de consolidação tem o cuidado de remover todos os arquivos redundantes associados ao snapshot recém-eliminado.

Se o processo de consolidação falhar, você pode iniciar o processo manualmente no menu Snapshots, selecionando a opção Consolidar. É importante que a consolidação seja realizada com sucesso, pois os discos delta redundantes (ver próxima seção) podem afetar negativamente o desempenho.

Figure 10 – Realizar a consolidação de discos manualmente

Para mais detalhes, consulte Como consolidar instantâneos na vSphere 5.x/6.x KB article.

Snapshots a partir de uma perspectiva de arquivo

Um snapshot consiste em um número de arquivos que você pode ser visualizado no Datastore Browser após navegar para uma pasta da VM para a qual foram tiradas snapshots.

Um snapshot consiste nos seguintes arquivos:

Arquivos de disco delta: Um arquivo .vmdk para o qual o sistema operacional convidado pode escrever. O disco delta representa a diferença entre o estado atual do disco virtual e o estado que existia no momento em que o snapshot anterior foi tirado. Quando você tira uma foto, o estado do disco virtual é preservado, o que impede que o sistema operacional convidado escreva para ele, e um disco delta ou disco infantil é criado. Um disco delta tem dois arquivos, incluindo um arquivo descritor que é pequeno e contém informações sobre o disco virtual e um arquivo correspondente que contém os dados brutos. Os arquivos que compõem o disco delta são chamados de discos filhos ou redo logs.

Flat file: Um arquivo -flat.vmdk que é um dos dois arquivos que compõem o disco base. O disco plano contém os dados brutos para o disco base. Este ficheiro não aparece como um ficheiro separado no Datastore Browser mas é listado separadamente quando se lista o conteúdo do directório enquanto consola o ESXi.

Figure 11 – Alguns ficheiros só são visíveis quando consola o ESXi

Arquivo de base de dados: Um arquivo .vmsd que contém as informações de snapshot da VM e é a principal fonte de informação para o Snapshot Manager. Este arquivo, que pode ser visualizado em qualquer editor de texto, contém entradas de linha que definem as relações entre instantâneos e os discos filhos de cada instantâneo.

Arquivo Memória: Um arquivo .vmsn, inclui o estado ativo de uma VM e captura o estado de memória da VM para permitir que você reverta para um estado de máquina virtual ligada. Se a opção de memória snapshot estiver desmarcada, você só pode reverter para um estado VM desligado.

Você pode consultar o post intitulado The Anatomy of a VMware Virtual Machine para mais detalhes.

Figure 12 – Mapeando os arquivos de snapshot exibidos no Datastore Browser para as entradas encontradas no arquivo de banco de dados

Como mencionado, um snapshot preserva o disco e/ou estado VM em um ponto específico no tempo, criando uma série de discos delta para cada disco virtual ou RDM virtual anexado. Opcionalmente, a memória e o estado de potência são preservados criando um arquivo de memória.

Cada snapshot cria um arquivo delta adicional. Quando você tira um snapshot, o mecanismo do snapshot impede o sistema operacional convidado de escrever no arquivo base .vmdk e, em vez disso, direciona todas as gravações para o arquivo delta do disco. O disco delta representa a diferença entre o estado atual do disco virtual e o estado que existia no momento em que você tirou o snapshot anterior. Se existir mais de uma snapshot, os discos delta podem representar a diferença entre cada snapshot. Os arquivos do disco delta podem expandir-se rapidamente e tornar-se tão grandes quanto o disco virtual inteiro se o sistema operacional convidado gravar em cada bloco do disco virtual.

Outros detalhes podem ser encontrados nos seguintes links:

  • Entendendo instantâneos VM em ESXi / ESX
  • Determinando se há sobras de arquivos delta ou instantâneos que o VMware vSphere ou Infrastructure Client não pode detectar

Limitações de instantâneos

Existem várias limitações que você precisa estar ciente. Algumas, como as relacionadas a como os instantâneos interagem com o vMotion, precisam ser tratadas adequadamente se você ainda estiver usando versões antigas do vSphere.

  • Snapshots de VMs com discos brutos, discos de modo físico RDM ou sistemas operacionais guest usando um iniciador iSCSI no guest não são suportados.
  • VMs com discos independentes devem ser desligadas antes de você tirar uma foto.
  • Snapshots de VMs ativadas ou suspensas com discos independentes não são suportadas.
  • Snapshots não são suportadas com dispositivos PCI vSphere Direct Path I/O.
  • Snapshots de VMs configuradas para compartilhamento de barramento não é uma opção VMware suportada.
  • Embora os instantâneos forneçam uma imagem point-in-time do disco que as soluções de backup podem utilizar, estes não pretendem ser um método robusto de backup e recuperação. Se os arquivos contendo uma máquina virtual forem perdidos, seus arquivos de snapshot também serão perdidos. Além disso, grandes números de instantâneos são difíceis de gerenciar, consomem grandes quantidades de espaço em disco e não são protegidos no caso de falha de hardware.
  • Snapshots podem afetar negativamente o desempenho de uma máquina virtual. A degradação do desempenho é baseada em quanto tempo a foto ou árvore de fotos está no lugar, a profundidade da árvore e o quanto a máquina virtual e seu sistema operacional convidado mudaram desde o momento em que você tirou a foto. Além disso, você pode ver um atraso na quantidade de tempo que a máquina virtual leva para ser ligada. Não execute máquinas virtuais de produção a partir de instantâneos em uma base permanente.
  • Se uma máquina virtual tiver discos rígidos virtuais maiores que 2TBs, as operações de instantâneos podem levar muito mais tempo para terminar.

Se você tiver ambientes pré-vSphere 6.0, certifique-se de ler o artigo Migrating virtual machines with snapshots KB. Um problema comum que eu costumava encontrar frequentemente, era um em que você colocava um host em modo de manutenção e esperava que as VMs migrassem automaticamente para fora dele, apenas para encontrar o processo preso porque uma ou mais VMs tinham snapshots.

Solução de problemas

Aqui estão alguns artigos KB que cobrem alguns dos problemas mais comuns com os quais você provavelmente irá se cruzar ao trabalhar com snapshots.

  • Problemas de resolução de problemas ao criar ou submeter snapshots no VMware ESXi/ESX
  • Não é possível eliminar os snapshots da máquina virtual
  • Não é possível criar novos snapshots numa máquina virtual após remover um disco da máquina virtual
  • A tarefa de remoção de snapshots pára a 99% no ESXi/ESX