Nuevo Plugin Bacula Enterprise QEMU (Proxmox, KVM, virtualización de Oracle, etc.). Guía rápida

h2>Visión general de las funcionalidades

  • Backup en línea basado en transacciones de cualquier VM QEMU en ejecución
  • Backup de imagen de disco virtual completo e incremental a nivel de bloques
  • Recuperación fácil de VM para el clúster original o alternativo
  • Capacidad para restaurar imágenes de disco virtual como archivos QCOW2
  • Capacidad para restaurar completamente una VM invitada, incluyendo configuraciones de la VM
  • Capacidad para restaurar completamente imágenes de disco de destino para QEMU genuino
  • Capacidad para restaurar imágenes de disco virtual VM en un directorio alternativo

Backup de Imagen con Plugin QEMU

Con la estrategia de backup a nivel de imagen, el Plugin Bacula Enterprise QEMU guardará los discos de VM como imágenes QCOW2 para VMs QEMU, tanto para backups completos como incrementales.

Para que esto funcione, no se requiere un Daemon de Archivo Bacula en cada VM invitada. El Plugin Bacula QEMU se pondrá en contacto con el hipervisor QEMU para leer y guardar el contenido de los discos de la máquina virtual utilizando la función de backups de transacciones QMP y los volcará utilizando la API QMP.

Bacula no necesita explorar los sistemas de archivos del cliente para iniciar, abrir, leer y cerrar archivos, por lo tanto, consume menos recursos en la infraestructura QEMU que lo que haría un backup a nivel de archivo en cada VM. Por otro lado, Bacula también leerá y guardará datos inútiles en las VM, como archivos de intercambio o temporales.

Visión general de Backup y Restauración

Backup

El Plugin QEMU admite el protocolo de control QMP, que es una interfaz de gestión de bajo nivel para todos los tipos de hipervisores QEMU. En la mayoría de los casos, esta interfaz es utilizada por herramientas de gestión de hipervisores para manejar las VM invitadas de QEMU.

La versión actual del Plugin ha sido probada en algunos tipos de hipervisores QEMU:

  • QEMU genuino – modo=QEMU (por defecto)
  • Proxmox (PVE) – modo=PVE
  • Oracle Virtualization
  • KVM

El procedimiento central de backup y restauración es el mismo para cada tipo de hipervisor QEMU. La principal diferencia radica en cómo se selecciona una VM para restaurarla y cómo se finaliza el proceso de restauración.

El backup central de una única VM consta de los siguientes pasos:

  • Consultar la información de la VM y guardarla
  • Para un backup completo, durante la transacción de backup, crear o limpiar el dirtyblock y volcar la imagen del disco VM en el área de trabajo (verificar la Ubicación del Directorio de Trabajo)
  • Para un backup incremental, durante la transacción de backup, volcar la imagen incremental del disco VM en el área de trabajo y limpiar el bitmap sucio
  • Cuando la volcación de la imagen del disco VM esté lista, el FileDaemon de Bacula enviará los datos al Storage Daemon.

Los backups solo pueden ejecutarse para VMs en estado de ejecución. Cualquier primer backup completo creará una cadena de backup utilizada para backups incrementales subsiguientes. La versión actual del plugin crea y mantiene una única cadena de backup para cada VM.

Advertencia
Nunca debes mezclar diferentes trabajos de backup para una única VM QEMU, ¡ya que esto romperá la cadena de backup y los backups se volverán irreparables!

El Plugin QEMU registrará el inicio y el fin de cada backup de VM invitada:

JobId 104: Start Backup JobId 104, Job=proxmox.2021-10-28_12.04.54_42
JobId 104: Recycled volume "vol01"
JobId 104: Using Device "FileChgr1-Dev2" to write.
JobId 104: qemu: Connected to Proxmox pve-manager/6.4-13/9f411e79 (running kernel: 5.4.143-1-pve)
JobId 104: qemu: Start Backup vm: vm1 (100)
JobId 104: qemu: Finish backup of vm1/drive-scsi0
....

El backup creará un solo archivo (.qcow2) para cada dispositivo de disco VM guardado y un solo archivo de configuración de VM (config.json) durante un backup completo.

/@qemu/<nombre-vm>/<vmid>/<nombre-drive>.qcow2 para cada imagen de disco VM
/@qemu/<nombre-vm>/<vmid>/config.json para datos de configuración de VM

Consejo

