Backup e Restore de Máquinas Virtuais KVM
Sumário
- Preparação para o Backup
- Procedimento de Backup de uma Máquina Virtual KVM
- Procedimento de Restore de uma Máquina Virtual KVM
- Testar e Verificar o Restore
Introdução
O backup e restore de máquinas virtuais (VMs) é uma tarefa essencial para garantir a continuidade dos serviços e a proteção dos dados em ambientes virtualizados. No contexto do KVM (Kernel-based Virtual Machine), que é uma plataforma de virtualização robusta e amplamente utilizada em ambientes Linux, garantir um processo eficiente de backup pode prevenir perda de dados e facilitar migrações ou recuperação após falhas.
Este tutorial oferece um guia prático e detalhado para realizar o backup de VMs KVM, otimizar o uso de espaço em disco e restaurar as VMs de forma confiável. Utilizaremos ferramentas como qemu-img e libguestfs-tools para garantir que os backups sejam compactos e que as restaurações sejam rápidas e seguras.
Parte 1: Preparação para o Backup
Antes de começar o backup, vamos garantir que as ferramentas necessárias estejam instaladas e que a integridade das máquinas virtuais seja verificada.
Passo 1: Instalar as ferramentas necessárias
Será necessário instalar algumas ferramentas para realizar o backup e otimizar o uso de espaço, como qemu-img e libguestfs-tools (que inclui o virt-sparsify para reduzir o tamanho das imagens).
- No Debian/Ubuntu:
1 2
sudo apt update sudo apt install qemu-utils libguestfs-tools
- No CentOS/RHEL/Fedora:
1
sudo dnf install qemu-img libguestfs-tools
Parte 2: Procedimento de Backup de uma Máquina Virtual KVM
Aqui, faremos a conversão da imagem da VM, além de aplicar otimizações para reduzir o espaço em disco.
Passo 2: Parar a VM (opcional, mas recomendado)
Para garantir a consistência dos dados, é recomendado parar a máquina virtual antes de iniciar o backup. Use o comando virsh para desligar a VM:
1
sudo virsh shutdown nome-da-vm
Passo 3: Verificar a integridade da imagem da VM
Antes de fazer o backup, é uma boa prática verificar a integridade da imagem da VM. Isso ajuda a garantir que o backup será confiável.
1
qemu-img info /caminho/para/sua/vm.qcow2
Passo 4: Converter e compactar a imagem da VM
Usaremos o qemu-img para converter a imagem da VM. Isso permite otimizar a imagem, convertendo para o formato qcow2, que economiza espaço.
Converter a imagem para o formato compactado
qcow2:Se o arquivo da VM estiver em um formato grande, como
.raw, você pode convertê-lo para um formato mais eficiente como.qcow2:1
qemu-img convert -O qcow2 /caminho/para/sua/vm.qcow2 vm-backup.qcow2Verificar a nova imagem compactada:
Após a conversão, verifique se a nova imagem está correta:
1
qemu-img info vm-backup.qcow2
Passo 5: Otimizar a imagem para reduzir o espaço em disco
Usaremos a ferramenta virt-sparsify para remover espaços vazios da imagem, tornando o backup mais leve.
Aplicar o sparsify diretamente:
1
sudo virt-sparsify --in-place vm-backup.qcow2
Nota: O
--in-placemodifica a imagem existente, por isso é recomendado fazer isso com uma cópia de backup.Verificar a imagem novamente:
Após otimizar a imagem, verifique novamente suas informações:
1
qemu-img info vm-backup.qcow2
Compactar e converter novamente (opcional):
Se desejar compressão adicional, você pode converter novamente a imagem:
1
qemu-img convert -O qcow2 -c vm-backup.qcow2 vm-backup-compressed.qcow2
Parte 3: Procedimento de Restore de uma Máquina Virtual KVM
Agora que temos um backup da VM, vamos restaurá-la utilizando o backup gerado. O processo envolve a conversão da imagem de volta ao estado original e a reconfiguração no KVM.
Passo 6: Restaurar a imagem da VM
Mover a imagem de backup para o local da VM:
Se o backup estiver armazenado externamente, copie a imagem de volta para o diretório onde as imagens de disco das VMs são armazenadas, que geralmente é /var/lib/libvirt/images/.
1
sudo cp /caminho/para/backup/vm-backup.qcow2 /var/lib/libvirt/images/vm.qcow2Converter de volta, se necessário:
Caso tenha compactado a imagem durante o backup, será necessário descompactá-la. Converta a imagem compactada de volta para o formato original:
1
qemu-img convert -O qcow2 /var/lib/libvirt/images/vm-backup-compressed.qcow2 /var/lib/libvirt/images/vm.qcow2
Passo 7: Reconfigurar a VM (se necessário)
Se você não possuir o arquivo XML com a configuração da VM, precisará recriar a VM no KVM. Isso pode ser feito com o virt-install ou reimportando o arquivo XML da VM.
Recriar a VM usando o disco restaurado:
Você pode recriar a VM com base no disco restaurado utilizando o comando
virt-install:1
sudo virt-install --name nome-da-vm --memory 2048 --vcpus 2 --disk path=/var/lib/libvirt/images/vm.qcow2,format=qcow2 --os-type linux --network network=default --graphics vnc
Usar o arquivo XML para restaurar a configuração:
Se você tiver feito backup da configuração da VM em formato XML, pode restaurá-la com o seguinte comando:
1
sudo virsh define /caminho/para/vm.xml
Parte 4: Testar e Verificar o Restore
Depois de restaurar a imagem e reconfigurar a VM, o próximo passo é garantir que tudo funcione corretamente.
Passo 8: Verificar a restauração e iniciar a VM
Após restaurar a VM, inicie-a utilizando o virsh:
1
sudo virsh start nome-da-vm
Passo 9: Verificar o status da VM
Para confirmar se a VM está rodando corretamente, use o comando:
1
sudo virsh list --all
Isso exibirá uma lista de todas as VMs, mostrando se elas estão ativas ou não.
Passo 10: Acessar a VM e verificar o funcionamento
Agora que a VM foi restaurada e está rodando, você pode acessar a máquina virtual via virsh console ou ssh (caso ela esteja configurada para permitir acesso SSH):
- Acessar via console:
1
sudo virsh console nome-da-vm - Acessar via SSH (se configurado):
1
ssh usuario@ip-da-vm
Certifique-se de que a VM esteja funcionando conforme esperado e que todos os dados e serviços estejam operacionais.
Considerações Finais
Este tutorial cobriu o processo completo de backup e restore de VMs KVM, utilizando ferramentas como qemu-img e libguestfs-tools para otimizar o backup e garantir a integridade da imagem. Seguindo essas etapas, você poderá facilmente proteger suas VMs e restaurá-las em caso de falhas ou migrações.