Contents
- ¿Por qué hacer copias de seguridad de las máquinas virtuales QEMU?
- Métodos de copia de seguridad para QEMU
- Copia de seguridad completa
- Copia de seguridad incremental
- Copia de seguridad diferencial
- ¿Cómo configurar la copia de seguridad incremental en QEMU?
- Creación de la tarea de copia de seguridad inicial
- Uso de Libvirt para gestionar las operaciones de copia de seguridad
- Guía paso a paso para realizar una nueva copia de seguridad incremental
- ¿Qué son los comandos QMP para copias de seguridad incrementales?
- Introducción a los comandos QMP básicos
- Cómo crear una nueva copia de seguridad incremental con QMP
- Comprensión de las imágenes de respaldo y los mapas de bits
- Problemas comunes y solución de problemas de las copias de seguridad incrementales de QEMU
- «Bitmap no encontrado»
- «Permiso denegado»
- «El dispositivo está bloqueado»
- Cadenas de copias de seguridad dañadas
- Estados inconsistentes de las aplicaciones
- Agotamiento del espacio en disco
- «Imagen no en formato qcow2»
- Métodos de copia de seguridad para máquinas virtuales QEMU en ejecución
- API de copia de seguridad de QEMU y herramientas de integración
- Características esenciales de una solución de copia de seguridad de QEMU
- ¿Cómo hacer una copia de seguridad de QEMU con Bacula?
- Preguntas frecuentes
- ¿Cuáles son los diferentes métodos para realizar copias de seguridad de una máquina virtual QEMU?
- ¿Es posible realizar una copia de seguridad de una máquina virtual QEMU en ejecución sin tiempo de inactividad?
- ¿Cuál es la función de la función de instantáneas de QEMU en las soluciones de copia de seguridad?
¿Por qué hacer copias de seguridad de las máquinas virtuales QEMU?
Las máquinas virtuales son la columna vertebral de casi cualquier infraestructura informática moderna, y las máquinas virtuales basadas en QEMU son una opción muy popular en entornos virtuales. Crear copias de seguridad adecuadas de estos entornos virtuales no es solo una recomendación, sino que suele ser una parte obligatoria de cualquier plan adecuado de continuidad del negocio y recuperación ante desastres. Las copias de seguridad mantenidas correctamente se convierten en la red de seguridad de una empresa cuando falla su hardware (y no existe el hardware infalible).
Los entornos virtuales tienen ventajas únicas sobre el hardware físico a la hora de crear copias de seguridad eficientes y coherentes. En cuanto a QEMU, se trata de un emulador gratuito y de código abierto que utiliza la traducción binaria dinámica para emular el procesador de un ordenador. QEMU puede emular una gran variedad de arquitecturas informáticas, ejecutar sistemas operativos invitados e incluso admitir muchas opciones de hardware diferentes. Además, QEMU funciona fácilmente como backend de emulación de dispositivos o hipervisor para máquinas virtuales, lo que lo hace muy atractivo para una amplia gama de usuarios.
Las máquinas virtuales QEMU incorporan sistemas operativos personalizados, datos críticos de aplicaciones y configuraciones valiosas. La pérdida de un entorno de este tipo suele suponer la pérdida de horas o días de trabajo de instalación y configuración, además de la posible interrupción de las operaciones comerciales, las operaciones de servicio al cliente y, en el peor de los casos, consecuencias aún más graves. Por lo tanto, esta información debe protegerse, y las copias de seguridad se consideran a menudo una de las formas más fiables y versátiles de hacerlo.
La mayoría de los marcos de cumplimiento normativo exigen ahora copias de seguridad, incluidos marcos de retención específicos. Si a esto le añadimos que las copias de seguridad también pueden proteger la información contra los ataques de ransomware, es fácil comprender por qué este tema es tan importante.
La inversión en estrategias adecuadas de copia de seguridad de máquinas virtuales reporta beneficios en muchos sentidos: reducción del tiempo de inactividad, mejora de la continuidad del negocio y la tranquilidad general que supone saber que los datos se pueden recuperar después de prácticamente cualquier desastre posible. La arquitectura abierta de QEMU también hace que las estrategias de copia de seguridad sean más flexibles, lo que permite utilizar tanto enfoques sencillos basados en archivos como soluciones incrementales complejas. En este artículo se exploran las copias de seguridad de QEMU, se revisan diferentes métodos, procesos de configuración y posibles prácticas recomendadas.
Métodos de copia de seguridad para QEMU
Existen varios tipos de copias de seguridad que se pueden utilizar para proteger las máquinas virtuales QEMU, y cada enfoque tiene sus propias ventajas e inconvenientes. La solución de copia de seguridad y recuperación más eficaz para cada situación concreta dependerá de los requisitos de rendimiento y seguridad de la empresa, sus políticas, las limitaciones de almacenamiento y otros factores, por lo que no es realista identificar una solución de copia de seguridad que sea mejor en todas las situaciones.
A continuación, el artículo explora las principales estrategias de copia de seguridad que han demostrado su eficacia en entornos QEMU.
Copia de seguridad completa
Las copias de seguridad completas deben capturar toda la información de una ubicación específica de una sola vez, es decir, todo el disco virtual con todos sus archivos de configuración y otra información de la máquina virtual asociada a él. En otras palabras, una copia de seguridad completa crea una réplica completa y autónoma de una máquina virtual, lo que facilita su restauración sin necesidad de ningún otro conjunto de copias de seguridad.
La combinación de simplicidad y velocidad de recuperación es, sin duda, la mayor ventaja de las copias de seguridad completas. Una copia de seguridad completa elimina la necesidad de reunir varios componentes de copia de seguridad para restaurar la información cuando se produce un desastre: basta con restaurar la copia de seguridad completa y continuar con las tareas empresariales. Es un método especialmente útil para proteger las máquinas virtuales más críticas del entorno, donde el coste del tiempo de inactividad es significativamente mayor que el coste del almacenamiento.
Dicho esto, las copias de seguridad completas requieren una cantidad significativa de espacio de almacenamiento y ancho de banda de red para llevarse a cabo. También existe el riesgo de que la información se duplique varias veces, debido a la falta de granularidad de las copias de seguridad completas, lo que las hace aún menos eficientes en términos de almacenamiento. Por lo tanto, los entornos con capacidad de almacenamiento limitada encontrarían poco prácticas las copias de seguridad completas como única estrategia, y lo mismo podría decirse de las máquinas virtuales generalmente grandes.
Copia de seguridad incremental
Las copias de seguridad incrementales pueden considerarse como el «término medio» de la metodología de copia de seguridad. Una vez completada una copia de seguridad completa, todas las copias de seguridad incrementales posteriores capturan solo la información que ha cambiado desde la última copia de seguridad (de cualquier tipo). De este modo, las copias de seguridad se vuelven mucho más eficientes en términos de almacenamiento y exponencialmente más rápidas que las copias de seguridad completas.
El enfoque de copia de seguridad incremental de QEMU utiliza el «seguimiento de bloques sucios» a través de mapas de bits para supervisar qué bloques se han modificado desde la última copia de seguridad. Este mecanismo ayuda a minimizar el impacto de la copia de seguridad en el rendimiento del sistema, al tiempo que crea una cadena de archivos de copia de seguridad gestionables que representan el estado completo de la máquina virtual.
Dicho esto, el proceso de restauración es donde las ventajas de las copias de seguridad incrementales pierden algo de su atractivo. Cada proceso de restauración requiere procesar tanto la copia de seguridad completa original como todos y cada uno de los archivos incrementales en una secuencia específica. Es necesario prestar mucha atención a la gestión de estas cadenas para garantizar que no haya archivos dañados o enlaces perdidos que puedan comprometer toda la estrategia de copia de seguridad.
Las copias de seguridad incrementales siguen siendo bastante populares en la mayoría de los entornos en los que la eficiencia del almacenamiento y las ventanas de copia de seguridad más pequeñas son prioritarias.
Copia de seguridad diferencial
Por otro lado, las copias de seguridad diferenciales ofrecen un equilibrio entre los métodos de copia de seguridad completa e incremental. Una vez creada la copia de seguridad completa inicial, cada operación diferencial posterior capturará todos los cambios realizados desde la copia de seguridad original.
En comparación con las copias de seguridad incrementales, las copias de seguridad diferenciales ofrecen un proceso de restauración mucho más sencillo, ya que solo se necesitan la copia de seguridad completa y la última copia de seguridad diferencial. Como resultado, los procesos de restauración que utilizan copias de seguridad diferenciales son más rápidos y predecibles, en contraste con el lento proceso de reconstrucción de largas cadenas incrementales. Las copias de seguridad diferenciales son una buena solución para entornos de tamaño medio que necesitan tanto simplicidad en la recuperación como eficiencia en el almacenamiento.
El mayor problema de las copias de seguridad diferenciales es simplemente el paso del tiempo. A medida que pasa el tiempo desde la última copia de seguridad completa, cada archivo diferencial posterior crece, a veces rivalizando con el tamaño original de una copia de seguridad completa si ha pasado demasiado tiempo. Como resultado, las copias de seguridad diferenciales suelen ser más eficaces cuando se realizan copias de seguridad completas periódicas que restablecen la línea de base para las copias de seguridad diferenciales y mantienen la eficiencia operativa.
¿Cómo configurar la copia de seguridad incremental en QEMU?
La implementación de copias de seguridad incrementales en QEMU es especialmente interesante, ya que suele ser el método preferido para este tipo de virtualización. Una vez más, una configuración e implementación adecuadas requieren un conocimiento profundo de los distintos mecanismos subyacentes, algo que se trata a continuación en este artículo. Aquí se describen tres pasos importantes del proceso: la creación de la infraestructura de copia de seguridad inicial, el aprovechamiento de libvirt para la gestión de copias de seguridad y el establecimiento de procedimientos coherentes para las operaciones regulares en el futuro.
Creación de la tarea de copia de seguridad inicial
Establecer la copia de seguridad completa inicial con seguimiento de mapas de bits es la base de cualquier estrategia de copia de seguridad incremental futura en QEMU. Es un paso muy importante que crea un punto de referencia para todas las copias de seguridad futuras.
El proceso en cuestión no es especialmente difícil, pero puede resultar complicado en algunas situaciones. El primer paso es crear un mapa de bits persistente para realizar un seguimiento de los bloques modificados en un disco virtual. Este mapa de bits se puede tratar como la memoria de QEMU, de modo que QEMU sabe qué sectores del disco se han modificado desde la última operación de copia de seguridad.
Un comando ejecutable para habilitar el mapa de bits (en el monitor de QEMU) debería tener este aspecto: block-dirty-bitmap-add drive0 backup-bitmap persistent=on
Una vez establecido el mapa de bits, es el momento de realizar la copia de seguridad completa inicial teniendo en cuenta la máquina virtual en ejecución. Este comando en particular solo debe incluir la configuración mínima: ubicación de destino, formato, etc.
Uso de Libvirt para gestionar las operaciones de copia de seguridad
Libvirt es un conjunto de bibliotecas y programas de código abierto que proporciona una gestión centralizada para una gran variedad de hipervisores, entre los que se incluyen QEMU, Xen, KVM, LXC, VMware y otros. Libvert consiste en un demonio, una API y utilidades de línea de comandos para operar esa API.
Libvirt ayuda a mejorar la gestión de las copias de seguridad de QEMU mediante el uso de una capa API coherente que abstrae las numerosas y complejas complejidades del entorno. Libvirt es un potente kit de herramientas que puede mejorar las tareas del hipervisor al proporcionar capacidades de automatización y una estructura flexible, que de otro modo deberían realizarse mediante secuencias de comandos manuales.
Lo primero que hay que hacer después de intentar configurar las copias de seguridad de libvirt en QEMU es verificar que la instalación actual admite las funciones de copia de seguridad incremental (todas las versiones superiores a 6.0.0 deberían admitirlas). El comando correcto para comprobar la versión de libvirt es el siguiente:
…
<backup>
<disks>
<disk name=’vda’ backup=’yes’ type=’file’>
<target file=’/backup/path/incremental1.qcow2’/>
</disk>
</disks>
</backup>
…
</domain>
Guía paso a paso para realizar una nueva copia de seguridad incremental
Una vez completados todos los procesos de configuración básica, se pueden ejecutar copias de seguridad incrementales periódicas utilizando la siguiente secuencia de comandos:
- Para congelar el sistema de archivos invitado (si el agente invitado ya está configurado):
- Para crear una nueva copia de seguridad incremental y especificar el mapa de bits de seguimiento:
target=/path/to/backup/vm-incremental-$(date +%Y%m%d).qcow2 format=qcow2
- Para descongelar el sistema de archivos invitado y reanudar las operaciones normales:
- Para restablecer el mapa de bits de seguimiento de cambios y preparar el siguiente ciclo de copia de seguridad:
- Para verificar la finalización y la documentación de la copia de seguridad:
- Para comprobar periódicamente la integridad de la copia de seguridad y garantizar su recuperabilidad:
Este flujo de trabajo concreto logra equilibrar la eficiencia y la exhaustividad, minimizando el impacto en las cargas de trabajo en ejecución y garantizando también una cadena de copias de seguridad fiable para posibles situaciones de recuperación ante desastres.
¿Qué son los comandos QMP para copias de seguridad incrementales?
El protocolo QEMU Machine Protocol, a menudo denominado QMP, ofrece una interfaz basada en JSON para supervisar y controlar mediante programación diversas instancias de QEMU. En lo que respecta específicamente a las operaciones de copia de seguridad, QMP puede proporcionar un control preciso, lo que resulta especialmente valioso para la automatización o la integración con soluciones de copia de seguridad personalizadas. Los siguientes comandos se pueden ejecutar directamente mediante el monitor QEMU o mediante scripts para crear operaciones programadas:
Introducción a los comandos QMP básicos
Los comandos QMP utilizan una estructura JSON coherente para facilitar tareas como la creación de scripts y la automatización. La creación de scripts y la automatización proporcionan un control preciso sobre los mecanismos internos de QEMU sin necesidad de acceder directamente a la interfaz de la consola de un hipervisor.
Para entrar en el modo QMP mientras QEMU está en ejecución, conéctese al socket del monitor QEMU e inicialice la conexión de la siguiente manera:
{«execute»: «qmp_capabilities»}
Algunos de los comandos más valiosos para las operaciones de copia de seguridad son:
- block-dirty-bitmap-add para el seguimiento de cambios;
- drive-backup para ejecutar copias de seguridad; y
- transaction para diversas tareas de agrupación, etc.
Cada uno de estos comandos también acepta una serie de parámetros específicos en JSON:
«arguments»: {«node»: «drive0», «name»: «backup-bitmap», «persistent»: true}}
Cómo crear una nueva copia de seguridad incremental con QMP
La creación de copias de seguridad incrementales con QMP es una secuencia de operaciones lógica que captura solo los bloques modificados, manteniendo la coherencia de los datos. También utiliza el seguimiento de mapas de bits para minimizar la duración y el tamaño de la copia de seguridad, del mismo modo que se ha utilizado en los diferentes ejemplos anteriores.
Si no existe un mapa de bits de seguimiento, este debe crearse una sola vez antes de realizar una copia de seguridad completa. A continuación se explica cómo hacerlo:
«arguments»: {«node»: «drive0», «name»: «backup-bitmap», «persistent»: true}}
«arguments»: {«device»: «drive0», «sync»: «full»,
«target»: «/path/to/vm-base.qcow2», «format»: «qcow2»}}
«arguments»: {«device»: «drive0», «sync»: «incremental», «bitmap»: «backup-bitmap»,
«target»: «/path/to/vm-incr-20250407.qcow2», «format»: «qcow2»}}
Comprensión de las imágenes de respaldo y los mapas de bits
La relación entre las imágenes de respaldo y los mapas de bits sucios crea la base técnica para realizar copias de seguridad incrementales eficientes en QEMU. Solo es posible mantener cadenas de copias de seguridad limpias si se comprenden adecuadamente estas relaciones.
Las imágenes de respaldo crean relaciones padre-hijo entre los archivos qcow2, de modo que cada copia de seguridad incremental puede hacer referencia a su predecesora. Consulte la cadena de respaldo de cualquier imagen qcow2 con el siguiente comando QMP:
«arguments»: {«query-backing-chain»: true}}
El mismo comando también se puede utilizar para ver los mapas de bits existentes en una unidad específica cambiando uno de los argumentos:
«arguments»: {«filter-node-name»: «drive0»}}
«arguments»: {«node»: «drive0», «name»: «backup-bitmap»}}
Una operación de restablecimiento como esta marca la finalización de un ciclo de copia de seguridad único y prepara el sistema para ejecutar también el siguiente ciclo.
Problemas comunes y solución de problemas de las copias de seguridad incrementales de QEMU
Por muy buena que sea la planificación, no siempre es posible evitar que las operaciones de copia de seguridad de QEMU encuentren obstáculos o problemas. Saber cómo diagnosticarlos y resolverlos de manera eficiente es un conocimiento fundamental que puede marcar la diferencia entre sufrir pequeños inconvenientes y sufrir pérdidas importantes de datos. En esta sección se abordan algunos de los retos más comunes a los que se enfrentan los administradores con respecto a las soluciones de copia de seguridad incremental.
«Bitmap no encontrado»
Los errores «Bitmap no encontrado» suelen deberse a problemas con la persistencia del mapa de bits. Para que el seguimiento incremental sea coherente con QEMU, los mapas de bits deben persistir tras el reinicio de la máquina virtual. Se debe utilizar el indicador persistent=on al crear cada nuevo mapa de bits, ya que no hay forma de cambiar la configuración de persistencia del mapa de bits existente sin volver a crearlo desde cero.
«Permiso denegado»
Los errores de permiso son bastante comunes en las operaciones de copia de seguridad, especialmente en entornos con reglas de seguridad complejas. Existe un comando de prueba que se puede ejecutar para asegurarse de que el proceso QEMU tiene permiso para escribir en el destino de la copia de seguridad:
$ rm /path/to/backup/test-write.tmp
«El dispositivo está bloqueado»
Si determinadas operaciones tienen bloqueos exclusivos en el dispositivo de destino, las operaciones de copia de seguridad pueden fallar con el mensaje «El dispositivo está bloqueado». Estos bloqueos pueden producirse durante instantáneas o tareas de copia de seguridad simultáneas, y la única forma de evitarlos es enumerar previamente las tareas de copia de seguridad activas para poder encontrar posibles conflictos manualmente:
También es posible cancelar determinadas operaciones, cuando sea necesario, con el siguiente comando:
Cadenas de copias de seguridad dañadas
La corrupción de la cadena de copias de seguridad es especialmente problemática en este contexto, ya que inutiliza inmediatamente todas las copias de seguridad incrementales posteriores. El mejor método de recuperación en situaciones como estas es crear una nueva copia de seguridad completa y establecer una cadena nueva para empezar de nuevo:
Estados inconsistentes de las aplicaciones
La inconsistencia puede interrumpir el proceso de copia de seguridad y dar lugar a copias de seguridad incompletas o dañadas. En ese caso, la solución exacta depende del núcleo del problema, por lo que no existe una solución única para todos los problemas.
Por ejemplo, si una aplicación estaba realizando operaciones de escritura durante la copia de seguridad, es posible que las copias de seguridad solo contengan datos parcialmente escritos. Esto solo se puede resolver deteniendo todas las máquinas virtuales asociadas antes de realizar las operaciones de copia de seguridad y desbloqueándolas después con estos comandos:
# Realizar operaciones de copia de seguridad
$ virsh qemu-agent-command vm-name ‘{«execute»:»guest-fsfreeze-thaw»}’
Agotamiento del espacio en disco
El agotamiento del espacio en disco puede interrumpir las operaciones de copia de seguridad, dejando archivos de copia de seguridad incompletos. Estos archivos solo consumen espacio de almacenamiento: no tienen ningún valor de recuperación en su forma incompleta. La supervisión del espacio es otra capa de comandos que debe implementarse en los scripts de copia de seguridad para evitar que se inicien operaciones cuando el espacio disponible pueda caer por debajo de un umbral determinado.
Se debe considerar la implementación de procesos de limpieza periódicos para eliminar los archivos de copia de seguridad parciales.
«Imagen no en formato qcow2»
Las operaciones de copia de seguridad pueden fallar con el error «Imagen no en formato qcow2«, incluso cuando se ha especificado previamente el formato correcto. Estos problemas suelen producirse al intentar realizar copias de seguridad incrementales cuando las imágenes base están almacenadas en un formato incompatible.
Esto se puede resolver verificando primero el formato de la imagen base:
Una vez verificado el formato, la imagen en cuestión se puede convertir a qcow2, al tiempo que se inicia una nueva cadena de copias de seguridad, con el siguiente comando:
Métodos de copia de seguridad para máquinas virtuales QEMU en ejecución
Existen varias diferencias notables entre los dos enfoques de la gestión de copias de seguridad de QEMU que se han tratado aquí.
La primera es con la ayuda de los comandos del monitor QEMU: se ejecutan directamente a través de la consola del monitor QEMU utilizando una sintaxis basada en texto y se utilizan normalmente para realizar diversas tareas de forma manual. Si bien es cierto que libvirt ofrece ciertas funciones para ayudar a la automatización, su idea básica sigue siendo más cercana a los comandos directos del monitor QEMU.
El segundo utiliza QMP, o QEMU Machine Protocol, un sistema diseñado para interacciones programáticas al que se puede acceder mediante una conexión de socket. Es perfecto para la creación de scripts, la automatización y la secuenciación de copias de seguridad con todos sus comandos y respuestas en formato JSON.
Su funcionalidad es esencialmente la misma en su núcleo; se trata simplemente de interfaces diferentes para acceder a las mismas funciones de QEMU.
Ambos enfoques ofrecen varias formas diferentes de crear una copia de seguridad de una máquina virtual en ejecución en QEMU. Algunas de estas posibilidades ya se han explorado, como el seguimiento de bloques sucios, las capacidades de congelación/descongelación del agente invitado de QEMU y la capacidad de punto de control de libvirt.
Una alternativa que aún no se ha mencionado es la capacidad de instantáneas externas. A menudo se considera uno de los enfoques más sencillos para trabajar con máquinas virtuales en ejecución, ya que crea un nuevo archivo superpuesto al que se redirigen todas las operaciones de escritura, mientras que la imagen de disco original se conserva tal cual para el proceso de copia de seguridad. Un comando para utilizar este método tiene el siguiente aspecto:
Todos estos métodos de copia de seguridad tienen sus ventajas distintivas y contextos de producción en los que superan al resto, tales como:
- Seguimiento de bloques sucios con copias de seguridad incrementales: uno de los enfoques más equilibrados, que ofrece un impacto mínimo en el rendimiento y una alta eficiencia; una gran opción para entornos de producción con limitaciones en la ventana de copia de seguridad y máquinas virtuales razonablemente grandes.
- Integración de agentes invitados (congelación/descongelación): una opción habitual para aplicaciones con muchas transacciones y servidores de bases de datos que requieren una coherencia total de los datos, incluso a costa de breves ventanas de inactividad durante las copias de seguridad.
- Capacidades de punto de control: proporcionan la recuperación más completa, pero a costa de un alto consumo de recursos, lo que las convierte en la opción preferida en entornos de desarrollo y sistemas críticos en los que la preservación del estado de la aplicación justifica una sobrecarga adicional.
- Instantáneas externas: ideales en entornos que necesitan copias de seguridad con poca o ninguna configuración, lo que las hace perfectas para máquinas virtuales pequeñas y medianas con suficiente tolerancia a breves ralentizaciones.
- Soluciones de copia de seguridad de terceros: proporcionan la mejor experiencia para empresas con una gran cantidad de máquinas virtuales y hosts, haciendo hincapié en la gestión centralizada y las funciones avanzadas para justificar sus elevados costes de licencia.
API de copia de seguridad de QEMU y herramientas de integración
El rico ecosistema de API de QEMU ofrece tanto a desarrolladores como a administradores un acceso programático profundo a versátiles capacidades de virtualización. Estas API funcionan como base para las operaciones de copia de seguridad, proporcionando interfaces coherentes y abstrayendo las complejidades de la gestión de múltiples entornos de máquinas virtuales.
Block Device Interface es el núcleo de las capacidades de copia de seguridad de QEMU. Permite operaciones para gestionar discos virtuales, incluyendo, entre otras, las capacidades de copia de seguridad y captura instantánea explicadas anteriormente. Esta interfaz puede admitir operaciones como la gestión de mapas de bits, blockdev-backup y drive-backup a través de QMP y QEMU Monitor. Estas funciones de bajo nivel también son perfectas para los desarrolladores que crean soluciones de copia de seguridad personalizadas, ya que ofrecen un control granular sobre prácticamente todos los aspectos del proceso de copia de seguridad.
La API libvirt es otra opción popular en este contexto, ya que envuelve las interfaces nativas de QEMU con una capa de abstracción estandarizada que puede funcionar incluso en diferentes hipervisores. Como se ha mencionado anteriormente, libvirt ayuda a simplificar las operaciones de copia de seguridad con funciones de alto nivel que pueden gestionar automáticamente diversos detalles subyacentes. Por ejemplo, la función virDomainBackupBegin() puede gestionar todos los aspectos de la iniciación de una copia de seguridad incremental, desde el seguimiento de mapas de bits hasta las instantáneas temporales.
En cuanto a los desarrolladores de Python, los enlaces libvirt-python pueden utilizarse como un punto de entrada relativamente cómodo al conjunto de herramientas de copia de seguridad de QEMU. Los enlaces proporcionan la API libvirt completa en sintaxis Python, lo que hace que los scripts de automatización sean mucho más legibles y fáciles de mantener. Así es como se vería un script de copia de seguridad sencillo en Python:
conn = libvirt.open(‘qemu:///system’)
dom = conn.lookupByName(‘vm-name’)
dom.backupBegin(backup_xml, None)
Características esenciales de una solución de copia de seguridad de QEMU
Hay ciertas capacidades clave que diferencian las soluciones de copia de seguridad robustas de los enfoques básicos de los procesos de copia de seguridad. Las características esenciales, como las que se mencionan a continuación, deben garantizar que una estrategia de copia de seguridad de QEMU siga siendo fiable, eficiente y recuperable en una amplia gama de entornos de virtualización.
Los mecanismos de coherencia de los datos son la característica más importante de cualquier solución de copia de seguridad competente en este contexto. Una solución de copia de seguridad debe integrarse fácilmente con la API del agente invitado de QEMU u ofrecer sus propios complementos sensibles a las aplicaciones para garantizar la coherencia de la base de datos. La capacidad de coordinarse con las aplicaciones en ejecución puede ayudar a crear copias de seguridad en un estado limpio y recuperable sin que se produzcan daños durante la transacción. También deben tenerse en cuenta, cuando sea aplicable, soluciones avanzadas para casos de uso específicos del almacenamiento que vayan más allá de los ciclos de congelación-descongelación, lo que permite gestionar los estados de las transacciones de aplicaciones específicas de forma independiente.
La gestión eficiente del almacenamiento es otro punto importante para las soluciones de copia de seguridad completas, con características comunes como la deduplicación, la compresión, la retención automatizada y mucho más. Los enfoques incrementales permanentes ofrecen ventanas de copia de seguridad mínimas y un consumo de almacenamiento reducido gracias al seguimiento inteligente de los cambios. En este contexto, la verificación automatizada de forma regular es prácticamente obligatoria, ya que permite comprobar la integridad y la recuperabilidad de las copias de seguridad siempre que sea posible para garantizar que estas sigan siendo viables y completas en todo momento.
La orquestación y la programación son increíblemente importantes para entornos más complejos, ya que transforman los procedimientos de copia de seguridad manuales en procesos fiables y automatizados sin necesidad de crear scripts complejos. En este caso, se espera que se disponga de opciones inteligentes de limitación de recursos, gestión de dependencias y programación flexible. Además de estas funciones básicas, cualquier solución de copia de seguridad competente para QEMU debe incluir mecanismos completos de generación de informes y alertas, así como la integración con los sistemas de supervisión existentes y la compatibilidad con RBAC para un mejor control del acceso.
Todas estas características cobran cada vez más importancia a medida que la infraestructura empresarial virtual crece en tamaño y complejidad, convirtiendo la copia de seguridad de un proceso técnico en una aplicación empresarial con requisitos de gobernanza específicos y responsabilidades definidas.
¿Cómo hacer una copia de seguridad de QEMU con Bacula?
Bacula Enterprise puede proporcionar un amplio soporte para entornos QEMU utilizando su módulo de virtualización, entre otras características. Bacula combina la naturaleza de código abierto del entorno con una gestión centralizada, un soporte premium y un control minucioso de prácticamente todos los procesos. Esta increíble combinación de parámetros lo convierte en la solución preferida para grandes empresas con diversos requisitos de infraestructura virtual.
La configuración de Bacula para las copias de seguridad de QEMU comienza con la instalación del demonio de archivos Bacula en los hosts del hipervisor. El demonio debe configurarse para acceder a sus instancias de QEMU con la ayuda de libvirt, lo que permite realizar copias de seguridad completas e incrementales sin riesgo de corrupción de datos.
La configuración básica para estas copias de seguridad se almacena en el archivo de configuración de Bacula Director, donde los usuarios pueden definir tareas de copia de seguridad para máquinas virtuales específicas:
Name = «QEMU-VM-Backup»
JobDefs = «DefaultJob»
Client = qemu-host-fd
Pool = VMPool
FileSet = «QEMU-VMs»
}
FileSet {
Nombre = «QEMU-VMs»
Incluir {
Opciones {
firma = MD5
compresión = GZIP
}
Complemento = «qemu: VM=vm-name»
}
}
Una de las características más destacadas de Bacula es su uso de un enfoque basado en catálogos para las capacidades de recuperación de múltiples máquinas virtuales. Bacula puede mantener metadatos detallados de cada copia de seguridad y todas las relaciones entre ellas cuando es necesario. De este modo, es posible realizar una recuperación precisa en un momento determinado sin necesidad de realizar un seguimiento manual de las cadenas de copias de seguridad o las dependencias de restauración.
Para la recuperación ante desastres, Bacula utiliza sus capacidades de recuperación bare metal para restaurar hipervisores completos y todas sus configuraciones de máquinas virtuales e imágenes de disco. Las completas pistas de auditoría y la aplicación de la retención de Bacula son especialmente útiles en empresas con estrictos requisitos de cumplimiento.
Las numerosas funciones empresariales de Bacula, combinadas con su arquitectura abierta, lo convierten en una opción interesante para las empresas que necesitan sólidas capacidades de copia de seguridad de QEMU capaces de escalar desde implementaciones de un solo servidor hasta vastos entornos con múltiples centros de datos.
Preguntas frecuentes
¿Cuáles son los diferentes métodos para realizar copias de seguridad de una máquina virtual QEMU?
Las máquinas virtuales QEMU tienen varias formas de crear copias de seguridad, incluyendo copias de seguridad completas, copias de seguridad incrementales, copias de seguridad diferenciales y instantáneas externas.
- Las copias de seguridad completas capturan toda la máquina virtual, pero requieren un espacio de almacenamiento considerable.
- Las copias de seguridad incrementales utilizan el seguimiento de bloques sucios para supervisar de forma eficiente los bloques modificados, pero son difíciles de restaurar.
- Las copias de seguridad diferenciales son un término medio entre las dos, pero tampoco son especialmente universales en cuanto a su gama de casos de uso.
- Las instantáneas externas redirigen las operaciones de escritura a archivos superpuestos de forma temporal mientras se realiza la copia de seguridad de la imagen base.
¿Es posible realizar una copia de seguridad de una máquina virtual QEMU en ejecución sin tiempo de inactividad?
Sí, QEMU admite copias de seguridad en vivo de máquinas virtuales en ejecución mediante sus propios mecanismos, como el seguimiento de bloques sucios o las instantáneas externas. Para obtener una consistencia óptima, los administradores suelen utilizar agentes invitados para congelar brevemente el sistema de archivos para copias de seguridad críticas, lo que garantiza la integridad de los datos de las aplicaciones, pero hace que estas copias de seguridad sean inaceptables para determinados tipos de negocios.
¿Cuál es la función de la función de instantáneas de QEMU en las soluciones de copia de seguridad?
Las instantáneas de QEMU crean capturas puntuales del estado actual de la máquina virtual que sirven de base para diferentes estrategias de copia de seguridad. El estado de las instantáneas internas se almacena en el archivo original, mientras que las instantáneas externas redirigen las operaciones de escritura a archivos superpuestos independientes. Las instantáneas también ayudan a habilitar diversas funciones útiles, como la reversión, la clonación, la migración y mucho más.
El uso de una solución de copia de seguridad y recuperación de alta seguridad para proteger los entornos QEMU suele aportar también una protección desde un único panel de control para todo el entorno informático de una organización, lo que supone una gran ventaja. Además, ofrece muchas más funciones de supervisión, generación de informes, cumplimiento normativo, seguridad y comodidad, que suelen ser necesarias para el funcionamiento de las medianas y grandes empresas. Esperamos que esta información le haya sido útil. Puede obtener más información en www.baculasystems.com.