Backup de imagens brutas do KVM

1

'Olá pessoal! Estou executando o qemu-img-0.12.1.2-2.355.0.1.el6 no CentOS 6.3 usando imagens brutas para minhas máquinas virtuais. Existe alguma maneira de fazer backup de convidados com segurança, sem interrompê-los? Eu tentei fazer um instantâneo em um convidado de teste, que não estava em execução, mas recebi um erro: "instantâneo do disco ao vivo não suportado com este binário do qemu". Isso significa que o formato bruto não é adequado para nenhum tipo de instantâneo ou é algo com meu pacote KVM? Eu li que a suspensão do convidado é suficiente para executar a operação de dd, certo? Por favor, você pode compartilhar algumas de suas melhores práticas nesta área?

    
por fume-shroom 01.10.2015 / 15:00

2 respostas

2

Se você estiver usando arquivos brutos de imagem , a única maneira de obter um instantâneo consistente é suspendendo ou desligando a VM.

Você pode tirar um instantâneo usando arquivos de imagem qcow2 sem suspender a VM, mas o instantâneo se torna parte desse arquivo. Isso pode ou não ser apropriado, dependendo da sua situação.

Você teria mais opções se estivesse usando um hipervisor do Fedora do CentOS 7 ou atual, como volumes LVM de snapshottable ou zvols do ZFS. Nesses sistemas modernos, você deve virsh domfsfreeze o convidado, tirar o instantâneo, virsh domfsthaw o convidado e, em seguida, fazer o backup do instantâneo. Isso requer o qemu-guest-agent em execução no convidado.

    
por 01.10.2015 / 15:08
2

A suspensão de VMs com virsh suspend <domain> apenas congela a VM, de acordo com os documentos em que todas as E / S e E / S de disco estão suspensas, enquanto a VM ainda consome a RAM do host.

Se você tem o Centos, então há uma grande probabilidade de que você também tenha uma partição LVM e, além disso, uma partição XFS. Se a afirmação for verdadeira, você pode fazer o backup da seguinte maneira:

  • elimine a cache na VM e suspenda-a,
  • descartar o cache no host e fazer o instantâneo do LVM,
  • monte o instantâneo do LVM em algum lugar no host e faça seu agendamento de backup.

Está funcionando para mim mesmo com servidores de banco de dados. É até mesmo completamente seguro fazer o backup do servidor de arquivos (por exemplo, samba), sem deixar o cache no host ou na VM, assumindo que os parâmetros do kernel no host e no guset são padrão. Perda de dados é mínima. O Ext4, por exemplo, confirma páginas sujas na RAM a cada 5 segundos (configuração padrão). Pode levar à perda de dados que foram cometidos menos de 5 segundos antes do congelamento. Essa quantidade de perda de dados foi aceitável para mim.

Cada método de backup tem algumas desvantagens. Tempo de inatividade ou perda de dados em potencial. Muitos administradores de bancos de dados supõem pensar que a perda de dados pode levar à corrupção de dados quando o mecanismo de banco de dados (como o MS SQL) obrigatório deve confirmar todas as transações no sistema de arquivos antes de aceitar a alteração. Por outro lado, eles aceitam restaurar dados do backup e concordar com a perda de dados.

    
por 02.10.2015 / 08:47