Gestão de pontos de verificação no Hyper-V com o PowerShell

Partilhar

Fique a saber como fazer a gestão de pontos de verificação no Hyper-V com o PowerShell, uma forma útil de otimizar a gestão da sua infraestrutura virtualizada.

A utilização destes pontos de verificação permite-nos guardar o estado de uma máquina virtual (daqui em diante VM) num determinado momento, e voltar ao estado que a VM tinha nesse momento anterior, se necessário.

Isto pode ser muito útil, por exemplo, quando queremos ter certeza de que podemos regressar a um estado anterior à instalação de software ou teste de uma configuração específica.

NOTA: Um instantâneo não é um backup completo e pode causar problemas, incluindo inconsistências na replicação de dados com AD DS e outros sistemas.

 

Gestão de pontos de verificação no Hyper-V com o PowerShell

 

Mudar o tipo de ponto de verificação:

Quando falamos de pontos de verificação devemos saber que existem três tipos diferentes: um que existe por padrão (o Standard), o Production e o ProductionOnly.

  • Ponto de Verificação Standard: Consiste num instantâneo da VM no qual o estado da RAM é capturado naquele preciso momento.
  • Ponto de Verificação de Production: Com base no Volume Shadow Copy Service, executa um “congelamento” do sistema de ficheiros para criar uma cópia de dados consistente. A RAM da VM não é guardada. Em caso de falha, será iniciado um ponto de verificação padrão.
  • Ponto de Verificação de ProductionOnly: É como o anterior, mas em caso de falha no processo, não será iniciado um ponto de verificação padrão.

Para configurá-los, devemos utilizar o comando “Set-VM”, utilizado para configurar as opções da VM, e onde definimos como parâmetro a máquina virtual na qual se deseja atuar e o tipo de ponto de verificação (CheckPoint).

Temos as seguintes opções:

# Set-VM -Name <Nome_VM> -CheckpointType Standard

# Set-VM -Name <Nome_VM> -CheckpointType Production

# Set-VM -Name <Nome_VM> -CheckpointType ProductionOnly

Alguns exemplos:

# Set-VM -Name WS2016 -CheckpointType Standard

# Set-VM -Name WS2016 -CheckpointType Production

# Set-VM -Name WS2016 -CheckpointType ProductionOnly

Imagem. Configuração do tipo de pontos de verificação de uma VM de Hyper-V com o PowerShell.
Imagem. Configuração do tipo de pontos de verificação de uma VM de Hyper-V com o PowerShell.

 

Criação de pontos de verificação no Hyper-V com o PowerShell:

Em seguida, devemos conhecer o processo de criação de um ponto de verificação, algo que na verdade pode ser feito de várias maneiras. Vamos ver algumas delas.

Por um lado, podemos criar um checkpoint onde apenas indicamos o nome da VM e o sistema se encarrega de tudo:

# Checkpoint-VM -Name <Nome_VM>

Como exemplo:

# Checkpoint-VM -Name WS2016

Alternativamente, podemos criar o ponto de verificação especificando o tipo:

# Checkpoint-VM -Name <Nome_VM> -CheckpointType <Tipo>

Neste caso temos de fornecer o nome da máquina virtual e o “CheckpointType“: “Standard“, “Production” ou “ProductionOnly“.

Este seria um exemplo:

# Checkpoint-VM -Name WS2016 -CheckpointType Standard

Além disso, é recomendável verificar o que foi feito, e para isso podemos listar os pontos de verificação com o comando “Get-VMCheckpoint” para uma determinada máquina, neste caso:

# Get-VMCheckpoint -Name WS2016

Imagem. Criação de um ponto de controlo de uma VM de Hyper-V com o PowerShell.
Imagem. Criação de um ponto de controlo de uma VM de Hyper-V com o PowerShell.

 

Alteração do nome dos pontos de verificação:

Outro ponto que será muito útil para gerir pontos de verificação é a alteração do nome dos pontos de verificação, pois eles são gerados automaticamente com base no tempo e esta não é a melhor forma de organizá-los, sendo muito mais conveniente guardá-los com nomes indicativos do que foi feito como, por exemplo, indicar que é um ponto de verificação prévio a uma instalação, atualização, etc.

Para alterar o nome utilizaremos o comando “Rename-VMCheckpoint” da seguinte forma:

# Rename-VMCheckpoint -VMName <Nome> -Name <Nome_Ponto_Verificação> -NewName <Novo_Nome_Ponto_Verificação>

Onde:

  • <Nome>: Nome da VM em que estamos a trabalhar.
  • <Nome_Ponto_Verificação>: Nome do ponto de verificação que queremos modificar.
  • <Novo_Nome_Ponto_Verificação>: O novo nome que queremos dar ao ponto de verificação.

Neste caso, ficaria assim:

# Rename-VMCheckpoint -VMName W10ENPru01 -Name ‘W10ENPru01 – (25/05/2023 – 12:02:00)’ -NewName ‘W10ENPru01 – Pruebas’

Uma vez executado, devemos fazer a verificação pertinente, para a qual podemos utilizar o comando:

# Getc-VMCheckpoint -VMName <Nome>

Imagem. Alteração do nome de um ponto de controlo de uma VM de Hyper-V com o PowerShell.
Imagem. Alteração do nome de um ponto de controlo de uma VM de Hyper-V com o PowerShell.

 

Recuperação de um ponto de verificação de Hyper-V com o PowerShell:

A recuperação de um ponto de verificação consiste em reverter a VM para um ponto específico no tempo.

Para isso, devemos fazer uma lista dos pontos que temos para a VM em questão, e para isso usaremos o seguinte comando:

# Get-VMCheckpoint -VMName <Nome>

Sendo “<Nome>” o nome da VM que queremos fazer regressar a um estado anterior.

Neste exemplo, seria:

# Get-VMCheckpoint -VMName WS2016

Em seguida, após selecionar o ponto de verificação que queremos aplicar, devemos executar o comando “Restore-VMCheckpoint” com a seguinte estrutura:

# Restore-VMCheckpoint -Name <Nome_Ponto_Verificação> -VMName <Nome> -Confirm:$false

Assim:

  • <Nome>: Nome da VM em que estamos a trabalhar.
  • <Nome_Ponto_Verificação>: Nome do ponto de verificação que queremos aplicar.

Portanto, seria:

# Restore-VMCheckpoint -Name ‘WS2016 – Punto Prueba’ -VMName WS2016 -Confirm:$false

Imagem. Recuperação de um ponto de controlo de uma VM de Hyper-V com o PowerShell.
Imagem. Recuperação de um ponto de controlo de uma VM de Hyper-V com o PowerShell.

 

Exportar pontos de verificação de Hyper-V com o PowerShell:

Quando exportamos um ponto de verificação, o que estamos a fazer, na realidade, é criar uma estrutura de pastas na qual são adicionados todos os pacotes necessários para poder mover a referida máquina virtual para outro servidor e poder implementá-la no seu novo local.

Para fazer o deploy no novo local, basta importar a VM e restaurar o ponto de verificação como uma máquina virtual.

Isto pode ser usado como uma espécie de backup para casos extremos em que é necessário fornecer algum mecanismo de “recuperação de desastres”.

Para exportar a máquina, recomendamos começar por listar os pontos de verificação disponíveis para aquela VM e depois utilizar o comando “Export-VMCheckpoint” com a seguinte estrutura:

# Export-VMCheckpoint -VMName <Nome> -Name <Nome_Ponto_Verificação> -Path <Caminho_Exportação>

Onde:

  • <Nome>: Nome da VM em que estamos a trabalhar.
  • <Nome_Ponto_Verificação>: Nome que vamos dar ao ponto de verificação.
  • <Caminho_Exportação>: O caminho para o qual a VM é exportada.

E um exemplo pode ser:

# Export-VMCheckpoint -VMName W10ENPru01 -Name ‘W10ENPru01 – Pruebas’ -Path ‘C:\Datos’

Imagem. Exportação de um ponto de controlo de uma VM de Hyper-V com o PowerShell.
Imagem. Exportação de um ponto de controlo de uma VM de Hyper-V com o PowerShell.

É importante saber que os ficheiros exportados terão o mesmo tamanho da máquina virtual de onde foi feita a exportação, portanto não é recomendável abusar deste comando.

 

Eliminar pontos de verificação de Hyper-V com o PowerShell:

Quando um ponto de verificação deixa de ser necessário, é uma boa prática removê-lo para manter a organização. Além disso, se tivermos em conta que este tipo de elementos acabam por sobrecarregar o servidor e torná-lo mais lento, este processo torna-se ainda mais importante.

Para eliminar pontos de verificação, primeiro devemos fazer uma lista dos pontos disponíveis para uma VM específica:

# Get-VMCheckpoint -VMName <Nome>

Onde “<Nome>” é o nome da VM que queremos analisar.

Uma vez tenhamos a lista, devemos selecionar o checkpoint que queremos excluir e executar o seguinte comando:

# Remove-VMCheckpoint -VMName <Nome> -Name <Nome_Ponto_Verificação>

Onde “<Nome>” é o nome da VM onde se encontra o ponto de verificação e “<Nome_Ponto_Verificação>” é o ponto de verificação que queremos eliminar.

Como exemplo:

# Remove-VMCheckpoint -VMName W10ENPru01 -Name ‘W10ENPru01 – Pruebas’

Por fim, recomendamos verificar novamente os pontos de verificação com o comando “Get-VMCheckpoint” para verificar se eliminamos aquele que queríamos eliminar.

Imagem. Eliminação de um ponto de verificação de uma VM de Hyper-V com o PowerShell.
Imagem. Eliminação de um ponto de verificação de uma VM de Hyper-V com o PowerShell.

E com isto já vimos de uma forma geral tudo o que precisa de ser feito com este tipo de elemento.

 

Conclusões:

Como vimos neste artigo sobre o uso do PowerShell para gerir de pontos de verificação no Hyper-V, a utilização de pontos de verificação de máquinas virtuais pode ajudar significativamente na administração da sua infraestrutura virtualizada através do hipervisor da Microsoft, sendo um modelo que é quase tão fácil de usar como a interface gráfica, embora tenha uma vantagem sobre esta devido à notável poupança de tempo.

Se tem interesse neste tópico e deseja testá-lo no seu computador desktop, pode visitar o tutorial (em inglês): Como instalar o Hyper-V no Windows 10. Também pode consultar o artigo Comandos de PowerShell para gerir máquinas virtuais do Hyper-V para aprender outros comandos de gestão de Hyper-V com o PowerShell.

Além disso, pode ver outros tutoriais e artigos relacionados com o Hyper-V.

Obrigado por acompanhar-nos!

Categorias:Cloud e sistemas

Outros artigos que podem interessar-lhe

21 de Fevereiro de 2024
Como empresa de software, é possível que tenha sentido atração pela reputação, variedade de serviços e solidez de algum
21 de Fevereiro de 2024
Para muitas empresas de software, ter uma infraestrutura própria significa independência e controlo, bem como uma potencial fonte de
21 de Fevereiro de 2024
Para um ISV, escolher o fornecedor de serviços cloud ideal é uma decisão crucial que pode impactar a satisfação