qemu-img instantâneo na VM ao vivo

2

Eu criei várias VMs KVM usando imagens QCOW2.
Cada VM tem seu próprio arquivo qcow2 e não é baseada em nenhum arquivo de suporte.
Minha pergunta é especificamente relacionada a instantâneos de imagens QCow2 nessas VMs em execução.
Se eu executar o seguinte comando em uma VM em execução:
qemu-img snapshot -c backup /vms/vm10001.qcow2

O comando acima prejudicará o sistema de arquivos VMs em execução?
Minha intenção é converter o instantâneo em uma imagem qcow2 usando o seguinte: qemu-img convert -s backup /vms/vm10001.qcow2 /vms/output.qcow2

Não consigo usar os comandos "virsh" e, portanto, estou tentando descobrir uma maneira de executar minha tarefa com o qemu-img

Answer / Update 1 :
Ok, então eu testei isso em várias das minhas VMs de teste e o acima não é possível. Você não pode executar qemu-img snapshot em uma VM ativa sem pausar.

A única maneira de fazer isso nos nós base do RHEL é usar:
virsh snapshot-create <dom>

O acima irá salvar o estado da VM e internamente, em seguida, chamar qemu-img snapshot -c . No entanto, isso pode levar algum tempo, o que me leva à minha segunda pergunta

Pergunta 2: virsh snapshot-create <dom> --disk-only --atomic não é suportado em nós base que são tipos RHEL (incluindo RHEL 7) porque o qemu-kvm é muito antigo.
Portanto, a única opção é usar virsh snapshot-create <dom> , que é meio lento.
É possível fazer o seguinte: virsh suspend <dom>
qemu-img snapshot -c backup /vms/<dom>.qcow2
virsh resume <dom>

A operação acima parece ser muito mais rápida do que a criação de instantâneos

Resposta / atualização 2 :

Mesmo a pergunta acima 2 não é possível. Depois de fazer muita pesquisa, concluí o mesmo.

Pergunta 3:

Existe algum método para criar um instantâneo para uma VM on-line tendo um disco Qcow2 em um nó base do RHEL 6/7 e, em seguida, fazer um backup do instantâneo para restauração posterior?

    
por user1066991 16.05.2015 / 08:00

2 respostas

1

Esta não é uma resposta exata, mas mostrará o caminho.

Estamos usando o KVM do Linux há muito tempo. Antigamente qcow2 não suportava snapshots. Em nosso primeiro host KVM, não desejamos usar os instantâneos do LVM e, por causa disso, não pudemos fazer backups ao vivo.

Então, encontramos Ferramentas do Linux Hot Copy .

Usando esta ferramenta; poderíamos congelar todo o sistema de arquivos do host e copiamos qcows para discos externos com um script de backup personalizado.

Nosso script de backup foi algo assim:

# Mount Usb
mount /dev/sdb1 /USBDISK
# Mount file system as ro to temp folder
hcp --read-only --mount-point /SNAPSHOT /dev/md1
# Copy files out
cp /SNAPSHOT/*.qcow2 /USBDISK
# Stop Hot Copy
hcp --remove /dev/hcp1
# Remove Usb
umount /USBDISK
    
por 14.07.2015 / 03:30
0

minha experiência com o KVM é na verdade bastante limitada, mas estar em uma situação muito semelhante, foi o que funcionou para mim:

Primeiro eu faço um backup da configuração para a VM chamada MACHINE:

# virsh dumpxml MACHINE > /path/to/configfile.xml

Em seguida, suspendo a VM chamada MACHINE para evitar danos na máquina recém-criada:

# virsh suspend MACHINE

Em seguida, crie uma captura instantânea denominada MACHINE-BAK.qcow2 a partir da VM denominada MACHINE usando o comando qemu-img, mesmo se normalmente for usada para converter entre os formatos:

# qemu-img convert -O qcow2 /path/to/MACHINE.qcow2 /path/to/MACHINE-BAK.qcow2

Em seguida, retomo a operatividade normal da VM original chamada MACHINE:

# virsh resume MACHINE

Aplicando essas etapas simples em um script executado por meio da automação crontab, posso obter um backup completo periódico de VMs em execução com tempo de inatividade mínimo (dependendo do tamanho da VM original, já que, como dito acima, é melhor para suspender a VM original durante a duplicação)

    
por 02.08.2018 / 17:25