Já vimos no passado como o bpipe possibilita o backup de inúmeras aplicações através de comandos para a saída padrão do Linux <https://www.bacula.lat/usando-o-bpipe-para-stream-de-dumps-clones-de-maquinas-virtuais-e-outros-dados-para-seu-backup/>.
rbd é um utilitário para manipular imagens de dispositivos de bloco rados (RBD), usado pelo driver Linux rbd e pelo driver de armazenamento rbd para QEMU/KVM. As imagens RBD são dispositivos de bloco simples que são distribuídos em objetos e armazenados em um armazenamento de objeto RADOS. O tamanho dos objetos sobre os quais a imagem é listrada deve ser uma potência de dois.
O shell script abaixo pode ser instalado no cliente do Bacula com acesso ao cliente RBD, para listagem dos volumes de uma Pool do CEPH, snapshot e export do snapshot. Backups diferenciais e incrementais são suportados.
#!/bin/bash # # Autoria: Heitor Faria (Copyleft: all rights reversed). # Testado por: xxxx E # Deve ser chamado no sub-recurso INCLUDE do FileSet do bacula-dir.conf, referente ao backup do cliente instalado na máquina do CEPH (por exemplo), por Pool do CEPH: # # 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 fazer a restauração, o volume original do CEPH precisa ser renomeado ou apagado.
De igual sorte, o comando definido de restauração (rdb import) pode ser substituído posteriormente no momento do restore do Bacula para gravação do volume em disco. Exemplo: dd of=/tmp/nome_volume
Disponível em: PortuguêsEnglish (Inglês)Español (Espanhol)