Copia de security del KVM qcow2 VPS en ejecución

Quiero un método robusto de tomar la copy de security de KVM VPS del file qcow2, mientras se ejecuta. Después de search durante mucho time encontré que podemos usar rsync para la copy de security en vivo. Utilicé el command siguiente para rsync:

rsync -avh /vms/base.qcow2 /backup/backup.qcow2 

Funcionó correctamente. Pero me temo que puede corromper copy de security qcow2 image si copy de security se toma mientras se está cambiando VPS debido a escribir y eliminar las operaciones (como instalar un nuevo software o actualización).

Por lo tanto tomar copy de security de la instantánea de VPS en vivo parece más interesante opción.

Utilicé los siguientes commands para tomar la copy de security de VPS en ejecución:

1.Create Snapshot:

 qemu-img create -f qcow2 -b base.qcow2 snapshot.qcow2 

2.Convert instantánea en formatting de image sin formatting (.img):

 qemu-img convert -O raw snapshot.qcow2 /backup/backup.img 

Para restaurar VPS:

3.Convert image en bruto en la image qcow2:

 qemu-img convert -O qcow2 /backup/backup.img base.qcow2 

Entonces podemos iniciar VPS por el command virsh create base.xml .

A pesar de que este método también funciona perfectamente todavía no estoy seguro de si este es el método adecuado para tomar copy de security de correr VPS. He encontrado una buena documentation sobre los commands qemu-img aquí y aquí . Pero no mencionaron nada acerca de la conversión de instantáneas de VPS en directo en la image en bruto.

¿Qué método es más adecuado para la copy de security de VPS en time real? ¿Es segura la conversión de instantáneas en una image sin procesar?

Si pudiera get una documentation detallada sobre cómo se comportan los files de instantáneas y bases en ciertas condiciones que serán muy útiles.

Tal vez también podemos convertir la image base qcow2 en file de copy de security sin formatting en lugar de convertir la instantánea. Por lo tanto, el flujo de command será:
1. Crear instantánea
2. Convertir la base qcow2 en image cruda de backup
3. Configure los cambios de instantánea en la image base
4. Eliminar instantánea

He intentado esto y funcionó bien en pequeños VPS de 5 GB. ¿Pero hay alguna posibilidad de error o corrupción de VPS cuando el tamaño de VPS es enorme?

Gracias por adelantado…

Lo único que le falta es detener el sistema de files invitado antes de tomar la instantánea, para asegurarse de que es coherente. Esto se puede hacer con virsh domfsfreeze si está utilizando libvirtd.

Por ejemplo, el order de las operaciones es:

 # Freeze guest filesystems virsh domfsfreeze $VM_NAME # Create snapshot qemu-img create -f qcow2 -b $VM_NAME.qcow2 snapshot.qcow2 # Thaw guest filesystems virsh domfsthaw $VM_NAME # Take backup from snapshot qemu-img convert -O raw snapshot.qcow2 /backup/backup.img 

Tenga en count que esto requiere que el qemu-guest-agent esté instalado y funcionando en la VM. Dependiendo de la distribución y las opciones de installation, esto puede o no ser el caso.

El qemu-guest-agent también es extensible; puede agregar secuencias de commands a él para admitir software específico. Por ejemplo, incluye un script de ejemplo para poner MySQL en un estado consistente.