Post

Backup e Restore de Máquinas Virtuais KVM

Backup e Restore de Máquinas Virtuais KVM

Sumário

  1. Preparação para o Backup
  2. Procedimento de Backup de uma Máquina Virtual KVM
  3. Procedimento de Restore de uma Máquina Virtual KVM
  4. 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.

  1. 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.qcow2
    
  2. Verificar 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.

  1. Aplicar o sparsify diretamente:

    1
    
    sudo virt-sparsify --in-place vm-backup.qcow2
    

    Nota: O --in-place modifica a imagem existente, por isso é recomendado fazer isso com uma cópia de backup.

  2. Verificar a imagem novamente:

    Após otimizar a imagem, verifique novamente suas informações:

    1
    
    qemu-img info vm-backup.qcow2
    
  3. 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

  1. 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.qcow2
    
  2. Converter 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.

  1. 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
    
  2. 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):

  1. Acessar via console:
    1
    
    sudo virsh console nome-da-vm
    
  2. 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.


This post is licensed under CC BY 4.0 by the author.