Replicação Backups Servidor Bacula para director Secundário

Existem várias maneiras de replicar os metadados e jobs de backup para sites alternativos pelo Bacula. Podem ser utilizada a replicação do PostgreSQL para o Catálogo, Jobs de Cópia para os backups, ou até mesmo soluções de terceiros como DRBD.

Outra maneira é importar o backup realizado por outro Bacula através de sua ferramenta nativa Bscan, como veremos neste artigo.

Como mostrado na Figura 1, o Director primário salva os backups também ou exclusivamente em um Storage Daemon remoto secundário, e os volumes de backup podem ser scaneados e importados para o Director Remoto.

 

Replicação Backups Servidor Bacula para director Secundário 1

Figura 1. Backups de Cópia e Importação de Metadados para Director Secundário

A vantagem desse método é que os dois Directors ficam sempre ativos e podem executar Jobs de restauração há qualquer tempo.

Implantação

Depois de instalado o Servidor Bacula secundário, contendo Director, Storage e Cliente, configure um job de Cópia ou de backup para armazenar dados nesse Storage. Você precisará fornecer acesso aos dois Directors no bacula-sd.conf, como no exemplo:

 

Director {
   Name = "bacula_master-dir"
   Password = "30HLZox4K4idLu+j97SHDbXJYgduxUUD+kpVPyEgj1I9"
 }

Director {
   Name = "bacula_remote-dir"
   Password = "14idLu+j97SH#GSADgqgq344idLu+j97SH4idLu+j97t"
 }

Execute Jobs de Cópia ou de backup do Bacula Primário para o Secundário. O ideal é que os volumes de backup estejam armezados todos em um diretório ou monto de montagem exclusivo. Por exemplo, /mnt/volumes.

Crie um Job do tipo Admin no Servidor Bacula Secundário para fazer a importação dos volumes gravados através do bscan. Você pode usar o script a seguir (ex.: /opt/bacula/scripts/bimporter) para realizar o scan de diversos ou todos os Volumes, que é executado através da diretiva RunScript (ClientRunBeforeJob).

#!/bin/bash
#
# bimporter - Heitor Faria, Bacula LATAM (http://bacula.us, https://bacula.lat, http://bacula.com.br)
# uses Bacula bscan to import several volumes to a new Catalog + Director
# Obs. 1: bscan requires connection to the new Catalog
#
# Usage: /opt/bacula/scripts/bimporter vol_name_string vols_dir
# E.g.: /opt/bacula/scripts/bimporter DedupDaily /mnt/volumes
#
#  It is desired to only have Bacula volumes in the same archive device path.

for i in $(find $2 -printf "%f\n" |grep $1 | sort | grep -v -e .blk -e .idx -e .tch -e bin);
  do sudo -u bacula /opt/bacula/bin/bscan -s -m -V $i $2 >> /opt/bacula/working/bimporter.log;
done

Configure uma Agenda (Schedule) para executar a importação dos volumes na periodicidade e horário desejados, preferencialmente após todos os Jobs de backup terem sido terminados.

Os Jobs de backup importados no Servidor secundário terão o status Archived, não devendo ser utilizados para armazenamento de backups pelo Director Secundário, apenas pelo primário.

Disponível em: pt-brPortuguêsenEnglish (Inglês)esEspañol (Espanhol)

Deixe uma resposta