Esta guía rápida muestra los procedimientos operativos del plugin de copia de seguridad RHEV/oVirt para Bacula Enterprise versión 10 y superior.
El complemento proporciona una copia de seguridad automática del cliente a nivel de imagen de las máquinas virtuales, backups diferenciales e incrementales vía CBT, la restauración y la extracción granular a nivel de archivo. También soporta backups LAN Free.
Instalación
Red Hat Virtualization permite dos modos de conexión diferentes y ambos pueden ser usados por el plugin Bacula: OAuth y HTTP Basic Authentication. Para más información, consulte https://access.redhat.com/documentation/en-us/red_hat_virtualization/4.1/html/rest_api_guide/documents-002_authentication_and_security#authentication.
Para aprovechar las tecnologías de respaldo de CBT Diferencial e Incremental, es necesario que el Cliente y Plugin (Proxy) de Bacula se instale dentro de una Máquina Virtual en el entorno RHV, con los siguientes requisitos mínimos:
- CentOS 7, 8 o superior, Debian u otro Linux cuyo paquete de Plugin esté disponible
- 4 GB de RAM
- Red: Acceso a la red lógica RHV
- Almacenamiento: 8 GB
- Versión de Bacula Enterprise Edition: 12.0.2 o superior
- Máquina virtual Java: 8
Cree un repositorio yum/apt de acuerdo con la ruta única del complemento RHEV del repositorio Enterprise Bacula, o descargue e instale el paquete en una máquina con un cliente Bacula en funcionamiento. Por ejemplo:
rpm -ivh bacula-enterprise-rhv-plugin-10.2.3.el7.x86_64.rpm
La máquina virtual Java en una versión 8 o superior es necesaria e en gerneral instalada como una dependencia.
Reinicie el servicio bacula-fd para cargar la biblioteca del plugin.
Preparación de los discos VM
Para permitir la descarga correcta de los discos durante los procesos de copia de seguridad y debido a un error existente del RHEV (https://bugzilla.redhat.com/show_bug.cgi?id=1538814), las siguientes configuraciones se deben definir:
Para RHEV 4.1 (Compatible con RHEV 4.2)
Accede a la consola de la base de datos PostgreSQL por ssh para el RHVManager. Por ejemplo:
su postgres psql -U postgres -d engine # Get the existing value for future reference SELECT * FROM vdc_options WHERE option_name='ImageTransferClientTicketValidityInSeconds'; UPDATE vdc_options SET option_value=999999 WHERE option_name='ImageTransferClientTicketValidityInSeconds';
Para RHEV 4.2
Acceda al shell de la máquina del RHV Manager, luego:
# Get the existing value for future reference engine-config --get ImageTransferClientTicketValidityInSeconds # Set value (we recommend 999999 seconds, virtually unlimited) engine-config --set ImageTransferClientTicketValidityInSeconds=999999
Certificado y TrustStore
Hay tres formas de crear el almacén de confianza que permite que el complemento de Bacula se conecte a RHV en modo seguro.
a) Automatica: Llamada Plugin
El Plugin tiene una opción para crear el truststore automáticamente. Para crear el almacén de confianza, ejecute el siguiente comando:
java -jar /opt/bacula/lib/rhvPlugin.jar --server=myrhv.com --operation=system --create_truststore=true --truststore_file=/tmp/rhv_truststore --truststore_password=changeit
Comando de ejemplo para crear el truststore de confianza:
java -jar /opt/bacula/lib/rhvPlugin.jar --server={server} --operation=system --create_truststore=true --truststore_file={truststore_path} --truststore_password={truststore_password}
b) Automatic: Script Interactivo
Hay un script interactivo en /opt/bacula/scripts/rhv_config.sh. Cuando se ejecuta el script, solicita parámetros como: servidor, ruta del TrustStore, contraseña TrustStore, alias en el TrustStore y ruta de Java de la herramienta de claves. Solo se requiere el parámetro «servidor». Los otros parámetros por defecto son:Ruta del
- TrustStore: /opt/bacula/etc/rhv.cacerts
- Contraseña del TrustStore: changeit
- Alias interno del almacén de confianza: rhvPluginX <randomNumber (1-100000)>
- Ruta a la herramienta de claves de Java: /usr/bin/keytool
Ejemplo de ejecución de un script:
user@host:~/bacula-plugin-rhev/src\$ ./promptTrustStore.sh Welcome wizard to create TrustStore File Enter FQDM Red Hat Virtualization Manager:myrhev.com Path truststore (/opt/bacula/etc/rhev.cacerts): /opt/bacula/etc/rhevProbes.certs Password truststore (changeit): Alias (rhevPluginX7687): rhevPluginRHEV Path keytool ('/usr/bin/keytool'): /usr/bin/java/bin/keytool Resume: Server: myrhev.com Path Truststore: /opt/bacula/etc/rhevProbes.certs Pass Truststore: custom Alias: rhevPluginRHEV Keytool: /usr/bin/java/bin/keytool Are you sure? [no] yes
c) Manual
En el equipo cliente, gestiona el almacenamiento confiable (truststore) que permite que el plug-in se conecte al RHVM, de la siguiente manera:
curl -o /root/rhvm.cer http://ovirtman/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA
Genere una contraseña para el certificado del truststore. Reemplace la ruta inicial de Java si es necesario.
keytool -import -alias "rhev truststore" -file /root/rhvm.cer -keystore /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre/lib/security/cacerts
Se le pedirá una contraseña, el valor predeterminado es: «changeit».
Nota: de forma predeterminada, la ruta del almacén de confianza de Java es: $JAVA_HOME/jre/lib/security/cacerts
Usuario de Backup RHEV
Puede utilizar el usuario ‘admin’ para el plugin, o un usuario con permisos restringidos. Lea el whitepaper de referencia para obtener más detalles.
Prueba de Instalación
Puede utilizar el complemento Bacula directamente para probar las configuraciones anteriores e incluso listar datacenters RHEV, templates, storage_domains, hosts, discos y otros, como en el ejemplo siguiente:
java -jar /opt/bacula/lib/rhvPlugin.jar --server=ovirtman --truststore_file=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre/lib/security/cacerts --truststore_password=changeit --profile=internal --user=admin --password=xxx --operation=list --list_datacenters
Configuración
Creación de FileSet
Cree un nuevo FileSet, donde todas las opciones de Plugin se pueden definir en la interfaz gráfica de bweb Bacula Include – Plugin Options.
El parámetro del complemento config_file permite la creación de un archivo que se puede utilizar para proporcionar todas las opciones necesarias en lugar de ponerlas en la línea del complemento. Estos archivos de configuración son archivos de texto sin formato que contienen una configuración por línea, donde el nombre de la configuración y su valor están separados por un signo igual «=». Por tanto, un archivo de configuración podría verse así:
# /opt/bacula/etc/rhv.conf server=rhv.example.com user=admin truststore_file=/opt/bacula/etc/rhvm.truststore target_datacenters=myDatacenter operation=backup
Luego, un ejemplo para respaldar todas las VM:
rhv: config_file=/opt/bacula/etc/rhv.conf
Este ejemplo realizará una copia de seguridad de todas las máquinas virtuales de un Datacenter RHEV:
rhv: server=rhv.example.com password=rhvpass123
También puede seleccionar una o más máquinas virtuales para realizar copias de seguridad utilizando su nombre. Varias líneas de configuración de plugins se pueden utilizar para seleccionar diferentes máquinas.
rhv: server=rhv.example.com password=rhvpass123 target_virtualmachine=vmExample
Puede eliminar un disco de la máquina virtual de copia de seguridad agregando la siguiente directiva. Varios discos ID se pueden enumerar entre comas (,):
target_exclude_disks=[list_disks]
Una expresión regular se puede utilizar para seleccionar varias máquinas virtuales por nombre y las máquinas virtuales específicas pueden eliminarse de las copias de seguridad:
target_virtualmachine_regex=vm* target_exclude_vms=vmname
Busque el Whitepaper al que se hace referencia para obtener una lista completa y una descripción de las opciones de copia de seguridad disponibles.
Guarde el nuevo FileSet.
Creación de Job
Cree un trabajo común de copia de seguridad de Bacula, asociándolo al archivo Daemon de la máquina RHEV y al recién creado FileSet.
¡Atención! La opción Accurate=yes no debe marcarse para las copias de seguridad de máquinas virtuales RHV.
Aplique los cambios y ejecute un trabajo de copia de seguridad de prueba.
Restore
Para restaurar una máquina directamente al RHEV, utilice la opción de restore where=/ (origen) y marque todo el directorio de copia de seguridad de la máquina virtual para la restauración (por ejemplo, @rhev/nombre_vm/).
Para restaurar la configuración y los discos XML de la máquina virtual en un sistema de archivos, cambie el where= al directorio de restauración deseado (por ejemplo, where=/tmp).
Restauración en el Nivel de Archivo
La restauración granular se realiza a través del Plugin Single-Item Restore de Bacula Enterprise.
Referencia
Red Hat Virtualization Plugin – http://baculasystems.com
Disponível em: Português (Portugués, Brasil)English (Inglés)Español