Montando um completo servidor de backup usando Bacula

Apresento o Bacula, poderosa plataforma cliente/servidor de backup. Com esse programa será possível implantar uma completa solução de cópia de dados em disco e/ou fita. Esse artigo tem caráter introdutório sobre o Bacula, servindo como referência na sua instalação e configuração. Quem busca uma ótima ferramenta de backup open source, completa em opções e de fácil configuração, Bacula é 10!

[ Hits: 330.955 ]

Por: Sandro Mendes em 29/12/2004


Configuração do Bacula



Como deu pra perceber, a instalação do Bacula é simples e sem complicações. Por padrão os arquivos de configurações ficam em /usr/local/etc. Agora é a hora da configuração do servidor e, para isso, deve-se entender sua estrutura organizacional. Divide-se em 3 partes:
  • o Director (bacula-dir.conf) é a parte mais complexa do sistema, afinal é a principal onde figura-se toda a configuração dos trabalhos de backup (job), agendamentos, pools, seleção do que fazer backup (FileSet), definição do tipo de armazenamento, etc. Enfim, é onde se configura os clientes e arquivos que irão fazer parte do backup, além de se comunicarem com os clientes e dispositivos de armazenamento.
  • File Daemon (bacula-fd.conf) representa uma espécie de agente, rodando em cada máquina que for participar de um trabalho de backup. Em resumo, todo cliente deverá ter rodando esse daemon, estabelecendo uma comunicação com o Director, que por sua vez gerencia todas essas comunicações.
  • Storage Daemon (bacula-sd.conf) é o arquivo de configuração do Bacula onde se insere os dispositivos de armazenamento, como fitas e discos. Esse daemon é responsável por estabelecer a comunicação com esses dispositivos.

Em resumo, a boa divisão das funções que compõem um serviço de backup do Bacula permite sua fácil configuração e administração. Para a configuração geral de um dado backup, edite o arquivo bacula-dir.conf; para configurar um cliente, é só editar o file daemon (bacula-fd.conf) na máquina que irá se comunicar com o servidor (onde se encontra a unidade de armazenamento); e para configurar o tipo de dispositivo que irá armazenar os trabalhos, é só editar o bacula-sd.conf.

Antes de iniciar a configuração desses 3 arquivos, deve-se ter em mente o sistema de backup que você irá adotar para sua empresa. Ele irá variar de acordo com a necessidade de negócio. Nesse artigo o exemplo de configuração será baseado no seguinte sistema:
  • Backup do próprio servidor, realizando a cópia completa de todos os sites hospedados, no período de Segunda à Sexta. Como deu pra perceber, configurei o Bacula no mesmo servidor Web, onde se encontra a unidade de dispositivo (fita DAT Sony SDT-9000).
  • Backup do servidor de e-mail, realizando a cópia de todas as pastas das contas existentes, também no mesmo período que o servidor Web. Esse é o cliente, rodando FreeBSD.

De acordo com os trabalhos definidos, agora é chegada a hora de configurar o Bacula para atender esses backups. Abaixo seguem os exemplos dos arquivos de configurações do servidor (onde se encontra a fita DAT). Não irei explicar todos os parâmetros de configuração, até porque são muitos. Como sempre, é só consultar o manual do Bacula para obter todas as informações sobre os recursos disponíveis.

Primeiro irei configurar o arquivo bacula-sd.conf, inserindo as principais diretivas sobre o dispositivo de armazenamento:

# vi /usr/local/etc/bacula-sd.conf

Storage {
  Name = "server-dir"
# por padrão o bacula já utiliza o nome do servidor em que foi instalado,
# nesse caso o director será identificado como server-dir

  SDPort = 9103
# porta de conexão com o daemon

  WorkingDirectory = "/var/db/bacula"
  PidDirectory =     "/var/run"
  SubSysDirectory =  "/var/db/bacula"
# diretórios utilizados pelo Bacula, também padrão
}

#
# List Directors who are permitted to contact Storage daemon
#

Director {
  Name = server-dir
  Password = "senha"
}


#
# Devices supported by this Storage daemon
# To connect, the Director must have the same Name and MediaType,
#  which are sent to the File daemon
#

Device {
  Name = "DDS-3"
  Media Type = DDS-3
  Archive Device = /dev/sa0
# nesse caso, o dispositivo configurado é uma fita DAT Sony SDT-9000,
# DDS-3. O caminho para acesso no FreeBSD é o /dev/sa0, portanto muita
# atenção para a configuração de acordo com seu sistema


  AutomaticMount = yes;  # when device opened, read it
  Offline On Unmount = yes
  AlwaysOpen = yes;
  RemovableMedia = yes;
  Hardware End of Medium = No
  BSF at EOM = yes
}

