Hemos visto en el pasado cómo bpipe hace posible la copia de seguridad de numerosas aplicaciones utilizando comandos para la salida estándar de Linux <https://www.bacula.lat/usando-o-bpipe-para-stream-de-dumps-clones-de -máquinas-virtuales-y-otros-datos-para-su-respaldo/>.
rbd es una utilidad para manipular imágenes de dispositivos de bloque (RBD), utilizada por el controlador rbd de Linux y el controlador de almacenamiento rbd para QEMU / KVM. Las imágenes RBD son dispositivos de bloque único que se distribuyen en objetos y se almacenan en un almacén de objetos RADOS. El tamaño de los objetos sobre los que se ve la imagen debe ser una potencia de dos.
El script de shell a continuación se puede instalar en el cliente Bacula con acceso al cliente RBD, para enumerar los volúmenes de un Pool del CEPH, snapshot y exportación. Se admiten copias de seguridad diferenciales e incrementales.
#!/bin/bash # # Autoría: Heitor Faria (Copyleft: all rights reversed). # Probado por: xxxx # # Debe ser llamado en el sub-recurso INCLUDE del FileSet de bacula-dir.conf, refiriéndose a la copia de seguridad del cliente instalado en la máquina CEHP (por ejemplo), por CEPH Pool: # # Plugin = "\\|/opt/bacula/scripts/bpipe_rbd %l <pool_ceph>" # $1 $2 # time=$(date +%F_%H-%M-%S) if [[ $1 == 'Incremental|Differential' ]] then exp="export-diff" imp="import-diff" fi if [[ $1 == Full ]] then exp="export" imp="import" fi for vol in $(rbd -p $2 ls); do rbd snap create --pool $2 --image $vol --snap $vol-$time echo "bpipe:/var/$vol:rbd $exp --pool $2 --image $vol --snap $vol-$time --path -:rbd $imp --dest-pool $2 --dest $vol --path -" done
Para restaurar, es necesario cambiar el nombre del volumen CEPH original o eliminarlo.
El comando de restauración definido (rdb import) se puede reemplazar más tarde en el momento de la restauración de Bacula para escribir el volumen en el disco. Ejemplo: dd of=/tmp/volume_name
Disponível em: Português (Portugués, Brasil)English (Inglés)Español