Escolar Documentos
Profissional Documentos
Cultura Documentos
Instalação Do Bacula em Servidor Debian Squeeze
Instalação Do Bacula em Servidor Debian Squeeze
DEBIAN SQUEEZE
Objetivo: Realizar a implementao de um servidor de backup utilizando a ferramenta Bacula
Backup integrando seu servio com o gerenciamento web do servio Webmin. A instalao ser
feita em um servidor com Debian Squeeze.
Ambiente de Instalao:
Linux Debian Squeeze 6.0.6
Hostname: bacula / bacula.tidahora.com.br
IP Backup: 10.106.0.200
Parties:
/ = 4.6 Gbb
/boot = 276 Mb
/tmp = 1.9 Gb
/usr = 7.4 Gb
/var = 7.4 Gb
/var/log = 6.4 Gb
/srv/backup = 2.0 Tb
Pacotes Necessrios no Servidor:
- htop
- vim
- dstat
- postfix
ndice
1.
2.
3.
4.
5.
5.1 libmysqld-dev
_______________________________________________________________________
<Ok>
Configurando mysql-server-5.1
__________________________________________________________
<Ok>
2. INSTALAO DO BACULA
Instalao dos pacotes para configurao do Bacula:
apt-get -y install bacula-server bacula-sd bacula-fd bacula-sd-mysql baculadirector-mysql bacula-console bacula-director-common bacula-common-mysql baculacommon bacula
If you are an advanced database administrator and know that you want to perform
this
you should refuse this option. Details on what needs to be done should most
likely be
provided in /usr/share/doc/bacula-director-mysql.
<Yes>
<No>
Please provide the password for the administrative account with which this
package
****______________________________________________________________________________
__
<Ok>
<Cancel>
Redigite a senha:
Configuring bacula-director-mysql
****______________________________________________________________________________
_
<Ok>
<Cancel>
Password confirmation:
____________________________________________
<Ok>
<Cancel>
Como j temos o login criado para o bacula, vamos alterar a senha do usurio no MySQL:
mysql> SET PASSWORD FOR 'bacula'@'localhost' = PASSWORD('SENHA');
Query OK, 0 rows affected (0.00 sec)
Caso o usurio no tenha sido criado, faa o procedimento abaixo. Vamos criar o usurio 'bacula' com a
senha 'SENHA'
Fazendo backup dos arquivos originais do Bacula. Crie uma pasta em /root/.
mkdir /root/bacula/
O Bacula tem a opo de trabalhar resolvendo nomes dos seus clientes, podendo ser por ou pelo
arquivo hosts. Para testes vamos utilizar o Hosts. Antes de dar sequencia a configurao vamos
ajustar o arquivo '/etc/hosts' com o nome do nosso servidor:
vi /etc/hosts
localhost
bacula
5. CONFIGURANDO O DIRECTOR
Criando o arquivo bacula-dir.conf com as configuraes j ajustadas: Por padro o Bacula vem com
as opes de FileSets?, Shedules, e clientes no seu arquivo principal, o bacula-dir.conf, para melhor
administrao do servio ns vamos separar essas opes para um novo arquivo, cada funo ter seu
arquivo de configurao, mantendo assim o gerenciamento de forma mais limpa.
vi /etc/bacula/bacula-dir.conf
############################################
# ARQUIVO DE CONFIGURACAO PADRAO DO BACULA #
############################################
# DEFININDO O 'DIRECTOR' #
Director {
Name = bacula-dir
DIRport = 9101
Bacula
QueryFile = "/etc/bacula/scripts/query.sql"
WorkingDirectory = "/var/lib/bacula"
Bacula
PidDirectory = "/var/run/bacula"
Maximum Concurrent Jobs = 1
Execucao
Password = "Cv70F6pf1t6pBopT4vQOnigDrR0v3L"
Bconsole
Messages = Daemon
}
# Porta de Comunicacao do
# Script de Query
# Diretrio de Trabalho do
# PID do Bacula
# Maximo de Backups em
# Senha para ajustar no
# Nivel de mensagens
HD)
Maximum Concurrent Jobs = 10
executados nessa Storage.
}
Pool {
Name = Scratch
Pool Type = Backup
}
#
# Restricted console used by tray-monitor to get the status of the director
#
#Console {
# Name = bacula-mon
# Password = "S91uKqybG5NXwiCbzPYMg5Cfp0o7mW4Ze"
# CommandACL = status, .status
#}
O Prximo passo ajustar os arquivos que fazem referncias para FileSets, Agendamentos e Clientes.
Arquivo que contm informaes de clientes e jobs do Bacula: - /etc/bacula/bacula-dir-clients-andjobs.conf
vi /etc/bacula/bacula-dir-clients-and-jobs.conf
###################################################
## ARQUIVO DE CONFIGURACAO PARA CLIENTES E JOBS ##
###################################################
# JOB PADRAO PARA O BACULA SERVER #
JobDefs {
Name = "DefaultJobs"
# Nome do Job Padrao
Type = Backup
# Tipo de Job (Backup,
Restore, Verificacao)
Level = Incremental
# Nivel do Job (Full,
Incremental, Diferencial)
Client = bacula-fd
# Nome do Cliente FD
FileSet = "Full Set"
# File Set Definido para
Esse Job
Schedule = "WeeklyCycle"
# Agendamento Definido
para Esse Job
Storage = File
# Define Storage
Messages = Standard
# Nivel de mensagens
Pool = File
# Define a Pool
Priority = 10
# Qual o nivel de
Prioridade
Write Bootstrap = "/var/lib/bacula/%c.bsr"
# Arquivo gerado pelo
Bacula para armazenar informacoes de backups feitos em seus clientes.
# AS OPCOES ABAIXO EVITAM QUE SEJAM DUPLICADO JOBS NO SERVIDOR, CASO TENHA UM JOB
DUPLICADO O MESMO E CANCELADO
Allow Duplicate Jobs = no
# Permite Jobs Duplicados
Cancel Lower Level Duplicates = yes
# Cancela niveis
inferiores duplicados
}
# JOB DE BACKUP PARA OS SERVIDORES WINDOWS SERVER #
JobDefs {
Name = "DefaultWindows"
Servidores Windows
Type = Backup
Restore, Verificacao)
Level = Incremental
Incremental, Diferencial)
Client = bacula-fd
# Nome do Cliente FD
FileSet = "Full Set"
# File Set Definido para
Esse Job
Schedule = "WeeklyCycle"
# Agendamento Definido
para Esse Job
Storage = File
# Define Storage
Messages = Standard
# Nivel de mensagens
Pool = File
# Define a Pool
Priority = 10
# Qual o nivel de
Prioridade
Write Bootstrap = "/var/lib/bacula/%c.bsr"
# Arquivo gerado pelo
Bacula para armazenar informacoes de backups feitos em seus clientes.
# AS OPCOES ABAIXO EVITAM QUE SEJAM DUPLICADO JOBS NO SERVIDOR, CASO TENHA UM JOB
DUPLICADO O MESMO E CANCELADO
Allow Duplicate Jobs = no
# Permite Jobs Duplicados
Cancel Lower Level Duplicates = yes
# Cancela niveis
inferiores duplicados
}
# JOB DE BACKUP DO CATALOGO #
Job {
Name = "BackupCatalogo"
# Nome do Job Para Backup do Catalogo
JobDefs = "DefaultJobs"
# JobDefs usado para operacao
Level = Full
# Nivel do Job (Full, Incremental, Diferencial)
FileSet = "Catalogo"
# File Set Definido para Esse Job
Schedule = "WeeklyCycleAfterBackup"
# Agendamento Definido para Esse Job
RunBeforeJob = "/etc/bacula/scripts/make_catalog_backup.pl Catalogo"
# Acao executada antes da operacao
Write Bootstrap = "/var/lib/bacula/%c.bsr"
# Arquivo gerado pelo Bacula para armazenar informacoes de backups feitos em seus
clientes.
Priority = 11
# Executar depois do Backup - ajustar prioridade
}
# JOB DE RESTAURACAO - (RESTORE) - SO E PRECISO ESSE JOBS PARA RESTAURACAO DE
BACKUP #
Job {
Name = "RestoreFiles"
#
Nome do Job Para Restore
Type = Restore
#
Tipo de Job (Backup, Restore, Verificacao)
Client = bacula-fd
#
Nome do Cliente FD
FileSet = "Full Set"
#
File Set Definido para Esse Job
Storage = File
#
Agendamento Definido para Esse Job
Pool = File
#
Define a Pool
Messages = Standard
#
Nivel de mensagens
Where = /tmp/bacula-restores
Diretorio onde o bacula ira restaurar os arquivos nos clientes
}
#######################################################################
## AQUI VAMOS DEFINIR OS CLIENTES E JOBS PARA CADA CLIENTE ADICIONADO #
#######################################################################
## ------------------------------------------------------------------- ##
# JOB DE BACKUP PARA O DIRECTOR DO BACULA
# HOSTNAME: bacula.tidahora.com.br
# IP: 10.106.0.200
Job {
Name = "BackupDirector"
Backup do Director (Proprio Servidor Bacula)
JobDefs = "DefaultJobs"
Client = bacula-fd
}
Client {
Name = bacula-fd
# Cliente fd
Address = bacula.tidahora.com.br
# Ajustado no /etc/hosts
Password = "ExgYbEinJWMf7lsWPBcpffZaNMmiGcbgp"
# Senha do Director do
Bacula
@/etc/bacula/clientes/bacula.tidahora.com.br.client # Arquivo onde contem
informacoes sobre o cliente.
}
## -------------------------------------------------------------------- ##
# Nome do FileSets
ignorados ao backup
=
=
=
=
=
/var/lib/bacula
/proc
/tmp
/.journal
/.fsck
Vamos criar o arquivo onde vamos ajustar os agendamentos de backup, esse arquivo contm
informaes de horrios de rotinas de backups.
vi /etc/bacula/bacula-dir-agendamento.conf
#################################################################
## ARQUIVO DE CONFIGURACAO DE AGENDAMENTO DE TAREFAS DO BACULA ##
#################################################################
# DEFINICOES DE AGENDAMENTO DOS BACKUPS #
# AGENDAMENTO PADRAO DO BACULA - CICLO SEMANAL DE BACKUP #
Schedule {
Name = "WeeklyCycle"
# Ciclo Semanal de Backup
Run = Full 1st sun at 23:05
# Backup Full no Primeiro Domingo
do Mes as 23:05 hrs
Run = Differential 2nd-5th sun at 16:50
# Backup Diferencial de Seg. a
Sabado as 23:05 hrs
Run = Incremental mon-sat at 10:30
# Backup Incremental de Seg. a
Vamos agora criar o diretrio onde vai ficar armazenados os arquivos com informaes bsicas de
nossos clientes:
Crie o diretrio clientes:
mkdir /etc/bacula/clientes
Antes de adicionar um cliente ao bacula vamos criar o arquivo de storage de backup. Criando o arquivo
de Storage do backup:
vim /etc/bacula/bacula-sd.conf
##############################################################
# ARQUIVO PADRAO DE CONFIGURACAO DE STORAGE DO BACULA
#
##############################################################
Storage {
Name = bacula-sd
SDPort = 9103
WorkingDirectory = "/var/lib/bacula"
Pid Directory = "/var/run/bacula"
Maximum Concurrent Jobs = 20
SDAddress = bacula.tidahora.com.br
Bacula
# SDAddress = 127.0.0.1
para nao fazer loopback
}
#
#
#
#
#
#
Nome do Storage
Porta do Director
Diretorio de Trabalho
Pid do Bacula
Maximo de Backups em Execucao
Nome ou IP do Storage do
#
# List Directors who are permitted to contact Storage daemon
#
Director {
Name = bacula-dir
Password = "LE_T_-c_55qu1f777Dm52map-s3xpgR4q"
}
#
# Restricted Director, used by tray-monitor to get the
#
status of the storage daemon
# Usado pelo tray-monitor do bacula para obter status do servidor
Director {
Name = bacula-mon
Password = "kNuOgEZUq2pqP6hRqPHMHm7UyxCOG1LBf"
Monitor = yes
}
# ABAIXO DEFINIMOS O NOME, TIPO, E O DIRETRIO DE ARQUIVOS DO BACULA
Device {
Name = FileStorage
Media Type = File
Archive Device = /srv/backup
de backup
LabelMedia = yes;
Random Access = Yes;
AutomaticMount = yes;
RemovableMedia = no;
AlwaysOpen = no;
}
# Nome do Device
# Tipo de Midia (DVD, CD, HD, FITA)
# Diretorio onde serao salvos os volumes
#
#
#
#
#
#
# Send all messages to the Director,
# mount messages also are sent to the email address
#
Messages {
Name = Standard
director = bacula-dir = all
}
Aps criado o arquivo vamos criar o diretrio de backup ajustado no arquivo acima:
mkdir /srv/backup
Para que o bacula consiga fazer seu prprio backup, precisamos ajustar o arquivo de cliente para ele:
Crie o arquivo abaixo:
vi /etc/bacula/bacula-fd.conf
##############################################################
# ARQUIVO DE CONFIGURACAO DO FILE DAEMON DO BACULA
#
##############################################################
#
# List Directors who are permitted to contact this File daemon
#
Director {
Name = bacula-dir
# Nome do Director
Password = "ExgYbEinJWMf7lsWPBcpffZaNMmiGcbgp"
# ESTA SENHA ESTA DEFINIDA NO
ARQUIVO DE CLIENTE EM /ETC/BACULA/BACULA-DIR-CLIENTS-AND-JOBS.CONF
}
#
# Restricted Director, used by tray-monitor to get the
#
status of the file daemon
#
Director {
Name = bacula-mon
Password = "z27BNYXA9dx1SZWk1vp-kSZ8azwz2HMS8"
# ESTA SENHA E UTILIZADO PELO
BACULA-MONITOR
Monitor = yes
}
#
# "Global" File daemon configuration specifications
#
FileDaemon {
Name = bacula-fd
#
FDport = 9102
#
bacula-fd
WorkingDirectory = /var/lib/bacula
#
Pid Directory = /var/run/bacula
#
Maximum Concurrent Jobs = 20
#
executados no bacula
# FDAddress = 127.0.0.1
#
LINHA PARA QUE ELE POSSA 'OUVIR' CONEXOES EM TODAS AS
}
Nome do Bacula-fd
Porta de Comunicacao do
Diretorio de trabalho
Diretorio de Pid
Numero maximo de jobs
COMENTAR OU REMOVER ESSA
INTERFACES
Feito isso vamos criar o arquivo de cliente com as informaes de catalogos para o nosso bacula:
vi /etc/bacula/clientes/bacula.tidahora.com.br.client
##########################################################
## ARQUIVO PARA CONFIGURACAO DE CLIENTE LINUX NO BACULA ##
##########################################################
definido
Backup
Catalog = Catalogo
# Nome do Catalogo
# Tempo de Retencao do
Agora que temos os arquivos criados, vamos alterar as permisses deles e do diretrio onde o Bacula
ir armazenar os Volumes de backup.
Abaixo, segue lista dos arquivos que criamos.
bacula:bacula
bacula:bacula
bacula:bacula
bacula:bacula
bacula:bacula
bacula:bacula
bacula:bacula
bacula:bacula
bacula-dir-clients-and-jobs.conf
bacula-dir-filesets.conf
bacula-dir-agendamento.conf
bacula-dir.conf
bacula-fd.conf
bacula-sd.conf
clientes
clientes/*