você está aqui: Home  → Arquivo de Mensagens

Bacula - Gestão de Backup Distribuida - Prática

Colaboração: Alexandro Silva

Data de Publicação: 30 de março de 2010

Existe uma vasta terminologia usada no Bacula. Para mais informações acesse Terminology

Ele é um sistema totalmente distribuido sendo formado por 3 daemons (Director, Storage e FileDaemon). Os 2 primeiros não necessariamente precisam estar em máquinas separadas, enquanto que o FD precisa ser instalado em todas as máquinas clientes.

Bacula Director

Responsável por supervisionar todas as operações de backup, restauração, verificação e as operações dos arquivos.

Bacula Storage

Responsável pelo armazenamento, leitura e escrita em fita ou outros meios de armazenamento, por exemplo arquivos.

Bacula File Daemon

Este é o cliente do Bacula.

Instalação e Configuração Básica

Agora apresentarei de uma forma bem simples a instalação e configuração do Bacula. Recomendo uma profunda leitura da documentação. O bom entendimento de sua infra-estrutura e da política adotada facilitará muito na configuração e manutenção da rotina de backup.

No Debian a instalação desta ferramenta é bastante simples. Execute o comando abaixo para instalar todos os daemons:

  aptitude install bacula-director bacula-sd bacula-fd

Configurando o Bacula Director

Edite o arquivo /etc/bacula/bacula-dir.conf

  Director {                 # define myself
  Name = backup-dir
  DIRport = 9101             # where we listen for UA connections
  QueryFile = "/etc/bacula/scripts/query.sql"
  WorkingDirectory = "/var/lib/bacula"
  PidDirectory = "/var/run/bacula"
  Password = "Console/iA6pwbPuT2zUt/hbyE2123123132123" # Console password
  Messages = Daemon
  DirAddress = 123.123.123.123
  }
  
  ## Clients
  
  Job {
  Name = "Job-server-01"
  Client = server-01-fd
  Type = Backup
  FileSet = "Server 01 Set"
  Schedule = "PeriodicidadeSemanal"
  Messages = Standard
  Pool = Default
  Full Backup Pool = "Full_server-01"
  Differential Backup Pool = "Diff_server-01"
  Write Bootstrap = "/var/lib/bacula/server-01_new.bsr"
  }
  
  ## Backup Catalog
  
  Job {
  Name = "BackupCatalog"
  Client = server-2-fd
  Type = Backup
  FileSet="Catalog"
  Schedule = "PeriodicidadeSemanalCatalog"
  Messages = Standard
  Storage = Storage-Server2
  Pool = "Catalog_Backup"
  RunBeforeJob = "/etc/bacula/scripts/make_catalog_backup bacula"
  RunAfterJob  = "/etc/bacula/scripts/delete_catalog_backup"
  Write Bootstrap = "/var/lib/bacula/BackupCatalog_new.bsr"
  }
  
  ## Restore Job
  
  Job {
  Name = "Server-01_Restore"
  Type = Restore
  Client = server-01-fd
  FileSet = "Server 01 Set"
  Pool = Default
  Messages = Standard
  Where = "/var/bacula/restore/b_server-01"
  Bootstrap = "/var/lib/bacula/server-01_new.bsr"
  }
  
  # Backup Files
  
  FileSet {
  Name = "Server 01 Set"
  Include {
    Options {
      signature = MD5
      compression = GZIP
    }
    File = /etc
    File = /var/bkpdb
  }
  Exclude {
    File = /tmp
  }
  }
  
  #Schedules
  
  Schedule {
  Name = "PeriodicidadeSemanal"
  Run = Level=Full on sun at 23:00
  Run = Level=Differential on mon-sat at 23:00
  }
  
  Schedule {
  Name = "PeriodicidadeSemanalCatalog"
  Run = Level=Full on sun at 07:00
  Run = Level=Differential on mon-sat at 07:00
  }
  
  # Clients FD
  
  Client {
  Name = Server-1-fd
  Address = 123.123.123.123
  FDPort = 9102
  Catalog = MyCatalog
  Password = "Nlw2vp555z4vepasdasdasddasdda"
  File Retention = 30 days
  Job Retention = 30 days
  Autoprune = yes
  }
  
  #Storage
  
  Storage {
  Name = Storage-Server2
  Address = 123.13.12.3123        # N.B. Use a fully qualified name here
  SDPort = 9103
  Password = "Nlw2vp555z4veqweqweqweqwY"
  Device = FileStorage
  Media Type = File
  }
  
  #Pool Server 01
  
  Pool {
    Name = Full_Server-01
    Pool Type = Backup
    Storage = FullStorage
    Maximum Volume Jobs = 1
    Maximum Volume Bytes = 6g
    Recycle = yes
    AutoPrune = yes
    Volume Retention = 2 weeks
    Maximum Volumes = 5
    LabelFormat = "F_server-01_${Year}-${Month}-${Day}_${Hour}.${Minute}.${Second}"
  }
  
  Pool {
    Name = Diff_server-01
    Pool Type = Backup
    Storage = DiffStorage
    Maximum Volume Jobs = 1
    Maximum Volume Bytes = 6g
    Recycle = yes
    AutoPrune = yes
    Volume Retention = 2 weeks
    Maximum Volumes = 7
    LabelFormat = "D_server-01_${Month}-${Day}"
  }
Blog do Autor: http://blog.alexos.com.br


Veja a relação completa dos artigos de Alexandro Silva

 

 

Opinião dos Leitores

Anderson Angelote
06 Fev 2013, 11:56
Aqui na empresa foi instalado o Bácula, e como o acompanhamento do backup não era muito fácil, por causa da quantidade de servidores, eu criei uma página HTML para acompanhar todos os backups.
Se interessar, dá uma olhada no meu blog:
http://blog.angelote.com.br/?p=247
Joel Fernandes
23 Mai 2011, 15:45
Olá Amigo

Gostei das suas três postagens sobre backup com o Bacula, porém lhe peço que continue o cenário, mostre-nos como instalar os clientes, o gerenciamendo dele, como executar um backup e restore.
Se possível entrar em contato, agradeço.

Abraços

Joel Fernandes
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script