Bacula - Software Livre para Backup em Rede

33
Ferramenta de backup para Servidores Linux Mário Araújo Xavier Administrador de Redes Telegram @marioiurd3

Transcript of Bacula - Software Livre para Backup em Rede

Page 1: Bacula - Software Livre para Backup em Rede

Ferramenta de backup para Servidores Linux

Mário Araújo Xavier Administrador de Redes Telegram @marioiurd3

Page 2: Bacula - Software Livre para Backup em Rede

Roteiro 1.O que é Bacula? 2.Quem usa o Bacula? 3.Outras ferramentas de backup; 4.Vantagens do Bacula; 5.Como funciona o Bacula? 6.Módulos (Director, Storage Daemon, File Daemon, Catalog, Console) 7.Instalação do Bacula e Configuração dos módulos (arquivos .conf); 8.Bacula com Microsoft SQL Server; 9.Bacula com MySQL; 10.Bacula com PfSense;

Page 3: Bacula - Software Livre para Backup em Rede

Para que backup?

Backup é o salva-vidas dos administradores de rede e sistema;

Quando um servidor falha (morre), é importante ter os dados seguros e prontos para recuperação;

“Quem tem uma cópia, não tem nenhuma”;

Page 4: Bacula - Software Livre para Backup em Rede

Para que backup?

31 de março: Dia Mundial do Backup

www.worldbackupday.com/pt/

Page 5: Bacula - Software Livre para Backup em Rede

Para que backup?

Page 6: Bacula - Software Livre para Backup em Rede

O que é o Bacula? Ferramenta de backup em código aberto: ◈ Versão Comunnity: gratuito, boa parte do código está sob a licença GPL (software livre); ◈ Versão Enterprise: com licença paga;

◈O Bacula é mais complexo de configurar;

Page 7: Bacula - Software Livre para Backup em Rede

O que é o Bacula? ◈Backup em rede com clientes Bacula para múltiplas plataformas (MacOS, Solaris, Windows, FreeBSD) ◈Registro dos logs de backup em Banco de dados PostgresSQL, MySQL ou SQLite;

Page 8: Bacula - Software Livre para Backup em Rede

Quem usa o Bacula? ◈Usado por empresas como a SERPRO (Governo Federal), NASA, Groupon, Banco Santander, Locaweb, USP, ITA, Exército, Marinha e Aeronáutica. ◈Em Natal , a FIERN/IEL (Lagoa Nova), Cimento Nassau (Av. Bernardo Vieira), entre outras;

Page 9: Bacula - Software Livre para Backup em Rede

Outras ferramentas de backup open-source

◈Amanda: o sistema de backup mais parecido com o Bacula; ◈Rsync e Rsnapshot: Sincronização de arquivos; ◈BackupNinja: ferramenta mais simples usando o /etc/backup.d/; ◈Rdiff: backup incremental remoto para sistemas Unix; ◈Burp: usa a biblioteca librsync para economizar tráfego de rede; ◈Duplicity: backup com criptografia;

Page 10: Bacula - Software Livre para Backup em Rede

Como funciona o Bacula? O Bacula é dividido em 5 módulos: Director, File Daemon, Storage Daemon, Catalog e o Console;

Módulos

Arquivo de

configuração

(.conf)

Director bacula-dir.conf

Console bconsole.conf

Storage Daemon bacula-sd.conf

FIle Daemon bacula-fd.conf

Page 11: Bacula - Software Livre para Backup em Rede
Page 12: Bacula - Software Livre para Backup em Rede
Page 13: Bacula - Software Livre para Backup em Rede
Page 14: Bacula - Software Livre para Backup em Rede

Como funciona o Bacula? Como funciona o Bacula? O Bacula é usado para backup em rede:

Os 5 módulos do Bacula podem ficar em 5

servidores diferentes, máquinas físicas ou virtuais (VM);

O Bacula funciona executando atividades (tarefas e agendamentos, etc) de backup pré-definidos

Essas atividades são chamadas de Jobs, que são definidas nos arquivos .conf ;

Page 15: Bacula - Software Livre para Backup em Rede

Como funciona o Bacula? Como funciona o Bacula?

JobDefs: tarefas onde definimos algumas configurações padrões, como: Storage: daemon de armazenamento; Pool: Conjunto de volumes do backup; Schedule: agendamento; FileSet: prioridade e conjunto de arquivos

a serem copiados; Existe uma “herança” (predominância) do

JobDef sobre o Job;

Page 16: Bacula - Software Livre para Backup em Rede

Backup Full

Backup Completo dos dados. O próximo backup, seja ele Diferencial ou Incremental usará este backup como referencial;

Este backup é obrigatório para todos os próximos backups.

