Desarrollo¶
Se realizaron las siguientes modificaciones en el archivo /usr/libexec/backup-cron/backup-cron_functions.sh:
Función libvirt_backup()¶
Se modificó la función libvirt_backup() para que realice lo siguiente:
- Encontrar los dominios correspondientes (nombre de las máquinas virtuales).
- Búsqueda de imágenes qcow2 utilizadas por cada dominio (maquina virtual).
- Por cada imagen qcow2 encontrada:
- Se obtiene el nombre de la imagen sin la extensión.
- Se crea el respaldo de la imagen qcow2.
- Se cambian los permisos en el archivo de respaldo.
- Se generan las sumas MD5, SHA1 y SHA256 del archivo de respaldo.
Función qcow2_backup()¶
Se creó una nueva función para crear un respaldo en formato qcow2 comprimido de una imagen de disco en cualquiera de los siguientes formatos: raw, bochs, qcow, qcow2, qed, vmdk, etc.
Función snapshot()¶
Se creó una la función snapshot() para gestionar la creación y eliminación de las instantáneas. Esta función antes de crear o borrar la instantánea pausa la máquina virtual correspondiente para evitar la posible corrupción de datos en la imagen qcow2 mediate el uso de la funcionalidad QEMU Guest Agent la cual debe ser instalada en la maquina virtual.
Requerimientos en la máquina virtual¶
dispositivo de canal del tipo "Unix Socket".¶
Es necesario crear en cada maquina virtual el siguiente dispositivo de canal del tipo "Unix Socket":
<channel type='unix'>
<source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain_name.org.qemu.guest_agent.0'/>
<target type='virtio' name='org.qemu.guest_agent.0'/>
<address type='virtio-serial' controller='0' bus='0' port='1'/>
</channel>
Instalación de QEMU Guest Agent¶
Es necesario instalar en cada maquina virtual QEMU Guest Agent:
emerge app-emulation/qemu-guest-agent
Una vez instalado debe activarse el servicio QEMU Guest Agent de la siguiente manera:
rc-update add qemu-guest-agent default
rc-service qemu-guest-agent start