Para el modo QEMU genuino, <vmid> generalmente siempre se establecerá como cero y <nombre-vm> es el valor definido por el parámetro de ejecución de QEMU -name en la línea de comandos de QEMU.

Se crearán varios archivos durante un backup si se copian varias VM invitadas con un trabajo (solo en el modo de backup Proxmox). Los nombres de archivo distintos, como se muestra arriba, ayudarán a localizar las imágenes adecuadas de las invitadas para la restauración.

Restauración

El Plugin QEMU permite los siguientes destinos para operaciones de restauración:

  • Restauración a un directorio local como archivos de imagen de disco QCOW2 y un solo archivo de configuración
  • Restauración a un hipervisor QEMU Genuino en la ubicación original del archivo de dispositivo
  • Restauración a la infraestructura de virtualización Proxmox como un VMID original o nuevo
  • Restauración a un Directorio Local

Para usar este modo, el parámetro where=/algún_directorio de una restauración Bacula se define como una ruta completa en el servidor donde está instalado el Plugin QEMU. Si la ruta no existe, el Plugin QEMU de Bacula la creará. Bacula aplicará automáticamente los backups incrementales en los discos de destino. El resultado final será un archivo de imagen de disco QCOW2 «listo para usar». Para este tipo de destino, siempre se obtendrán imágenes de disco en formato QCOW2.

Restauración para QEMU Genuino

Para usar este modo de restauración, se utiliza el parámetro where=/ en una restauración Bacula. Las imágenes de disco de las VM invitadas se restaurarán y parchearán automáticamente con todos los backups incrementales en el directorio de trabajo (verificar la Ubicación del Directorio de Trabajo para más detalles). Luego, todos los archivos de imagen parcheados y listos para usar se convertirán de nuevo a la ubicación original de destino y al formato de imagen cuando se defina el parámetro de plugin de restauración convdestination: yes. Esto permitirá obtener imágenes de las VM invitadas de QEMU listas para ejecutarse en su ubicación original.

Este modo de restauración se selecciona para todos los backups ejecutados para QEMU Genuino.

Restauración para Proxmox

Para usar este modo de restauración, se utiliza el parámetro where=/ en una restauración Bacula. Las imágenes de disco de las VMs se restaurarán y parchearán automáticamente con todos los backups incrementales en el directorio de trabajo (verificar la Ubicación del Directorio de Trabajo para más detalles). Luego, todos los archivos de imagen parcheados y listos para usar se transferirán al almacenamiento Proxmox conectado a la imagen original.

El Plugin QEMU intentará crear el mismo VMID que estaba durante el backup. Si la VM invitada ya existe con ese VMID, el plugin asignará un nuevo VMID. Nunca sobrescribirá una VM invitada existente.

Todos los demás parámetros de configuración de VM invitada se restaurarán tal como se copiaron, incluyendo las direcciones MAC de red. Por esta razón, es recomendable inspeccionar y posiblemente actualizar la configuración de la VM antes de iniciarla. De lo contrario, podrían surgir conflictos de recursos.

El destino de almacenamiento a utilizar para los disco(s) de VM invitada restaurados se puede definir utilizando la opción de restauración de almacenamiento del plugin. Si esta opción no se define, todos los discos de la VM se restaurarán en su Almacenamiento original.

Para listar los Almacenamientos disponibles, hay un modo de listado disponible, descrito en el capítulo de listado.

Este modo de restauración se selecciona para todos los backups ejecutados para Proxmox.

Atención

El Plugin QEMU no se puede usar para migrar automáticamente las VMs invitadas de QEMU Genuino a una infraestructura de virtualización Proxmox, pero puedes realizar una migración de Proxmox a QEMU Genuino utilizando el modo de backup=QEMU para ambos.

Instalación

El File Daemon de Bacula Enterprise y su Plugin QEMU deben instalarse en el host del hipervisor Proxmox que ejecuta las VMs invitadas que serán copiadas. Proxmox utiliza una distribución Debian personalizada, por lo que debe usarse el File Daemon de Bacula Enterprise para esta plataforma.

La instalación del File Daemon y el Plugin Bacula Enterprise QEMU es más sencilla utilizando el bee_installation_manager: https://www.bacula.lat/automatic-server-installation-with-bacula-enterprise-manager-centos-debian-etc/?lang=es