Para restaurar um backup Full, pode se restaurar todo o Job que realizou o backup Full,;

Restaurar todos os arquivos que foram copiados ou apenas selecionar os arquivos que se deseja restaurar sobre este job.

Page 17: Bacula - Software Livre para Backup em Rede

Backup Diferencial

O backup diferencial é o somatório do que foi alterado após o full; Para recuperar os dados são necessários o full e o último backup diferencial; A grande vantagem é a diminuição da quantidade de volumes e o restore não necessita de todos os backups diferenciais gerados;

Page 18: Bacula - Software Livre para Backup em Rede

Backup Incremental

O backup incremental apenas compara e acrescenta os arquivos que não foram copiados para o servidor de destino;

Page 19: Bacula - Software Livre para Backup em Rede

Bacula Director

Roda como serviço, e é responsável pela administração de todos os processos de backup, restauração, verificação e arquivamento;

É nele que podemos fazer o agendamento dos backups;

Tudo tem que ser configurado no arquivo bacula-

dir.conf ; Para agendar um backup, criamos uma tarefa (Job) no

arquivo .conf;

Page 20: Bacula - Software Livre para Backup em Rede

Bacula Director – bacula-dir.conf

Page 21: Bacula - Software Livre para Backup em Rede

Bacula Director – bacula-dir.conf

Page 22: Bacula - Software Livre para Backup em Rede

Bacula Director – bacula-dir.conf

Page 23: Bacula - Software Livre para Backup em Rede

Bacula Director – bacula-dir.conf

Page 24: Bacula - Software Livre para Backup em Rede

Bacula Director – bacula-dir.conf

Page 25: Bacula - Software Livre para Backup em Rede

Console Manager

É o terminal do Bacula, que recebe e processa os comandos do usuario. Faz a comunicação entre o administrador de redes e o Director;

Pode ser executado em sistemas operacionais

diferentes, com 3 versões: modo texto (TTy), interface gráfica Gnome ou interface gráfica wxWidgets (Unix e Windows);

Page 26: Bacula - Software Livre para Backup em Rede

Console Manager – bconsole.conf

Page 27: Bacula - Software Livre para Backup em Rede

Bacula File Daemon

Cliente do Bacula, roda em cada máquina que for participar de um trabalho de backup. Todo PC cliente deverá ter rodando o daemon, estabelecendo uma comunicação com o Director, que por sua vez gerencia todas essas comunicações;

Page 28: Bacula - Software Livre para Backup em Rede

Bacula File Daemon

Page 29: Bacula - Software Livre para Backup em Rede

Instalação do Bacula

1. Atualizar o apt-get:

Apt-get update 2. Instalar o banco de dados para o Catalog (PostgreSQL, MySQL, SQLite;

Apt-get install postgresql 3. Instalar o bacula

Apt-get install bacula;

Page 30: Bacula - Software Livre para Backup em Rede

Bacula com Microsoft SQL Server No Servidor Windows: Criar o ClientRunBeforeJob script: O script deverá ser um arquivo “.bat” do Windows (ex.: c:/bkpbanco.bat), com os comandos abaixo: "C:/Program Files/Microsoft SQL Server/100/Tools/Binn/osql.exe“ -U usuario_ banco -P senha_ banco -E -Q "BACKUP DATABASE mydatabase TO DISK='C:\ backup_ mssql\ mydatabase.bak' WITH FORM ...}

Page 31: Bacula - Software Livre para Backup em Rede

Bacula com Microsoft SQL Server No Servidor Linux: No bacula-dir.conf, no recurso “Job” específico para backup deste servidor, você deve configurar o Bacula para chamar o script criado:

Job { Name = Backup_ mssql_ server ClientRunBeforeJob = C:/bkpbanco.bat

Page 32: Bacula - Software Livre para Backup em Rede

Bacula com PfSense

#!/bin/bash # Altere o USUARIO e SENHA e o IP do servidor nas próxima linhas, caso use http no PfSense ao invés de https altere na linha 5 USUARIO="admin" SENHA="SENHA" URLSERVIDOR="https://192.168.1.1" BACKUP=/backup/Firewall/PfSense-` date +%d-%m-%Y` .xml wget -qO/dev/null --keep-session-cookies --save-cookies cookies.txt --post-data 'login=Login&usernamefld=$USUARIO&passwordfld=$SENHA' –-no-check-certificate $URLSERVIDOR/diag_ backup.php wget --keep-session-cookies --load-cookies cookies.txt --post-data 'Submit=download&donotbackuprrd=yes' $URLSERVIDOR/diag_ backup.php --no-check-certificate -O $BACKUP

Page 33: Bacula - Software Livre para Backup em Rede

Obrigado!