Tutorial de Ubuntu 26.04 / Restaure snapshots e clone uma VM com segurança

Um snapshot permite voltar uma VM a um estado salvo e não substitui um backup independente (lição em inglês). A clonagem cria outra VM, mas não garante novas contas, chaves SSH do host ou identificadores dentro do sistema convidado.

Identifique os dados que devem sobreviver à restauração

Arquivos e configurações criados após um snapshot podem desaparecer quando ele é restaurado. Pastas compartilhadas do host, bancos de dados externos e armazenamento de rede ficam fora do escopo normal do snapshot do convidado. Copie para fora da VM o trabalho e os logs necessários e abra as cópias antes de restaurar.

No primeiro exercício, desligue a VM normalmente antes de criar o snapshot de referência. Um snapshot com a VM em execução e memória salva difere de um ponto de referência criado com ela desligada. Use um nome significativo, como clean-install, e registre separadamente data, estado verificado e finalidade.

Teste a restauração com um arquivo descartável

Antes de criar o snapshot, confirme que $HOME/snapshot-lab/marker.txt não existe e que snapshot-lab não é um link simbólico nem contém dados que você precise preservar. O redirecionamento abaixo sobrescreve o arquivo se ele já existir. Se houver conflito, escolha um caminho próprio ainda não usado e ajuste os comandos; também confira que ele fica no disco da VM, não em pasta compartilhada.

  1. Desligue a VM normalmente e crie um ponto de referência na tela Snapshots do VirtualBox.
  2. Inicialize e crie o arquivo de prática abaixo em um local descartável, afastado de originais importantes.
  3. Desligue novamente e restaure o ponto de referência. Leia a opção de guardar o estado atual separadamente antes de substituí-lo.
  4. Depois de inicializar, confira o arquivo de prática, o login, os endereços e os serviços necessários.
mkdir -p "$HOME/snapshot-lab"
printf 'after-snapshot\n' > "$HOME/snapshot-lab/marker.txt"
cat "$HOME/snapshot-lab/marker.txt"

Se o arquivo não existia no ponto de referência, espera-se que ele esteja ausente após a restauração. Se permanecer, confira se estava em uma pasta compartilhada ou se o snapshot foi feito depois de criá-lo. O teste simples não comprova a recuperação de dados importantes de aplicativos.

O manual do VirtualBox 7.2 descreve snapshots, clonagem e exportação.

Inicialize um clone isolado primeiro

Antes de conectar original e clone ao mesmo tempo, desative a rede do clone ou use um segmento de laboratório isolado. IPs estáticos (lição em inglês), nomes de host, identificadores DHCP e caminhos compartilhados podem entrar em conflito. Confira a opção de gerar novos endereços MAC para os adaptadores virtuais.

hostnamectl
ip -br address
cat /etc/machine-id
sudo ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub

Compare esses valores após clonar. IDs de máquina ou chaves SSH de host duplicados podem não impedir a inicialização, mas prejudicam a distinção entre máquinas independentes. O último comando consulta a chave pública Ed25519; se ela não existir, verifique quais chaves públicas do host estão disponíveis, sem expor ou apagar chaves privadas. Mantenha identificadores e endereços internos fora de registros públicos. Não apague as chaves no original nem aplique a ambas as máquinas uma redefinição destinada apenas ao clone.

Diferencie clone de laboratório e modelo de implantação

Uma comparação pontual pode usar um clone isolado com endereços e nome de host distintos. Implantar um servidor independente exige um plano separado para chaves SSH do host, machine-id, estado inicial do cloud-init, segredos de contas e rede estática. Apagar um arquivo às cegas não é um procedimento universal de preparação de modelos; consulte a documentação de machine-id do systemd e a orientação do ambiente usado.

Após restaurar ou clonar, confira horário, login, rede, montagens e respostas dos serviços. Em exercício separado, teste a importação e inicialização de um backup da VM armazenado independentemente. Não mova nem apague arquivos individuais da cadeia de discos de snapshots sem um procedimento apropriado.