En caso de que el cliente no tenga conexión a Internet, los paquetes bacula-enterprise-client, libs/common y del plugin qemu pueden descargarse e instalarse manualmente mediante los comandos dpkg (familia Debian) o rpm (familia RedHat).

Configuración del Plugin

El plugin se configura utilizando Parámetros de Plugin definidos en la sección Include de un FileSet en la configuración del Director de Bacula Enterprise.

Parámetros Genéricos del Plugin

Los siguientes parámetros del Plugin QEMU afectan a cualquier tipo de Trabajo (Backup, Estimación o Restauración).

  • abort_on_error[=<0|1>]
    especifica si el plugin debe abortar la ejecución (y fallar el Trabajo de Bacula) si ocurre un error fatal durante una operación de Backup, Estimación o Restauración. Este parámetro es opcional. El valor por defecto es 0.
  • working=</path/to/dir>
    especifica el directorio utilizado para cualquier operación de backup o restauración del Plugin QEMU. El valor por defecto es el parámetro de configuración WorkingDir del Bacula FD (verificar la Ubicación del Directorio de Trabajo). Este parámetro es opcional.

Parámetros Genéricos de Estimación y Backup del QEMU Auténtico

Estos parámetros del plugin solo son relevantes para los trabajos de Backup y Estimación:

  • qmpcontrol=</path/to/qmp/socket>
    especifica la ubicación del socket de control QMP utilizado para operaciones de backup. Cuando este parámetro se establece, implica el modo=QEMU. Este parámetro es obligatorio para QEMU Auténtico y se configura automáticamente para otras plataformas de virtualización. Para otras plataformas de virtualización, este parámetro está prohibido.
  • mode=[QEMU|PVE]
    especifica el tipo predeterminado de soporte QEMU. Debe configurarse como QEMU para virtualización QEMU Auténtica y PVE para virtualización Proxmox. Cuando no se define, se configura el modo de operación QEMU, que requiere que se configure un parámetro qmpcontrol=… adecuado.
  • timeout=<segundos>
    especifica el tiempo que el Plugin QEMU esperará para la finalización de un volcado de imagen. Cuando se alcanza este límite de tiempo, el trabajo fallará. Si no se define, se utilizará un valor predeterminado de 3600 segundos. Este parámetro es opcional.
  • bitmap-persistence=[0|1]
    especifica si QEMU debe persistir un mapa de bloques sucios utilizado para backups incrementales en el propio dispositivo. La persistencia del bitmap solo es compatible con los archivos de imagen QCOW2. Configurar esta opción en dispositivos que no la admiten hará que el trabajo de backup falle. La persistencia del bitmap se configura solo durante el primer trabajo de backup completo. Para Proxmox, este parámetro se configura como ‘0’. Este parámetro es opcional.

Importante
El bitmap de bloques sucios efímero (cuando bitmap-persistence=0) se recreará cada vez que se reinicie la VM, forzando un backup VM completo.

  • vm=<nombre>
    especifica el nombre de una VM invitada para backup. Todas las VMs invitadas con el <nombre> proporcionado serán seleccionadas para el backup. Se permiten múltiples parámetros vm=…. Si una VM invitada con el <nombre> no puede encontrarse, se generará un error de trabajo único y el backup continuará con la siguiente VM, a menos que esté definido abort_on_error, lo que hará que el trabajo de backup falle. Este parámetro es opcional y se usa solo cuando el modo es PVE.
  • vmid=<vmid>
    especifica el VMID de una VM invitada para backup. Se pueden proporcionar múltiples parámetros vmid=…. Si una VM invitada con el <vmid> no puede encontrarse, se generará un error de trabajo y el backup continuará con la siguiente VM, a menos que esté definido abort_on_error, lo que hará que el trabajo de backup falle. Este parámetro es opcional y se usa solo cuando el modo es PVE.
  • include=<nombre-regex>
    especifica una lista de nombres de VMs invitadas para backup utilizando la sintaxis de expresiones regulares. Todas las VMs invitadas con nombres que coincidan con la expresión regular proporcionada en name-regex serán seleccionadas para el backup. Se pueden proporcionar múltiples parámetros include=…. La coincidencia no distingue entre mayúsculas y minúsculas. Si ninguna VM invitada coincide con la expresión name-regex proporcionada, el backup continuará con los siguientes parámetros o finalizará con éxito sin realizar el backup de ninguna VM. El parámetro abort_on_error no hará que el trabajo falle cuando no se encuentre ninguna VM invitada mediante la coincidencia de nombre. Este parámetro es opcional y se usa solo cuando el modo es PVE.
  • exclude=<nombre-regex>
    especifica una lista de nombres de VMs invitadas que serán excluidas del backup utilizando coincidencia de expresiones regulares. Todas las VMs invitadas con nombres que coincidan con la expresión regular proporcionada y que se seleccionen para el backup mediante el parámetro include=…. serán excluidas. La coincidencia no distingue entre mayúsculas y minúsculas. Este parámetro no afecta a ninguna VM invitada seleccionada para el backup mediante los parámetros vm=…, vmid=…, include=… o exclude=…. Se pueden proporcionar múltiples parámetros exclude=…. Este parámetro es opcional y se usa solo cuando el modo es PVE.

