Gerenciando Snapshots no Vmware ESX e ESXi

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.

 

30 comentários

Pular para o formulário de comentário

  1. Esse eh realmente um texto inspirador. De nenhuma maneira sabia que as opiniões poderiam ser tao variadas. obrigado por todo o entusiasmo em fornecer informacões uteis, tais como essa… :)))))

  2. Alguns detalhes realmente interessantes que VC tem tem escrito, tem me ajudado muito, eh exatamente o que estava procurando: D.

  3. Desculpa minha burrice, mas eu nao consigo encontrar seus sites feeds RSS. Se importa em me dirigir a ela? Gracas. Estou tentando melhor meu portugues, ele ainda esta muito ruim

    • f3rr3ll em 11 de julho de 2012 às 13:11
    • Responder

    Nossa, agora sim eu entendi como trabalhar de forma correta os snapshot, só uma dúvida, após excluir os snapshots 1,2,3 e 4, eu devo ligar a maquina para que ele possa atualizar seu parent ID ? ou não precisa posso deletar todos os snapshots até o snapshot 5 ?

    1. Não precisa, basta excluir seguindo a sequencia, o Vmware irá consolidar todos os dados existentes nos VMDKS, criando apenas um.

    • Hugo em 5 de junho de 2014 às 20:31
    • Responder

    Amigo, muito bom o tutorial! Cometi um erro em deletar o primeiro snapshot, ao invés de começar pelo último. Como faço para recuperar isso? Vou perder minha VM ? Pior quer não tenho o backup dela! Bateu o desespero!

    1. Olá Hugo, perdão pela demora na resposta.

      Bem, você não perderá a sua máquina virtual por causa disso, o snapshot é uma cópia do estado da máquina e não a máquina em sí, snapshot também não é backup. Faça um novo snapshot e em seguida delete todos para que o Vmware faça um merge dos dados e mantenha apenas um disco delta.

      Pra fazer backup desta VM antes por questões de segurança, use o Veeam Free, pode procurar na net e baixar.

      Sucesso !

    • Nit em 23 de julho de 2014 às 15:51
    • Responder

    Olá! Excluí uma vm no xen, não tenho backup. Preciso recuperar urgente essa vm. Como faço? Grata!

    1. Olá, lhe respondi pelo blog no Facebook, espero que tenha conseguido resolver o problema.

    • Diego Secco em 20 de janeiro de 2015 às 16:20
    • Responder

    Olá!!

    Restaurei um Snapshot, para uma versão anterior, e sumiram arquivos do meu VHD. Como que faço para reverter essa operação?

    1. Perdão pela demora.

      Não tem como, você precisa ter o backup da VM para restaura-la, ou pelo menos o backup dos arquivos.
      A reversão de snapshot é irreversível.

    • Jheckson Balbinot em 30 de janeiro de 2015 às 13:39
    • Responder

    Bom dia, eu comprei um manual de serviço pela internet e o pessoal me mandaram um link para eu baixar, ai baixei extrai e esta dividido em 76 arquivos vmdk com o nome Windows XP SP3-s076 e nao sei como fazer para instalar esse programa e deixar rodando na minha maquina, obrigado pela atenção.

    1. Olá, instale o Vmware Workstation no seu computador, para então criar as máquinas virtuais e usar estes discos VMDK.

      Sds !

    • Wanderson Carlos em 26 de abril de 2015 às 16:34
    • Responder

    Olá, o que eu nunca consegui entender é como um “snapshot”(seja em maquina virtual ou não) consegue fazer uma cópia exata de um disco, de maneira tão rápida e consumindo tão pouco espaço? Por favor, me explique! Agradeço! 😀

    1. Olá Wanderson,

      Dá uma olhada neste material complementar, deve te ajudar.

      http://vmwarebrasil.blogspot.com.br/2011/10/desvendando-o-snapshot-da-vmware.html

      Sucesso !

        • Wanderson Carlos em 3 de maio de 2015 às 2:02
        • Responder

        Vw, Ivanildo! Eu já tinha lido esse site! Ainda tá meio obscuro pra mim entender como é possível “tirar uma fotografia” do sistema, com todas as informações e arquivos e com um espaço absurdamente menor! rsrs De qualquer forma, obrigado! 😀

    • Anderson em 1 de fevereiro de 2016 às 19:29
    • Responder

    Olá! Por favor, gostaria de sua ajuda. Eu tinha seis snapshots no ESXi 5.1 e exclui um intermediario, cada um tem 30GB e soh tenho 40GB livre, vi no seu artigo que nao se pode excluir aleatoriamente, eu não desliguei a maquina ainda, o que eu devo fazer agora?

    1. Olá,

      Complicado ! Mas usa a ferramenta vmkfstools para consolidar os discos que ficaram, mas você terá que editar o Parent ID deles.

      Sucesso !

    • Luis Carlos em 4 de janeiro de 2017 às 12:09
    • Responder

    Olá, parabéns pelo artigo, certamente está ajudando muitas pessoas a se livrar de alguns problemas, eis o meu:
    Tenho o vsphere 5 com uma maquina linux debian, rodando exclusimamente um sistema de protocolos de documentos. Há um tempo atrás fiz uma atualização do sistema da versão 7 para a 8, antes de atualizar para a v8 fiz um snapshot para poder restaurar caso houvesse problemas na atualização, não houve problemas. Agora estou com espaço reduzido de backup, e os backups são diários – caracteristica do sistema – e estou conseguindo fazer apenas um backup por dia, tendo, assim, que excluir todo dia um deles, senão os sistema trava quando o disco fica com 100% ocupado.
    1- Então estou pensando em exluir o unico snapshot que tenho. ok! pergunto se isso fará com que eu volte ao estado anterior na versão 7? e perca documentos?
    2- Ou estou pensando tambem em dimensionar o hd – aumentar 100gb na maquina virtual – e usar o gparted no linux para que o linux enchergue mais 100gb de espaço.

    Como posso proceder? o que seria melhor para não perder dados?

    Desde já obrigado pelo artigo e pela atenção.

    1. Olá, se você deletar o snapshot, não perderá os dados da VM, snapshot pode ser deletado livremente e até deve, caso ele não seja mais útil, o acumulo de snapshots pode causar comprometimento do espaço do disco, visto que cada snap cria um novo VMDK Delta.
      Sugiro que antes de fazer qualquer manutenção na VM, faça um backup da mesma, use o Veeam Backup & Replication, baixe a versão trial 30 dias, que vai lhe atender, será uma segurança pra vc, terá como restaurar toda a VM em caso de necessidade.

      Sucesso !

    • Victor em 1 de setembro de 2017 às 15:38
    • Responder

    Olá, estou tento problemas para executar snapshot de uma maquina. ela transmite o erro

    Create virtual machine snapshot

    An error
    occurred
    while
    quiescing
    the virtual
    machine.
    See the
    virtual
    machine’s
    event log for
    details.
    View details…
    root
    localhost

    a maquina tem quase 2tb de disco, no meu datastore tenho 600gb livres, creio que seja isso.

    Sabe qual o espaço que tenho que ter livre para executar o snapshot?

    1. Snaphsot para VM com 2TB, é bem grande.
      O espaço necessário tem que ter pelo menos o mesmo tamanho do VMDK + total de RAM da VM e pelo menos 100MB para arquivo de log.
      Leia este artigo: https://kb.vmware.com/s/article/1003755

    • Helrobe em 5 de junho de 2018 às 13:53
    • Responder

    Tenho uma VM EXsi com 800GB e com 5 snapshot consumindo 600GB. Tem como fazer um backup da MV somente com as configurações do último snapshot. ??? Quero fazer isso antes de deletar as snapshot.

    1. Olá,
      Não é possível fazer backup de snapshot, delete e a VM não sofrerá nenhuma perda de dados.

    • Helrobe em 5 de junho de 2018 às 14:30
    • Responder

    A minha VM está apresentando o seguinte erro: This virtual machine needs to have its disks consolidated. You should consolidate disks to improve performance and optimize disk utilization. Pode ajudar ??

    1. Olá, não é um erro, é uma aviso de que os discos delta VMDK criados por snapshots estão ficando com um tamanho considerável e que uma consolidação se faz necessária, para que a VM mantenha apenas um VMDK e exclua o delta, desta forma você evita estouro do Datastore do host, no futuro.

    • Eduardo em 27 de novembro de 2019 às 17:13
    • Responder

    Boa tarde, estou com um problema no vmware.
    Acidentalmente um snapshot foi apagado, fazendo com que os arquivos retornassem desatualizados.
    Pergunta: Tenho os arquivos do snapshot 00001.vmdk… 000002.vmdk, consigo restaurar esse snapshot para que os arquivos retornem atualizados?

    1. Primeiro de tudo, perdão pela demora, estava meio afastado do site, acredito até que você já tenha resolvido isso.
      Bem, o fato é que sem o vmdk do snapshot que falta, não tem como recuperar os dados, desta forma só através de backup.

      Sucesso !

    • Edson em 4 de março de 2020 às 20:21
    • Responder

    Estava sem espaço no disco e não entrava , só tinha 1 snapshot e mandei apagar e parei no meio e agora a máquina não aenyra mais e não tenho backup , como faço para reaver os dados do vmdk?

    1. Olá, deveria ter deixado ele terminar de apagar o snapshot, tem que ter muito cuidado ao manipular arquivos de máquinas virtuais, algumas situações são irreversiveis e você só conseguirar resolver o problema restaurando o backup.
      Quando um snapshot é deletado, o Vmware faz uma mescla de todos os discos delta com o disco vmdk original, então eles são apagados, como você abortou o processo no meio do caminho, é bem provável que o delta já foi deletado e agora o Vmware precisa dele para ligar a VM.

      Espero que tenha conseguido resolver o problema,.

Deixe uma resposta

Seu e-mail não será publicado.

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.