você está aqui: Home  → Arquivo de Mensagens Curso Gratuito sobre Expressões Regulares, com o Prof.  Julio Neves

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