Si no se especifica ninguno de los parámetros vm=…, vmid=…, include=… y exclude=…, se incluirán todas las VMs invitadas disponibles en el hipervisor Proxmox en el backup. Para QEMU Genuino, se incluirá una sola VM apuntada por el parámetro qmpcontrol=….

Ubicación del Directorio de Trabajo

Para llevar a cabo cualquiera de las operaciones de trabajo de backup o restauración, el Plugin QEMU requiere espacio de almacenamiento disponible. El espacio necesario depende del tamaño del archivo de imagen de disco más grande durante el backup y de la suma de las imágenes de disco de la VM durante la restauración. Para las operaciones de restauración, se necesita espacio para el parche incremental adecuado de la imagen.

Esta limitación es una consecuencia directa de la limitación de backup de la unidad QEMU QMP, que solo admite archivos de imagen de disco guardados en un archivo regular.

La ubicación exacta del área de trabajo puede seleccionarse con el parámetro de plugin working=…. Cuando este parámetro no está definido, se utilizará el valor predeterminado del parámetro WorkingDirectory del Bacula.

Este espacio de almacenamiento se limpia automáticamente después de la operación, a menos que selecciones una operación de restauración sin conversión de la imagen de disco hacia el destino (verificar el parámetro de restauración convdestination).

Ejemplos de FileSet

Como se muestra en la Figura 1, tanto el FileSet como el trabajo de backup del Plugin QEMU pueden configurarse a través de la interfaz gráfica de Bacula Enterprise, actualmente BWeb.

Nuevo Plugin Bacula Enterprise QEMU (Proxmox, KVM, virtualización de Oracle, etc.). Guía rápida 1

Figura 1. Ejemplo ilustrativo de FileSet para el backup de VM en BWeb.

En el siguiente ejemplo, se realizará el backup de una única VM de QEMU.

FileSet {
  Name = FS_qemu
  Include {
    Plugin = "qemu: qmpcontrol=/images/vm1.qmp"
  }
}

Ahora, la misma VM de QEMU, pero con una ubicación de trabajo personalizada.

FileSet {
  Name = FS_qemu_working
  Include {
    Plugin = "qemu: qmpcontrol=/images/vm1.qmp working=/tmp"
  }
}

En el siguiente ejemplo, se realizará el backup de todas las VMs invitadas de Promox.

FileSet {
  Name = FS_ProxmoxAll
  Include {
    Plugin = "qemu: mode=PVE"
  }
}

En este ejemplo, se realizará el backup de una única VM con el nombre «VM1».

FileSet {
  Name = FS_Proxmox_VM1
  Include {
    Plugin = "qemu: mode=PVE vm=VM1"
  }
}

El mismo ejemplo anterior, pero usando vmid en su lugar:

FileSet {
  Name = FS_Proxmox_VM1
  Include {
    Plugin = "qemu: mode=PVE vmid=101"
  }
}

En el siguiente ejemplo, se realizará el backup de todas las VMs que contienen «Prod» en sus nombres.

FileSet {
  Name = FS_Proxmox_ProdAll
  Include {
    Plugin = "qemu: mode=PVE include=Prod"
  }
}

En este último ejemplo, se realizará el backup de todas las VMs invitadas, excepto aquellas cuyos nombres comienzan con «Test».

FileSet {
  Name = FS_Proxmox_AllbutTest
  Include {
    Plugin = "qemu: mode=PVE include=.* exclude=^Test"
  }
}

Parámetros de Restauración del Plugin

