Bacula Backup no CentOS 7 + Tape Library

O Bacula Backup é um software que permite um administrador de sistema administrar backup, restauração e verificação dos dados de computadores em uma rede de sistemas mistos, isso se mostra uma característica muito importante pois em sua grande maioria as redes são compostas por sistemas mistos.

Por ser tão flexível o Bacula é considerado um framework de backup, podendo ser implementado nas mais diferentes estruturas corporativas. Certas coisas você só encontra no Bácula como geração em formato aberto que pode ser lido por diversos programas como tar, dump entre outros você ficará livre para usar o que te mais convier. Você poderá armazenar seu catálogo em um banco de dados de padrão SQL como o PostgreSQL ou o MySQL. É possível usar algoritmos de compressão como GZIP ou ainda LZO que são tecnologias abertas e de custo zero.

Esqueça os expensivos custos com licença de softwares proprietários, Bácula está licenciado sob a GPL e pode ser adquirido gratuitamente e customizado para suas necessidades.

Nesse guia, vou mostrar o processo de instalação do Bacula Backup no CentOS 7 com o banco de dados MySQL (mariadb). No ambiente em que foi instalado, o backup é feito por uma tape library LTO 7, também darei dicas sobre essa configuração.

Instalação do Bacula

Criação dos repositórios no yum

echo “[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.4/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1″ > /etc/yum.repos.d/MariaDB.repo

echo “[Bacula-Community]
name=CentOS – Bacula – Community
baseurl=https://bacula.org/packages/5e622a18b8227/bacula/bacula/rpms/9.6.3/el7/x86_64/
enabled=1
protect=0
gpgcheck=0″ > /etc/yum.repos.d/bacula-community.repo

Instalação dos pacotes necessários

yum update
yum install MariaDB-server MariaDB-client
systemctl enable mariadb
systemctl start mariadb

yum install bacula-mysql

Configuração do Mysql

/opt/bacula/scripts/create_mysql_database
/opt/bacula/scripts/make_mysql_tables
*Criar usuário e atribuir permissão manualmente

create user ‘bacula’@’localhost’ identified by ”;
grant all privileges on bacula.* to ‘bacula’@’localhost’;

mysql_secure_installation

systemctl enable bacula-dir
systemctl enable bacula-sd
systemctl enable bacula-fd

Regras de Firewall

O Bacula utiliza as portas 9101, 9102 e 9103. Libere com os comandos abaixo:

firewall-cmd –permanent –zone=public –add-port=9101-9103/tcp
firewall-cmd –reload

bconsole

As configurações abaixo são para que você consiga acessar o bconsole sem digitar todo o caminho no linux.

for i in ls /opt/bacula/bin; do
ln -s /opt/bacula/bin/$i /usr/sbin/$i;
done
sed ‘/[Aa]ddress/s/=s.*/= localhost/g’ -i /opt/bacula/etc/bconsole.conf

Usando Tape Library

É necessários instalar os pacotes mt-st e mtx para garantir que o servidor e o Bacula controlem o robô de backup. Além disso, deve ser liberado acesso ao usuário “bacula” no grupo “tape”.

yum install mt-st mtx
usermod -a -G tape bacula

Depois das configurações, é necessário verificar como os dispositivos “tape” (os drives de leitura e gravação da tape library) e “mediumx” (é a própria tape library) foram mapeados no linux:

lsscsi -g
[0:0:0:0] disk VMware Virtual disk 2.0 /dev/sda /dev/sg0
[3:0:0:0] tape IBM ULT3580-HH7 K4K1 /dev/st0 /dev/sg1
[3:0:1:0] tape IBM ULT3580-HH7 K4K1 /dev/st1 /dev/sg2
[3:0:1:1] mediumx IBM 3573-TL 1300 /dev/sch0 /dev/sg3

### Importante 1
Para que o comando mtx funcione corretamente, deve ser criado o link simbólico apontando o dispositivo mediumx para o /dev/changer (padrão do linux), no meu caso:
ln -s /dev/sg3 /dev/changer

### Importante 2
O linux nem sempre mapeia os drives na posição em que eles estão na tape library. No meu caso, o “drive 0” é o device /dev/st1 e o “drive 1” é o /dev/st0.

[3:0:0:0] tape IBM ULT3580-HH7 K4K1 /dev/st0 /dev/sg1
[3:0:1:0] tape IBM ULT3580-HH7 K4K1 /dev/st1 /dev/sg2

No próximo artigo, vou mostrar os arquivos de configuração do Bacula utilizando a Tape Library.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.