Há momentos em que você precisa instalar atualizações do sistema operacional ou patches de segurança em uma de suas máquinas virtuais (VMs) convidadas. No entanto, o processo de atualização às vezes pode dar errado, resultando em uma falha do sistema, perda de dados de configuração ou desinstalação de certos programas. A Microsoft Hyper-V forneceu a oportunidade de criar snapshots do Hyper-V, que permitem que você salve o estado da VM em um ponto específico no tempo e reverta o sistema para seu estado anterior se ocorrer um erro do sistema.
Neste post do blog, descreveremos como mesclar snapshots do Hyper-V usando o Gerenciador do Hyper-V ou PowerShell e como eles podem ser usados. No entanto, para aprender como gerenciar snapshots do Hyper-V, primeiro você precisa entender a tecnologia por trás deles.
O que é um Snapshot do Hyper-V?
A Hyper-V snapshot is a point-in-time copy of a VM, which contains all the information required to restore your data. With the use of Hyper-V snapshots, you can revert the VM to a point when the VM state was captured and the snapshot was taken. Hyper-V snapshot technology is enabled by default when the Hyper-V role is installed on your computer and your first VM is created. Hyper-V snapshots of a selected VM can be taken in any state (Off, Running, Paused, and Saved) and the operation is typically complete in a few seconds.
Observe que os snapshots do Hyper-V são atualmente conhecidos como checkpoints do Hyper-V, mas ambos os termos são igualmente válidos.
Tipos de Snapshots do Hyper-V
A Microsoft Hyper-V fornece dois tipos de snapshots:
- Snapshots de Produção aplicam tecnologia de backup dentro do sistema operacional convidado para criar snapshots consistentes de dados da VM. Para esse fim, são usados o Serviço de Cópia de Volume do Windows (VSS) ou o Congelamento do Sistema de Arquivos do Linux. Os snapshots de produção do Hyper-V podem ser usados para capturar o estado do ambiente de produção, pois melhoram a consistência dos dados de aplicativos e do sistema operacional convidado. Observe que os snapshots de produção do Hyper-V não capturam o estado da memória da VM, as informações sobre sua atividade de CPU ou configuração de hardware.
Nos novos lançamentos do sistema operacional (Windows Server 2016 e Windows 10), as verificações de produção são a opção padrão para o tipo de verificação. No entanto, você pode alterá-lo no Gerenciador do Hyper-V ou no Windows PowerShell.
- Capturas de tela padrão capturam o estado da VM, incluindo sua atividade de CPU e memória, e a configuração de hardware em um ponto específico no tempo. Assim, uma captura de tela padrão do Hyper-V permite capturar o estado atual de aplicativos e reverter a VM para um estado ou condição específico no tempo. Elas são aplicáveis principalmente em cenários de desenvolvimento e teste. A criação de capturas de tela padrão do Hyper-V não pode ser considerada uma estratégia de backup confiável, pois pode causar alguns problemas de inconsistência de dados em aplicativos que não são conscientes do VSS.
Como Funcionam as Capturas de Tela do Hyper-V
Como você sabe, as VMs do Hyper-V são armazenadas em discos virtuais, que são do formato .vhd(x). Ao mesmo tempo, os arquivos de captura de tela criados nessas VMs do Hyper-V são armazenados no formato .avhd(x) e são mantidos na mesma pasta que o arquivo de imagem de disco rígido. As capturas de tela do Hyper-V são basicamente discos virtuais diferenciais e cada um deles tem uma relação pai-filho com o disco rígido virtual pai correspondente. Você pode criar até 50 capturas de tela para cada VM. Todas as capturas de tela do Hyper-V são organizadas em uma ordem hierárquica, constituindo assim uma árvore de verificações.
No entanto, o problema é que os arquivos .avhd(x) tendem a se acumular e ocupar muito espaço em disco, o que consequentemente afeta o desempenho da VM. Se você deseja remover arquivos .avhd(x) desnecessários, precisa excluir snapshots do Hyper-V. Essa opção não implica que você está realmente excluindo os snapshots. Em vez disso, você simplesmente mescla os snapshots do Hyper-V e os dados que eles contêm em um disco pai ou outro disco virtual. Não é recomendado excluir snapshots do Hyper-V diretamente do computador. Após mesclar os snapshots do Hyper-V, todos os arquivos .avhd(x) serão excluídos do disco. Desta forma, você pode criar espaço adicional no seu host Hyper-V.
Como Mesclar Snapshots do Hyper-V
Em um dos nossos posts anteriores do blog, cobrimos como gerenciar snapshots do Hyper-V (criar, aplicar, renomear, ativar/desativar, etc.). No entanto, o post de hoje serve como um guia para mesclar snapshots do Hyper-V manualmente.
Para mesclar snapshots do Hyper-V, é necessário usar o Gerenciador do Hyper-V ou o PowerShell. Ambos os métodos serão descritos abaixo.
Usando o Gerenciador do Hyper-V
Antes de começarmos a descrever como mesclar snapshots do Hyper-V, devemos primeiro determinar quais snapshots serão mesclados. Os snapshots do Hyper-V devem ser mesclados em uma ordem específica: do filho para o pai. Portanto, é importante estabelecer a estrutura da árvore de checkpoints estabelecendo a ordem de sua criação: dos mais recentes para os mais antigos.
Como mencionado acima, cada snapshot tem uma relação pai-filho com outro snapshot que foi criado antes dele. Todos juntos podem ser representados na forma de uma cadeia. Por exemplo, foram criados 3 snapshots para 1 disco rígido virtual. O disco virtual principal no qual a VM está em execução atua como pai do primeiro checkpoint, este checkpoint atua como pai do segundo checkpoint, e o segundo checkpoint atua como pai do terceiro checkpoint.
Para estabelecer a estrutura do checkpoint, siga as seguintes etapas:
- Abra o Gerenciador do Hyper-V.
- No painel central, selecione a VM cujos snapshots você deseja mesclar.
- Na seção Ações à direita, clique em Inspecionar Disco.
- Selecione o arquivo .avhd(x) e clique em OK.
- Em seguida, você deverá ver uma visão geral das propriedades do disco rígido virtual, incluindo seu nome, localização e o nome do pai. Determine o pai do arquivo .avhd(x) selecionado.
- Repita as etapas 3-5 para cada arquivo .avhd(x) e identifique a ordem deles para mesclar.
Depois disso, você pode iniciar o processo de mesclagem de snapshots do Hyper-V. Note que sua VM deve estar desligada para evitar problemas durante a operação de mesclagem.
Para mesclar snapshots do Hyper-V, siga os passos abaixo:
- Abra o Gerenciador do Hyper-V.
- Selecione a VM necessária.
- Clique em Editar Disco. O Assistente de Edição de Disco Rígido Virtual será aberto. Clique em Avançar.
- Clique em Procurar para selecionar o arquivo .avhdx mais recente. Clique em Avançar.
- Selecione Mesclar para mesclar as alterações armazenadas em um disco de diferenciação no disco pai ou em outro disco. Clique em Avançar.
- Selecione Para o disco rígido virtual pai e clique em Concluir.
- Para concluir totalmente o processo de mesclagem de snapshots do Hyper-V, repita os passos 1-5 para cada arquivo .avhd(x), até que todas as alterações tenham sido mescladas no disco pai original.
- O último passo é reiniciar a VM para adotar as alterações implementadas.
Usando o PowerShell
Antes de começar a mesclar instantâneos do Hyper-V, certifique-se de que seu computador tenha o cmdlet Merge-VHD habilitado. Caso contrário, o seguinte erro aparecerá na tela:O termo 'Merge-VHD' não é reconhecido como o nome de um cmdlet, função, arquivo de script ou programa executável.
Verifique a ortografia do nome ou se um caminho foi incluído, verifique se o caminho está correto e tente novamente.
Para resolver esse problema, abra o PowerShell como Administrador e execute o seguinte comando:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Management-PowerShell
Se tudo estiver correto, você deverá ver o seguinte:
Agora, você está pronto para executar o cmdlet Merge-VHD. Note que essa operação é realizada offline.
Para mesclar instantâneos do Hyper-V, execute este cmdlet:
Merge-VHD Path = '' DestinationPath = ''
Neste caso, os dados de vários discos filhos, começando pelo mais recente, podem ser mesclados no disco pai mais antigo. Na tela, você verá o seguinte:
Após a conclusão da operação, desligue a VM convidada e reinicie o sistema. Ao contrário do Gerenciador do Hyper-V, que exige que você mescler cada camada da cadeia de discos separadamente, o PowerShell permite que você execute uma operação tão complexa com um único comando.
Por Que Você Deve Usar Instantâneos do Hyper-V
Os snapshots do Hyper-V permitem salvar o estado da VM antes de aplicar alterações de configuração, instalar novo software, executar qualquer atualização do sistema operacional, atualizar patches de segurança, etc. Se você estiver prestes a realizar uma operação que possa alterar sua infraestrutura virtual ou houver um alto risco de falha, crie um snapshot do Hyper-V da sua VM antecipadamente. Ele servirá como uma rede de segurança caso algo dê errado e você precise reverter o sistema para o estado anterior.
No entanto, os snapshots do Hyper-V entregam os melhores resultados quando usados em ambientes de desenvolvimento e teste. Eles não são uma alternativa de backup eficaz e confiável, e não recomendamos o uso deles no ambiente de produção. Em vez disso, considere usar uma solução de backup do Hyper-V completa, que inclui várias opções de proteção de dados e pode economizar muito tempo, dinheiro e esforço quando comparada à manutenção de infraestrutura tradicional.
Source:
https://www.nakivo.com/blog/merge-hyper-v-snapshots-step-step-guide/