Durante la restauración, el Plugin QEMU utilizará los mismos parámetros que se definieron para el trabajo de backup. Estas configuraciones se guardan en el catálogo en el momento en que se ejecuta el trabajo de backup. Algunos de ellos pueden cambiarse durante el proceso de restauración, si es necesario.

  • convdestination: [yes|no]
    especifica si una imagen de disco restaurada debe convertirse al formato y ubicación originales, como se definió durante el backup. Este parámetro solo funciona en el modo QEMU Genuino. Si no se define o se define como no (el valor predeterminado), las imágenes de disco virtual de QEMU estarán disponibles en el lugar de trabajo (verificar el siguiente parámetro) como archivos en formato QCOW2. En este caso, puedes moverlo manualmente al destino necesario o convertirlo al formato deseado. Este parámetro es opcional.
  • working: </path/to/dir>
    especifica el directorio utilizado para las operaciones de restauración del Plugin QEMU, como se describe en la Ubicación del Directorio de Trabajo. El valor predeterminado es el mismo que el del backup y puede definirse mediante la configuración del plugin o mediante el parámetro de configuración WorkingDir del Bacula FD. Este parámetro es opcional.
  • storage: <storage>
    especifica un Almacenamiento Proxmox al que se restaurarán las VMs invitadas restauradas. Si no se define, una VM invitada se restaurará en el Almacenamiento Proxmox desde el cual se realizó el backup. Si este parámetro apunta a un Almacenamiento inexistente, se usará el Almacenamiento original de la VM invitada. Este parámetro es opcional.

Exemplos Prácticos de Restauración

Como se muestra en la Figura 2, todos los trabajos de restauración pueden ejecutarse a través de la interfaz gráfica de Bacula Enterprise, actualmente BWeb, desde el Dashboard de VMs o desde el Menú de Restauración, o a través de los comandos de CLI enumerados más adelante.

Nuevo Plugin Bacula Enterprise QEMU (Proxmox, KVM, virtualización de Oracle, etc.). Guía rápida 2

Figura 2. Ejemplo de restauración de VMs desde BWeb, «VM Dashboard».

Restauración con QEMU Genuino

Para restaurar una o varias VMs usando el modo Genuino de QEMU, debes ejecutar el comando de restauración y especificar el parámetro «where» como se muestra en este ejemplo:

* restore where=/

Luego, define cualquier otro parámetro necesario para la restauración del plugin.
En el siguiente ejemplo de sesión de restauración, se define la opción de restauración del plugin «convdestination» como «yes»:

* restore where=/
...
Run Restore job
JobName: RestoreFiles
Bootstrap: /opt/bacula/working/qemu-test-dir.restore.2.bsr
Where: /
Replace: Always
FileSet: Full Set
Backup Client: qemu-test-fd
Restore Client: qemu-test-fd
Storage: File1
When: 2021-11-01 13:19:16
Catalog: MyCatalog
Priority: 10
Plugin Options: *None*
OK to run? (yes/mod/no): mod
Parameters to modify:
1: Level
2: Storage
3: Job
4: FileSet
5: Restore Client
6: When
7: Priority
8: Bootstrap
9: Where
10: File Relocation
11: Replace
12: JobId
13: Plugin Options
Select parameter to modify (1-13): 13
Automatically selected : qemu: qmpcontrol=/images/vm1.qmp abort_on_error
Plugin Restore Options
Option Current Value Default Value
working: *None* (*None*)
convdestination: *None* (*None*)
Use above plugin configuration? (yes/mod/no): mod
You have the following choices:
1: working (Plugin working directory)
2: convdestination (Convert qcow2 restore to original destination)
Select parameter to modify (1-2): 2
Please enter a value for convdestination: yes
Plugin Restore Options
Option Current Value Default Value
working: *None* (*None*)
convdestination: yes (*None*)
Use above plugin configuration? (yes/mod/no): yes
...

Durante un trabajo de restauración, debes obtener información sobre cada proceso de restauración, que incluye la restauración de dispositivos de disco incrementales y el proceso de conversión de destino.

JobId 121: Start Restore Job RestoreFiles.2021-11-01_13.05.11_03
JobId 121: Restoring files from JobId(s) 115,116,120
JobId 121: Using Device "FileChgr1-Dev1" to read.
JobId 121: qemu: VM to restore: VM1 (oid:0)
JobId 121: qemu: Start Restore vm: VM1 (rid:0) devices: 2
JobId 121: qemu: Restoring device: ide0-hd0
JobId 121: qemu: Restoring device: ide0-hd1
JobId 121: qemu: Patching incremental: ide0-hd0
JobId 121: qemu: Patching incremental: ide0-hd1
JobId 121: qemu: Patching incremental: ide0-hd0
JobId 121: qemu: Patching incremental: ide0-hd1

