Estoy ejecutando qemu-img-0.12.1.2-2.355.0.1.el6 en CentOS 6.3 usando imágenes sin formato para mis máquinas virtuales. ¿Hay alguna forma de realizar una copia de seguridad de los invitados de forma segura, sin detenerlos? Intenté hacer una instantánea en un invitado de prueba, que no se estaba ejecutando pero apareció un error: "la instantánea del disco en vivo no es compatible con este binario qemu". ¿Significa esto que el formato sin formato no es adecuado para ningún tipo de instantáneas o es algo relacionado con mi paquete KVM? Leí que suspender al invitado es suficiente para realizar la operación dd, ¿verdad? Por favor, ¿puede compartir algunas de sus mejores prácticas en esta área?
Respuesta1
Si estas usandocrudoimagenarchivosentonces la única forma de obtener una instantánea consistente es suspender o apagar la VM.
Puede tomar una instantánea utilizando archivos de imagen qcow2 sin suspender la máquina virtual, pero la instantánea pasa a formar parte de ese archivo. Esto puede ser apropiado o no, dependiendo de su situación.
Tendría más opciones si estuviera usando CentOS 7 o el hipervisor Fedora actual, como volúmenes LVM que se pueden tomar instantáneas o zvols ZFS. En estos sistemas modernos, usted sería virsh domfsfreeze
el invitado, tomaría la instantánea, virsh domfsthaw
el invitado y luego haría una copia de seguridad de la instantánea. Esto requiere que qemu-guest-agent se ejecute en el invitado.
Respuesta2
Al suspender las VM, virsh suspend <domain>
simplemente se congela la VM, según los documentos, todas las E/S del disco y las E/S de la red se suspenden, mientras que la VM aún consume la RAM del host.
Si tiene Centos, entonces existe una alta probabilidad de que también tenga una partición LVM allí y, además, una partición XFS. Si la afirmación es verdadera, puedes hacer una copia de seguridad de la siguiente manera:
- soltar el caché en la VM y suspenderlo,
- soltar caché en el Host y hacer una instantánea LVM,
- monte la instantánea LVM en algún lugar del host y programe su copia de seguridad.
Me funciona incluso con servidores de bases de datos. Incluso es completamente seguro hacer una copia de seguridad del servidor de archivos (por ejemplo, samba), sin necesidad de colocar el caché en el host o la máquina virtual, suponiendo que los parámetros del kernel en el host y guset sean los predeterminados. La pérdida de datos es mínima. Ext4, por ejemplo, confirma páginas sucias en la RAM cada 5 segundos (configuración predeterminada). Puede provocar la pérdida de datos que se cometieron menos de 5 segundos antes de la congelación. Esa cantidad de pérdida de datos fue aceptable para mí.
Cada método de copia de seguridad tiene algunos inconvenientes. Tiempo de inactividad o posible pérdida de datos. Muchos administradores de bases de datos suponen que piensan que la pérdida de datos puede provocar corrupción de datos cuando el motor de base de datos (como MS SQL) debe enviar obligatoriamente cada transacción al sistema de archivos antes de aceptar el cambio. Por otro lado, aceptan restaurar datos desde la copia de seguridad y aceptan la pérdida de datos.