Backup de Volumes do CEPH com o plugin Bacula bpipe e RBD Export

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: pt-brPortuguêsenEnglish (Inglês)esEspañol (Espanhol)

Deixe uma resposta