La nueva VM huésped creada durante la restauración recibirá un nuevo VMID (si el VMID original está en uso), pero el nombre/nombre del host permanecerá igual que con la VM original.

Restauración a un Hypervisor Proxmox

Para restaurar una o varias VMs en un hipervisor Proxmox, debes ejecutar el mismo comando de restauración mencionado anteriormente, y el proceso básico de restauración es el mismo. La principal diferencia se encuentra en la configuración final y el procedimiento de importación de dispositivos, como se muestra a continuación:

JobId 117: Start Restore Job RestoreFiles.2021-11-02_17.26.25_07
JobId 117: Restoring files from JobId(s) 104,105,106,115,116
JobId 117: Using Device "FileChgr1-Dev2" to read.
JobId 117: qemu: VM to restore: vm1 (oid:100)
JobId 117: qemu: Start Restore vm: vm1 (rid:104) devices: 1
JobId 117: qemu: Restoring device: drive-scsi0
JobId 117: qemu: Patching incremental: drive-scsi0
JobId 117: qemu: Patching incremental: drive-scsi0
JobId 117: qemu: Patching incremental: drive-scsi0
JobId 117: qemu: Patching incremental: drive-scsi0
JobId 117: Elapsed time=00:06:42, Transfer rate=20.28 M Bytes/second
JobId 117: qemu: Successfully imported device drive-scsi0 as local-lvm:vm-104-disk-0
...

La nueva VM creada durante la restauración recibirá un nuevo VMID (si el VMID original está en uso), pero el nombre/nombre del host permanecerá igual que con la VM original.

Restauración a un Directorio Local

Es posible restaurar la(s) imagen(es) de disco de la VM huésped a un directorio local en lugar de restaurarlas en un hipervisor como una nueva VM. Para lograr esto, la opción de restauración «where» debe apuntar a un directorio local:

* restore where=/tmp/bacula/restores

Revisa el siguiente ejemplo para la prueba «Restauración local de la VM»:

JobId 118: Start Restore Job RestoreFiles.2021-11-02_17.37.34_09
JobId 118: Restoring files from JobId(s) 104,105,106,115,116
JobId 118: Using Device "FileChgr1-Dev1" to read.
JobId 118: Ready to read from volume "vol01" on File device "FileChgr1-Dev1" (/opt/bacula/archive).
JobId 118: qemu: VM local restore: vm1 (oid:100)
JobId 118: Forward spacing Volume "vol01" to addr=227
JobId 118: qemu: Restoring device: drive-scsi0
JobId 118: qemu: Patching incremental: drive-scsi0
JobId 118: qemu: Patching incremental: drive-scsi0
JobId 118: qemu: Patching incremental: drive-scsi0
JobId 118: qemu: Patching incremental: drive-scsi0
JobId 118: Elapsed time=00:06:57, Transfer rate=19.55 M Bytes/second
...

El registro del trabajo de restauración mostrará que la restauración se realizó en un directorio local.

Otros

Lista de Recursos

El Plugin QEMU de Bacula Enterprise soporta la característica de listado de plugins de Bacula Enterprise 8.x o posterior. Este modo permite que un plugin muestre información útil sobre los recursos Proxmox disponibles, como:

  • Lista de nombres de VMs huéspedes
  • Lista de VMIDs de huéspedes
  • Lista de Almacenamientos Proxmox

Esta característica utiliza el «comando de punto» .ls especial con el parámetro «plugin=». El comando requiere que se definan los siguientes parámetros:

  • client=
    Nombre de Cliente Bacula con el Plugin QEMU instalado.
  • plugin=
    Nombre del plugin, que sería «qemu:» en este caso, con parámetros opcionales de plugin según se describe en la sección «genericparameters».
  • path=
    Ruta del objeto que se va a mostrar.

Los valores compatibles para el parámetro «path=» son:

  • /
    para mostrar los tipos de objetos disponibles para el listado.
  • vm
    para mostrar una lista de nombres de etiquetas de VMs huéspedes.
  • vmid
    para mostrar una lista de VMIDs de huéspedes y punteros de nombres de etiquetas.
  • storage
    para mostrar la lista de Almacenamientos disponibles.