Messages {
  Name = Standard
  director = server-dir = all
  operator = root = mount
}
# mensagens também padrão

Agora é hora de configurar o bacula-fd.conf de nosso servidor, afinal ele também será backupeado. Em resumo, o único parâmetro alterado foi a conexão com o Director, onde você deve inserir a mesma senha cadastrada no

bacula-dir.conf

. Obviamente elas devem coincidir para que sejam estabelecidas as conexões entre o Director, seu cliente, e o dispositivo.

#
# Default Bacula File Daemon Configuration file
#
# There is not much to change here except perhaps the
# File daemon Name to
#

#
# List Directors who are permitted to contact this File daemon
#

Director {
  Name = server-dir
  Password = "senha"
}

#
# "Global" File daemon configuration specifications
#

FileDaemon {
  Name = ns2-fd
  FDport = 9102    
  WorkingDirectory = /var/db/bacula
  Pid Directory = /var/run
# arquivos de conexão com o daemon, também padrão
}

# Send all messages except skipped files back to Director
Messages {
  Name = Standard
  director = server-dir = all, !skipped
}

Como teremos 2 clientes, o próprio servidor e outra máquina, tendo seus dados backupeados é preciso configurar somente o file daemon (bacula-fd.conf) da máquina conectada em rede. Antes disso, é preciso instalar o Bacula com a opção -enable-only-client. Após essa etapa, é só editar o arquivo com as mesmas configurações acima. Depois é só startar seu daemon. Para ter certeza de que tudo está em ordem com esse cliente, certifique-se de que o daemon esteja rodando:

# ps awux | grep bacula
bacula    25934  0.0  0.7  3104 1892  ??  Ss   Mon03PM   0:23.72 /sbin/bacula-fd -v -c /usr/local/etc/bacula-fd.conf

Beleza, está funcionando. A porta 9102 está aberta, pronta pra estabelecer conexão com o servidor quando esse efetuar o backup.

Agora é chegada a hora de configurar o arquivo principal do Bacula, o Director. Nele iremos inserir os jobs, agendamentos, clientes e os arquivos a serem backupeados:

#
# Kerns Production Bacula Director Daemon Configuration file
#


Director {
  Name = server-dir
  DIRport = 9101     # where we listen for UA connections
  QueryFile = "/usr/local/etc/query.sql"
  WorkingDirectory = "/var/db/bacula"
  PidDirectory =     "/var/run"
  SubSysDirectory =  "/var/db/bacula"
  Maximum Concurrent Jobs = 2
# como teremos 2 jobs sendo executados num mesmo agendamento, a #parâmetro foi alterado. O padrão é 1.
  Password = senha
}


Schedule {
  Name = "Diario"
  Run = Level=Full Pool=SegundaPool Monday at 10:00pm
  Run = Level=Full Pool=TercaPool Tuesday at 10:00pm
  Run = Level=Full Pool=QuartaPool Wednesday at 10:00pm
  Run = Level=Full Pool=QuintaPool Thursday at 10:00pm
  Run = Level=Full Pool=SextaPool Friday at 10:00pm
# no agendamento, o backup será realizado
# de segunda à sexta, sempre às 22 horas. Criei um pool dos
# volumes para cada dia, afinal cada fita terá sua label
# para cada dia.

}

Job {
# essa é a configuração do trabalho do cliente, a maquina remota.
  Name = "Servidor NS1"
  Type = Backup
  Level = Full #backup do tipo full
  Client=ns1-fd #esse parâmetro será configurado logo abaixo
  FileSet="Server-NS1" #seleção do que será backupeado, também logo #abaixo
  Messages = Standard
  Storage = DDS-3 #dispositivo onde será armazenado o job
  Pool = Default
  Schedule = "Diario"
  Write Bootstrap = "/var/db/bacula/Client1.bsr"
  Priority = 10
}

Job {
  Name = "Servidor NS2-local"
  Type = Backup
  Level = Full
  Client=ns2-local
  FileSet="Server-NS2"
  Messages = Standard
  Storage = DDS-3
  Pool = Default
  Schedule = "Diario"
  RunAfterJob = "/usr/local/etc/ejeta_tape.sh" # esse parâmetro especifica a
  # execução de um comando após o término do job. Esse script faz com que a
  # mídia seja desmontada e ejetada. O script está disponível no término desse
  # arquivo.
  Write Bootstrap = "/var/db/bacula/Client1.bsr"
  Priority = 10
}

