Ya hemos visto anteriormente cómo instalar y configurar el rclone y el rclone-changer para utilizar las nubes como backend de almacenamiento de reserva de Bacula, utilizando el ejemplo del Amazon S3.
Ahora, vamos a ver cómo la misma instalación se puede utilizar para grabar en los almacenes de la Nube Oracle, que viene siendo bastante demandada debido a los precios bastante competitivos en relación a los competidores.
Configuración de Rclone
Aquí usted ya debe haber instalado el rclone y rclone-changer según el artículo.
Como root, cree un archivo de configuración de rclone – /root/.config/rclone/rclone.conf, informando el login y la contraseña de acceso a la consola de nube de Oracle. La url de almacenamiento y autenticación se puede encontrar en la consola web de la nube de Oracle, según la Figura 1 – Dashboard – Detalles del servicio. El token de autenticación (necesario), vamos a actualizar después a través de un script.
[oracle] type = swift env_auth = false user = hfaria@bacula.com.br key = contrasena_acesso_oracle storage_url = https://bacula.br.storage.oraclecloud.com/v1/Storage-bacula auth = https://bacula.br.storage.oraclecloud.com/auth/v1.0 auth_token = AUTH_xxxx
Figura 1 – Detalles de la url de autenticación y del servicio de almacenamiento
Cree una secuencia de comandos para estar siempre actualizando el token de autenticación en la configuración anterior (por ejemplo, /etc/ora_token.sh). Los tokens de la Nube Oracle tienen una duración de 30 minutos y este tiempo no puede ser renovado. El Bacula ya debe estar instalado para que haya el directorio /etc/bacula/. Modifique el nombre de su almacenamiento en oracle, usuario, contraseña de acceso y url de autenticación de acuerdo con su realidad.
#!/bin/bash ORASTORAGE=Storage-bacula USER=heitor@bacula.com.br PASSWD=contrasena_acesso_oracle AUTH_URL=https://bacula.br.storage.oraclecloud.com/auth/v1.0 TOKEN=$(curl -v -X GET -H "X-Storage-User: $ORASTORAGE:$USER" -H "X-Storage-Pass: $PASSWD" $AUTH_URL 2>&1 |grep X-Auth-Token |cut -f 3 -d " ") && sed -i "s/auth_token.*/auth_token = $TOKEN/g" /root/.config/rclone/rclone.conf cp /root/.config/rclone/rclone.conf /etc/bacula/rclone.conf chown bacula /etc/bacula/rclone.con
Añada la siguiente línea en /etc/crontab, para intentar actualizar el token cada minuto, evitando que se pierda la conexión con el almacenamiento.
* * * * * root /etc/ora_token.sh
Ejecute el script /etc/ora_token.sh. Ejecute algunos comandos de rclone para comprobar que la conexión se realiza correctamente y cree un contenedor de nombre bacula.
# Lista containers/buckets rclone -v lsd oracle: # Cria um container rclone mkdir oracle:bacula
Configuración del Bacula
Cree los directorios y el apunte virtual para el almacenamiento si aún no ha hecho:
mkdir /mnt/vtapes & touch /mnt/vtapes/tape & chown -R bacula /mnt/vtapes/ mkdir /mnt/bacula-spool & chown bacula /mnt/bacula-spool
Agregar un dispositivo similar al archivo Bacula Storage Daemon Configuration (bacula-sd.conf). En el caso del Bacula Enterprise esto puede ser hecho por la interfaz gráfica – Bweb. Si está utilizando Almacenamiento Archive que tiene una latencia de algunas horas en la restauración (similar al Glacier), puede que sea necesario aumentar aún más el Maximum Changer Wait (segundos).
Autochanger { Name = "rclone_ora" Device = Drive-1 Changer Device = 'oracle:bacula' # configuración remota del rclone y bucket de grabación. También puede especificar un directorio en el bucket Changer Command = "/usr/sbin/rclone-changer %c %o %S %a" # no cambie eso } Device { Name = Drive-1 Media Type = ora Maximum Changer Wait = 18000 # puede ser necesario cambiar de acuerdo con el tamaño de los volúmenes Archive Device = /mnt/vtapes/tape # debe coincidir con el archivo creado en el paso anterior Autochanger = yes LabelMedia = yes; Random Access = Yes AutomaticMount = no RemovableMedia = no AlwaysOpen = no Spool Directory = /mnt/bacula-spool Maximum Spool Size = 524288000 }
Ahora, atar el nuevo dispositivo de almacenamiento a su Director y también crear una Pool para él:
Autochanger { Name = OracleCloud # Do not use "localhost" here Address = hfaria-asus-i5 SDPort = 9103 Password = "O0yFMuPy2jZM8L7eMg9TQccW4SvXdVl-n" Device = rclone_ora Media Type = ora Maximum Concurrent Jobs = 10 Autochanger = OracleCloud # point to ourself } Pool { Name = Offsite Pool Type = Backup Recycle = yes AutoPrune = yes Storage = OracleCloud Maximum Volume Bytes = 5G # recomendado AutoPrune = yes Volume Retention = 4 weeks }
Es importante tener en cuenta las consideraciones del desarrollador si desea cambiar el Maximum Volume Bytes:
Se recomienda que utilice muchos volúmenes pequeños en lugar de grandes. Intenta permanecer en un tamaño que su archivo promedio encaja sin quedar muy pequeño. El razonamiento aquí está en una situación de recuperación si usted está trabajando en volúmenes que desea minimizar la cantidad de datos no relacionados con un determinado trabajo de copia de seguridad que usted necesita copiar localmente para recuperarse. Si usted tiene una cinta virtual de 10G y sólo necesita 500M, usted todavía necesita esperar para que el 10G completo sea descargado antes de que usted pueda recuperar datos. Por lo tanto, si su tamaño de archivo típico es en promedio 700M, los volúmenes de 1G probablemente son una buena idea. [https://github.com/travisgroth/rclone-changer]
Hay un límite de código suave de 8192 «ranuras» de cinta en el intercambiador de rclone, pero esto se puede cambiar manualmente manipulando la secuencia de comandos. Si desea cambiar a 100 ranuras, por ejemplo, ejecute el siguiente comando:
sed -i 's/slots = 8192/slots = 100/g' /usr/sbin/rclone-changer
Por lo tanto, crear etiquetas de Bacula de cinta virtual. Utilice el bconsole para eso:
label barcodes storage=OracleCloud pool=Offsite
Si tiene problemas para etiquetar las cintas virtuales, compruebe todos los comandos anteriores y las concesiones de permisos. Para reiniciar el VTL y volver a intentarlo, elimine el archivo vtape y rclone-change state.
rm -f /mnt/vtapes/tape* rm /var/lib/bacula/rclone-changer.state touch /mnt/vtapes/tape & chown -R bacula /mnt/vtapes/
Listo. Ejecute un trabajo de copia de seguridad de prueba en el Pool Offsite y cree rutinas de Schedule para la nube de acuerdo con sus necesidades. Las cintas virtuales serán alteradas y cargadas en la nube automáticamente, como en las Figuras 2 y 3.
Figuras 2 y 3: Copia de respaldo con éxito y lista de cintas virtuales (archivos) en la consola web de Oracle
Resolución de problemas de Rclone-changer
Estos son los lugares donde el rclone y el rclone-changer guardan sus mensajes de registro:
cat /tmp/rclone.log cat /var/log/bacula/rclone-changer.log
Disponível em:
Português (Portugués, Brasil)
English (Inglés)
Español