Para mostrar los tipos de objetos disponibles, sigue el siguiente ejemplo de comando:

*.ls client=proxmoxtest-fd plugin="qemu: mode=PVE" path=/
Connecting to Client proxmoxtest-fd at proxmoxtest:9102
drwxr-x--- 1 root root 0 2021-11-01 12:55:55 vm
drwxr-x--- 1 root root 0 2021-11-01 12:55:55 vmid
drwxr-x--- 1 root root 0 2021-11-01 12:55:55 storage
2000 OK estimate files=3 bytes=0

Para mostrar la lista de todas las VMs disponibles, puedes usar el siguiente ejemplo de comando:

*.ls client=proxmoxtest-fd plugin="qemu: mode=PVE" path=/vm
Connecting to Client proxmoxtest-fd at proxmoxtest:9102
-rw-r----- 1 root root 8589934592 2021-11-01 12:56:18 vm1
-rw-r----- 1 root root 8589934592 2021-11-01 12:56:18 vm3
2000 OK estimate files=2 bytes=17,179,869,184

Para mostrar la lista de VMIDs de huéspedes, puedes usar el siguiente ejemplo de comando:

*.ls client=proxmoxtest-fd plugin="qemu: mode=PVE" path=/vmid
Connecting to Client proxmoxtest-fd at proxmoxtest:9102
-rw-r----- 1 root root 8589934592 2021-11-01 12:56:46 100 -> vm1
-rw-r----- 1 root root 8589934592 2021-11-01 12:56:46 102 -> vm3
2000 OK estimate files=2 bytes=17,179,869,184

Las listas de VM y VMID muestran un tamaño estimado de la VM de huéspedes basado en los tamaños de las imágenes de disco virtuales o reales.
Para mostrar los Almacenamientos Proxmox disponibles, puedes usar el siguiente ejemplo de comando:

*.ls client=proxmoxtest-fd plugin="qemu: mode=PVE" path=/storage
Connecting to Client proxmoxtest-fd at proxmoxtest:9102
brw-r----- 1 root root 0 2021-11-01 12:57:56 data
brw-r----- 1 root root 0 2021-11-01 12:57:56 local-lvm
2000 OK estimate files=2 bytes=0

Consulta de Recursos

El Plugin QEMU de Bacula Enterprise admite la función de consulta de plugin de Bacula Enterprise 14.0 en adelante. Este modo permite que un plugin muestre la misma información sobre los recursos disponibles de Proxmox que se define en la lista de recursos. El Plugin QEMU devuelve los datos de respuesta en formato JSON.
En este ejemplo, se realiza una consulta sobre las VM disponibles:

*.query client=proxmoxtest-fd plugin="qemu: mode=PVE" parameter=vm
[{"name":"vm1","vmid":100},{"name":"vm3","vmid":102}]
*.query client=proxmoxtest-fd plugin="qemu: mode=PVE" parameter=vmid
[{"name":"vm3","vmid":102},{"name":"vm1","vmid":100}]

Neste exemplo, há uma consulta sobre os armazenamentos Proxmox disponíveis:

*.query client=proxmoxtest-fd plugin="qemu: mode=PVE" parameter=storage
[{"name":"local"},{"name":"local-lvm"}]

Limitaciones

  • No es posible ejecutar simultáneamente el mismo trabajo de respaldo de la misma VM de invitado (duplicación de trabajo).
  • No es posible tener trabajos de respaldo diferentes que respalden la misma VM de invitado, ya que esto romperá la cadena de respaldo de mapa de bits sucios incrementales. En este caso, ni siquiera será posible una recuperación exitosa.
  • Los modelos de VM disponibles en el sistema Proxmox no pueden ser guardados. Esto es una limitación de Proxmox.
  • En el modo de listado y consulta con los parámetros vm o vmid, el complemento solo mostrará las VM en ejecución.
  • Toda operación de respaldo o restauración de VM requiere suficiente espacio de almacenamiento en el directorio de trabajo (consulte la Ubicación del Directorio de Trabajo). Esto es una limitación general del procedimiento de respaldo QEMU QMP.

Referencias

  • Plugin QEMU (Bacula System SA)

Disponível em: pt-brPortuguês (Portugués, Brasil)enEnglish (Inglés)esEspañol

Deja una respuesta