# Standard Restore template, to be changed by Console program
Job {
  Name = "RestoreFiles"
  Type = Restore
  Client= ns2-local
  FileSet="Full Set"
  Storage = DDS-3
  Messages = Standard
  Pool = Default
  Where = /tmp/bacula-restores
}

FileSet {
# insira os arquivos/diretórios que deverão ser copiados
  Name = "Server-NS2"
  Include = signature=MD5 {
     /www
  }
  Exclude = {
  # caso queira excluir algum diretório
  /www/data
  /tmp/* }
}

FileSet {
  Name = "Server-NS1"
  Include = signature=MD5 {
     /var/mail
  }
  Exclude = {
  /tmp/* }
}


FileSet {
  Name = "Full Set"
  Include = signature=MD5 {
     # @/etc/backup.list
  }
  Exclude = { }
}


# Definição do dispositivo de armazenamento
Storage {
  Name = DDS-3
  Address = 172.16.0.3 #atenção, coloque sempre o IP e não localhost
  SDPort = 9103
  Password = senha
  Device = "DDS-3" # deve ser o mesmo do que o especificado no
  # bacula-sd.conf
  Media Type = DDS-3    
}

# máquina local
Client {
  Name = ns2-local
  Address = localhost
  FDPort = 9102
  Catalog = BackupDB
  Password = senha
  File Retention = 30d   # 80 days
  Job Retention = 1y     # one year
  AutoPrune = yes        # Prune expired Jobs/Files
}

# máquina remota
Client {
  Name = ns1-fd
  Address = 172.16.0.2
  FDPort = 9102
  Catalog = BackupDB
  Password = senha
  File Retention = 30d  # 80 days
  Job Retention = 1y    # one year
  AutoPrune = yes       # Prune expired Jobs/Files
}

Catalog {
  Name = BackupDB
  dbname = bacula; user = bacula; password = ""
}

# o Bacula oferece o recurso de enviar os relatórios (logs)
# por e-mail. Para isso insira o seu servidor smtp e
# seu e-mail
Messages {
  Name = Standard
  mailcommand = "/home/bacula/bin/smtp -h servidor.smtp -f \"\(Bacula\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
  operatorcommand = "/home/bacula/bin/smtp -h servidor.smtp -f \"\(Bacula\) %r\" -s \"Bacula: Intervention needed for %j\" %r"
  MailOnError = [email protected] = all
  append = "/home/bacula/bin/log" = all
  operator = [email protected] = mount
  console = all
}
    

Pool {
  Name = Default
  Pool Type = Backup
  Recycle = yes    # Bacula can automatically recycle Volumes
  AutoPrune = yes  # Prune expired volumes
  Volume Retention = 1d # one year
}

Pool {
  Name = SegundaPool
  Pool Type = Backup
  Recycle = yes                      
  AutoPrune = yes                    
  Volume Retention = 6d # o volume poderá ser utilizado novamente
  # para backup após 6 dias
  Accept Any Volume = yes
}
Pool {
  Name = TercaPool
  Pool Type = Backup
  Recycle = yes                      
  AutoPrune = yes                    
  Volume Retention = 6d
  Accept Any Volume = yes
}

Pool {
  Name = QuartaPool
  Pool Type = Backup
  Recycle = yes                      
  AutoPrune = yes                    
  Volume Retention = 6d
  Accept Any Volume = yes
}

Pool {
  Name = QuintaPool
  Pool Type = Backup
  Recycle = yes                      
  AutoPrune = yes                    
  Volume Retention = 6d
  Accept Any Volume = yes
}

Pool {
  Name = SextaPool
  Pool Type = Backup
  Recycle = yes                      
  AutoPrune = yes                    
  Volume Retention = 6d
  Accept Any Volume = yes
}

Agora crie um script ejeta_tape.sh e salve em /usr/local/etc/. Não esqueça de definir permissão sobre esse arquivo para que o Bacula possa executá-lo.

#!/bin/sh

/usr/local/sbin/bconsole -c /usr/local/etc/bconsole.conf <<END_OF_DATA
unmount
quit
END_OF_DATA

Após a configuração desses 3 arquivos no servidor, o serviço Bacula deverá ser iniciado. No meu caso, a instalação criou o daemon que controla os serviços em /usr/local/etc/rc.d.

# bacula.sh start

Caso não haja erro de configuração, o Bacula será iniciado e pronto pra executar os trabalhos de backup. Para confirmar sua execução:

# ps awux | grep bacula
bacula 50839  0.0  0.4  3068 1864  ??  Ss    4:20PM   0:09.66 /usr/local/sbin/bacula-sd -u bacula -g operator -v -c /usr/local/etc/
root   50841  0.0  0.4  3024 1844  ??  Ss    4:20PM   0:20.00 /usr/local/sbin/bacula-fd -u root -g wheel -v -c /usr/local/etc/bacul
bacula 50845  0.0  0.5  5800 2564  ??  Ss    4:20PM   0:10.23 /usr/local/sbin/bacula-dir -u bacula -g bacula -v -c /usr/local/etc/b
root   53861  0.0  0.2  1448  848  p0  S+   11:40AM   0:00.00 grep bacula

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Configuração do Bacula
   3. Administrando o Bacula
   4. Considerações finais
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Introdução a criptografia

Cliente Linux no servidor LDAP

Análise de Malware em Forense Computacional

Servidores Proxy - Segurança da Informação

Wmap web scanner

  
Comentários
[1] Comentário enviado por fabio em 29/12/2004 - 23:13h

Excelente artigo, parabéns! Com certeza vou testar essa ferramenta aqui em casa e em clientes, ainda mais porque ela faz parte do repositório oficial da distribuição Debian:

# apt-cache search bacula

- bacula
- bacula-client
- bacula-console
- bacula-console-gnome
- bacula-director-mysql
- bacula-director-pgsql
- bacula-director-sqlite
- etc

[]'s

[2] Comentário enviado por jabuka em 30/12/2004 - 09:00h

Pessoal, gostaria de acrescentar um comando que ficou faltando no artigo. Segundo o apresentado, o backup será diário, com cada fita recebendo uma label. Porém, quando o trabalho se inicia, o dispositivo (no caso a fita) precisa estar montada; dai precisaríamos entrar no console e entrar com o comando mount.
Para automatizar esse processo, insira no bacula-dir.conf, dentro do parâmetro job (o primeiro a ser executado) a seguinte linha:
RunBeforeJob = "/usr/local/etc/monta_tape.sh"
Depois, é só criar esse script:
#!/bin/sh
/usr/local/sbin/bconsole -c /usr/local/etc/bconsole.conf <<END_OF_DATA
mount
quit
END_OF_DATA

Desculpem pela falha... espero ter ajudado :-)
Abraços
Sandro Mendes

[3] Comentário enviado por ThE_BoOt em 30/12/2004 - 10:20h

Excelente artigo, agora vamos ao aprofundamento... :) procurar a página oficial do bacula e ver se tem clientes para windows, se grava em cd, etc...

Parabens Sandro

[4] Comentário enviado por rjacomel em 30/12/2004 - 15:46h

Parabéns Sandro!

Excelente artigo! Baseado nele fiz uma configuração utilizando Red Hat 9 e BD MySQL com armazenamento dos backups em disco e deu tudo certo.

Valew

Ricardo Jacomel

[5] Comentário enviado por apscherbach em 27/10/2005 - 09:48h

Ótimo artigo.

Mas no caso, se eu quiser fazer o backup em um hd, eu tenho que criar um "dipositivo" para cada dia que o backup for ser executado? Na mesma estrutura das fitas usadas no artigo, só que com pastas em um hd?
É isso?

Adriano Scherbach

[6] Comentário enviado por removido em 03/10/2006 - 14:41h

ASPCHERBACH DA UMA SACADA E VE SE DA PRA ENTENDER, ESSES ARQUIVOS SAO PRA CRIAR OS VOLUMES NO HD,COMO VC QUERIA

######################################################################################
## ##
## bacular-dir.conf ##
## ##
######################################################################################

Director { # define myself
Name = slsjainfra-dir
DIRport = 9101 # where we listen for UA connections
QueryFile = "/etc/bacula/query.sql"
WorkingDirectory = "/work/bacula/working"
PidDirectory = "/var/run"
Maximum Concurrent Jobs = 1
Password = "teste" # Console password
Messages = Standard
}

# OBSERVACOES

# Pool 'PoolSeg...PoolSex' recebem os backups diarios. Tem retencao de 7 dias.

# Sequencia de definicao seguida no esquema deste arquivo de configuracao:
# 1) definicao de 'SCHEDULER'
# 2) definicao de 'JOB' e seu 'FILESET'
# 3) definicao de 'CLIENT'
# 4) definicao de 'STORAGE'
# 5) definicao de 'CATALOG'
# 6) definicao de 'MESSAGE'
# 7) definicao de 'POOL'


### DEFINICOES SCHEDULES #################################################################

#Schedule salteado, podendo fazer um full na segunda e na terca e os demais dias fazer incremental nesses volumes
Schedule {
Name = "Diario"
Run = Level=Full Pool=Pool_01 Monday at 08:46am # segunda, quarta e sexta incremental no memso pool
Run = Level=Full Pool=Pool_02 Tuesday at 08:46am # terca, quinta e sabado incremental
}

### DEFINICOES JOBS/FILESETS ############################################################

## Configuracoes genericas para a maioria dos JOBS
Job {
Name = "Backup_01"
Type = Backup
Level = Full
Schedule = "Diario"
# JobDefs = "DefaultJob"
Client = slsja0402-fd #############backup para o disco local###################
Messages = Standard
FileSet = "diarioFS"
Write Bootstrap = "/work/bacula/working/backup_02.bsr"
Priority = 1 # run after main backup
Storage = armlocal
Pool =Pool_01
}

Job {
Name = "Backup_02"
Type = Backup
Level = Full
Schedule = "Diario"
# JobDefs = "DefaultJob"
Client = slsja0402-fd #############backup para o disco local###################
Messages = Standard
FileSet = "diarioFS"
Write Bootstrap = "/work/bacula/working/Backup_02.bsr"
Priority = 1 # run after main backup
Storage = armlocal
Pool = Pool_02
}

#Este tipo de configuracao de File Set e feita para backup de clientes Windows
FileSet {
Name = "diarioFS"
Include {
Options {
compression= GZIP
IgnoreCase = yes
}
File = "c:/pacotes"
}
}
#----------------------------------------------------------------------------------------
###########JOBS DE RESTORE PARA SEREM USADOS NO CONSOLE###########################
Job {
Name = "Restaurar_01"
Bootstrap = "/work/bacula/working/backup_01.bsr"
Type = Restore
Client = slsja0402-fd
FileSet = "diarioFS"
Storage = armlocal
Messages = Standard
Pool = Pool_01
Where = ""
}

Job {
Name = "Restaurar_02"
Bootstrap = "/work/bacula/working/backup_02.bsr"
Type = Restore
Client = slsja0402-fd
FileSet = "diarioFS"
Storage = armlocal
Messages = Standard
Pool = Pool_02
Where = ""
}

## DEFINICOES DOS CLIENTES FILEDAEMON ####################################################
#RESPONSAVEL PELA COMUNICACAO COM O CLIENTE
Client {
Name = slsja0402-fd
Address = 192.168.0.165
FDPort = 9102
Catalog = MyCatalog
Password = "teste" # password for FileDaemon
File Retention = 2 months
Job Retention = 2 months
AutoPrune = yes # Prune expired Jobs/Files
}

# Definiton of file storage device #######################################################
Storage {
Name = armlocal
Address = slsjainfra
SDPort = 9103
Password = "teste"
Device = dev-arquivo
Media Type = File
Autochanger = yes
}

Catalog {
Name = MyCatalog
dbname = bacula; user = bacula; password = ""
}

Messages {
Name = Standard
console = all, !skipped, !saved
append = "/work/bacula/working/log" = all, !skipped
}

#----------------------------------------------------------------------------------------
# Default pool definition

# Pool para backup na Segunda com retencao de 7 dias
Pool {
Name = Pool_01
Pool Type = Backup
Recycle = yes # Bacula can automatically recycle Volumes
AutoPrune = yes # Prune expired volumes
Volume Use Duration = 23h
LabelFormat = "Vol"
Volume Retention = 90 days #
Accept Any Volume = yes # write on any volume in the pool
}

#----------------------------------------------------------------------------------------
# Pool para backup na Terca com retencao de 7 dias
Pool {
Name = Pool_02
Pool Type = Backup
Recycle = yes # Bacula can automatically recycle Volumes
Volume Use Duration = 23h
LabelFormat = "Vol"
AutoPrune = yes # Prune expired volumes
Volume Retention = 90 days #
Accept Any Volume = yes # write on any volume in the pool
}
#---------------------------------------------------------------------------------------

************************************************************

################################################################
# Default Bacula Storage Daemon Configuration file #
################################################################
# For Bacula release 1.38.4 (14 January 2006) -- redhat (Stentz)
#
# You may need to change the name of your tape drive
# on the "Archive Device" directive in the Device
# resource. If you change the Name and/or the
# "Media Type" in the Device resource, please ensure
# that dird.conf has corresponding changes.
#

Storage { # definition of myself
Name = slsjainfra-sd
SDPort = 9103 # Director's port
WorkingDirectory = "/var/bacula"
Pid Directory = "/var/run"
Maximum Concurrent Jobs = 20
}

#
# List Directors who are permitted to contact Storage daemon
#
Director {
Name = slsjainfra-dir
Password = "teste"
}

# Devices supported by this Storage daemon
# To connect, the Director's bacula-dir.conf must have the
# same Name and MediaType.
#

Device {
Name = dev-arquivo
Media Type = File
Archive Device = /etc/bacula/backup
LabelMedia = yes; # lets Bacula label unlabeled media
Random Access = Yes;
AutomaticMount = yes; # when device opened, read it
RemovableMedia = no;
AlwaysOpen = no;
SpoolDirectory = /tmp/backup;
LabelMedia = yes;
}
#Posso criar outros devices de outros clientes para outros clientes,com LabelMedia=yes tambem, nos mesmos pool diarios,
#mas com nomes de volumes diferentes.
#Device {
# Name = DDS3
# Description = "DDS-3 for Fedora"
# Media Type = DDS-3
# Archive Device = /dev/st0
# AutomaticMount = yes; # when device opened, read it
# AlwaysOpen = yes;
# Offline On Unmount = no;
# Hardware End of Medium = no;
# BSF at EOM = yes;
# Backward Space Record = no;
# Fast Forward Space File = no;
# TWO EOF = yes;
#}

Device {
Name = DDS3
Media Type = DDS-3
Archive Device = /dev/st0
AutomaticMount = yes; # when device opened, read it
Offline On Unmount = yes
AlwaysOpen = yes;
RemovableMedia = yes;
Hardware End of Medium = No
BSF at EOM = yes
}

# Send all messages to the Director,
# mount messages also are sent to the email address
Messages {
Name = Standard
director = slsjainfra-dir = all
operator = root = mount
}

************************************************************

#################################################################
# Default Bacula File Daemon Configuration file #
#################################################################
# For Bacula release 1.38.4 (14 January 2006) -- redhat (Stentz)
#
# There is not much to change here except perhaps the
# File daemon Name to
#

#
# List Directors who are permitted to contact this File daemon
#
Director {
Name = slsjainfra-dir
Password = "teste"
}

#
# Restricted Director, used by tray-monitor to get the
# status of the file daemon
#
Director {
Name = slsjainfra-dir
Password = "teste"
Monitor = yes
}

#
# "Global" File daemon configuration specifications
#
FileDaemon { # this is me
Name = slsjainfra-fd
FDport = 9102 # where we listen for the director
WorkingDirectory = /var/bacula
Pid Directory = /var/run
Maximum Concurrent Jobs = 20
}

# Send all messages except skipped files back to Director
Messages {
Name = Standard
director = slsjainfra-dir = all, !skipped
}

[7] Comentário enviado por c.rafael em 04/01/2008 - 10:44h

OPa, ...

vc já usaram SNMP no bacula? Quero monitotar o mesmo, mas quando do o comando: "./configure --help" não aparece nada sobre SNMP.

Alguém saberia me dizer como eu faço?

[8] Comentário enviado por tecnoplace em 10/03/2008 - 13:23h

amigos eu fiz as configuracoes ai mas o meu bacula director daemon esta como down. uso o webadmin para administrar o servidor linux. qdo eu mando reiniciar o bacula aparece a seguinte mensagem.
Failed to start Bacula : No init script found for bacula-dir
o q pode ser???

[9] Comentário enviado por timbeh em 19/05/2008 - 10:34h

Como faço para ter um storage em outro servidor?
Obrigado!

[10] Comentário enviado por anakoliveira em 11/06/2008 - 15:10h

Sandro, excelente artigo. Estou tentando configurar o Bacula aqui na empresa, porém estou encontrando algumas dificuldades.

1º Utilizo o Fedora 8;
2º Banco Postgre;
3º Configurei o banco e os arquivos da maneira como orientou, porém ao subir os serviços, ocorre o erro: "Starting bacula-dir: grep: /etc/bacula/bacula-dir.conf: Arquivo ou diretório não encontrado
11-Jun 15:01 bacula-dir: ERROR TERMINATION at parse_conf.c:819
Config error: Cannot open config file "/etc/bacula/bacula-dir.conf": Arquivo ou diretório não encontrado [FALHOU]". Este erro ocorre para os 3 serviços;
4º Outra coisa, quero configurar o meu backup para armazenar em uma unidade externa (HD), como faço?

Aguardo resposta.

Um abraço,

Ana Carpes
[email protected]

[11] Comentário enviado por desenvolvedormg em 12/06/2008 - 14:21h

Opa, muito boa a matéria me ajudou e muito.
Porem ainda estou com algumas dificuldades.

Seguinte, tenho um script que ja cria um backups do meu banco de dados e das pastas dos scripts.

Ele funfa da seguinte forma.. A cada 1 hora crio 1 backup full do banco de dados e limito o numero de arquivos que irei guardar a 24 arquivos...
Já os scripts eu crio um backup full todo dia e limito a 7 arquivos. entao eu tenho 1 arquivo por semana..

Porem esses backups ficam muito grandes, entao queria fazer da seguinte forma... continuar com 24 arquivos para o banco de dados backpeando a cada 1 hora(No bacula eu nao consegui separar os backups, todos os backups estao indo para o mesmo volume, entao 1 acaba subistituindo o outro).... ja os scripts eu queria backupear 1 full a cada segunda feira e incremental durante a semana(Consegui fazendo 1 pool para cada dia da semana, porem quando chega na outra segunda eu perco o full da semana passada ai nao faz sentido existirem os incrementais...).

A minha duvida é a seguinte... como faço para que assim que fechar a semana eu mudar de volume e assim que chegar a um tanto de volumes eu voltar para o inicio e começar a sequencia dnovo?


Forte abraço.

Wladiston Paiva
[email protected]

[12] Comentário enviado por jacoramos em 06/08/2008 - 10:58h

Pessoal bom dia..

Amigos nao sei se na minha fita está gravando por cima ou continuando a gravacao de onde parou ..

Dei um: list volumes
Pool: Quarta
+---------+------------+-----------+---------+----------+----------+--------------+---------+------+-----------+-----------+---------------------+
| MediaId | VolumeName | VolStatus | Enabled | VolBytes | VolFiles | VolRetention | Recycle | Slot | InChanger | MediaType | LastWritten |
+---------+------------+-----------+---------+----------+----------+--------------+---------+------+-----------+-----------+---------------------+
| 13 | VQUARTA | Append | 1 | 129,024 | 1 | 518,400 | 1 | 0 | 0 | DAT-72 | 2008-08-06 08:59:29 |
+---------+------------+-----------+---------+----------+----------+--------------+---------+------+-----------+-----------+---------------------+

E em VolStatus = Append , parece que esta gravando na sequencia e nao por cima como prentendo..

Vcs me confirma isso que falei ???

Ou por default a gravacao na fita já sobrescreve o conteudo existente ??w

Grato.

Jacó Ramos

[13] Comentário enviado por jacoramos em 14/08/2008 - 09:41h

Pessoal tem um forum muito legal do bacula no link:

http://forum.tambis.org/viewforum.php?f=13

Grato.

Jacó Ramos

[14] Comentário enviado por jacoramos em 14/08/2008 - 09:44h

Pessoal acho que a minha reciclagem automatica nao está funcionando.

Hoje sao quarta dia 13 e quando dou um *list volumes veja o que retorna:

Pool: Quarta
+---------+------------+-----------+---------+---------------+----------+--------------+---------+------+-----------+-----------+---------------------+
| MediaId | VolumeName | VolStatus | Enabled | VolBytes | VolFiles | VolRetention | Recycle | Slot | InChanger | MediaType | LastWritten |
+---------+------------+-----------+---------+---------------+----------+--------------+---------+------+-----------+-----------+---------------------+
| 13 | VQUARTA | Append | 1 | 1,281,595,392 | 3 | 518,400 | 1 | 0 | 0 | DAT-72 | 2008-08-06 22:02:21 |
+---------+------------+-----------+---------+---------------+----------+--------------+---------+------+-----------+--------


Veja que a ultima vez que escrevi foi dia 06 - na quarta passada. E o status continua Append.

Não era pra estar com outro status pois ja se passaram os 6 dias lá da configuracao do Pool.

Veja meu Pool de Quarta:

Pool {
Name = Quarta
Pool Type = Backup
AutoPrune = yes
Volume Retention = 6 days
Recycle = Yes
}


Alguem tem alguma dica do que possa ser checado pra ver se a reciclagem esta funcionando /????


Grato.

Jacó Ramos

[15] Comentário enviado por gordux em 19/11/2008 - 16:39h

Senhores,
Estou com um problema que é o seguinte, estou fazendo um teste com o bacula e coloquei o schedule full para rodar 1:00pm e um Incremental 1:30pm, tudo na quarta.
Ele rodou o full certinho depois ele rodou o incremental também certinho, ae para testar eu mudei a hora do full e do incremental, ae ele rodou somente o Incremental, Porque?, porque ele não rodou o full também??

Grato

[16] Comentário enviado por FireBird em 19/05/2009 - 23:40h

Opa... E ae cara... montei 1 bacula aki esses dias e to com 1 problema...

O automatic recycling dele nao ta funfando... c sabe como faço pra fazer manual?

[17] Comentário enviado por davirodrigues em 21/05/2009 - 11:15h

jabuka instalei um bacula aqui, só que estou com um problema, segue abaixo o mesmo, vê se vc pode me ajudar, ou alguem que tenha passado por isso:

*status
Status available for:
1: Director
2: Storage
3: Client
4: All
Select daemon type for status (1-4): 2
Automatically selected Storage: File
Connecting to Storage daemon File at 127.0.0.1:9103

cilindro-sd Version: 2.2.8 (26 January 2008) i486-pc-linux-gnu debian lenny/sid
Daemon started 21-May-09 11:02, 0 Jobs run since started.
Heap: heap=221,184 smbytes=10,833 max_bytes=76,108 bufs=59 max_bufs=62
Sizes: boffset_t=8 size_t=4 int32_t=4 int64_t=8

Running Jobs:
No Jobs running.
====

Jobs waiting to reserve a drive:
====

Terminated Jobs:
JobId Level Files Bytes Status Finished Name
===================================================================
1 Full 0 0 Error 19-May-09 14:37 Client1
8 Full 0 0 OK 21-May-09 09:36 Cpd02
10 Full 0 0 Cancel 21-May-09 09:48 Cpd02
====

Device status:
Device "storage" (/mnt/backup) is not open. <<<<<< # Esse é o problema, ele sempre fica assim, ja não sei o que fazer...
====

In Use Volume status:
====

====

[18] Comentário enviado por brunonunes em 11/12/2009 - 11:38h

davirodrigues tive o mesmo problema que o seu, após execuçao de um job ele desmonta a fita, resolvi esse problema configurando a opçao automount on na console de config do bacula....


estou com um problema referente ao tamanho do meu volume de dados que é maior que o tamanho das fitas que utilizo DDS-5 72 Gb..

oq sugerem como soluçao para um backup full, utilizar um pool de fitas ou utilizar uma estrategia diferente de backup full.

[19] Comentário enviado por Jeparre em 30/12/2009 - 15:37h

Olá Pessoal.
Por favor, alguém poderia me ajudar.

Quando dou start no bacula aparece o seguinte erro: ERROR TERMINATION at dird_conf.c:1352 mediatype item is required in storage resource, but not found.

Meu bacula-sd:
Storage {
Name = server-sd
SDPort = 9103
WorkingDirectory = "/var/bacula/working"
Pid Directory = "/var/run"
Maximum Concurrent Jobs = 1
}
Director {
Name = server-dir
Password = "senha"
}
Device {
Name = HD
Device Type = File
Media Type = File
Archive Device = /media/DADOS/Backup
SpoolDirectory = /media/DADOS/Backup/tmp;
LabelMedia = yes;
Random Access = Yes;
AutomaticMount = yes;
RemovableMedia = no;
AlwaysOpen = no;
}
Messages {
Name = Standard
director = server-dir = all
}

Desde já agradeço!!
Valeu!

Contato: [email protected]

[20] Comentário enviado por tiago.pacato em 25/03/2010 - 10:15h

Instalei o servidor bacula em uma maquina normal com hds de 250 gb, os backups estão sendo feitos normalmente, os catalagos criados, tudo ok. a dúvida é, para passar os backups que ja foram feitos nessa maquina para uma maquina nova que acabamos de adquirir, o que eu poderia fazer? para não perder o que ja foi feito no servidor bacula antigo.

Grato!


contato: [email protected]

[21] Comentário enviado por JJSantos em 11/03/2017 - 01:19h


[20] Comentário enviado por tiago.pacato em 25/03/2010 - 10:15h

Instalei o servidor bacula em uma maquina normal com hds de 250 gb, os backups estão sendo feitos normalmente, os catalagos criados, tudo ok. a dúvida é, para passar os backups que ja foram feitos nessa maquina para uma maquina nova que acabamos de adquirir, o que eu poderia fazer? para não perder o que ja foi feito no servidor bacula antigo.

Grato!


contato: [email protected]


Copiar as configuração, ou faz uma imagem do servidor.


Contribuir com comentário