terça-feira, março 30, 2010

[Dicas-L] Bacula - Gestão de Backup Distribuida - Prática

[Dicas-L] - Bacula - Gestão de Backup Distribuida - Prática

Caso não consiga visualizar esta mensagem, clique aqui.
URL deste artigo: http://www.Dicas-L.com.br/dicas-l/20100330.php

Logotipo Dicas-L, por Ricardo Burile

Acompanhe a Dicas-L no twitter

Aprenda inglês em casa
Curso estruturado com o que existe de melhor e mais rápido em estratégias e técnicas de aprendizado para adultos.
Conheça as aulas experimentais.

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

+ comente esta mensagem

Aprenda inglês em casa
Curso estruturado com o que existe de melhor e mais rápido em estratégias e técnicas de aprendizado para adultos.
Conheça as aulas experimentais.

Dicas-L: Uma dica por dia desde 3 de março de 1997
As mensagens da lista Dicas-L são veiculadas diariamente
para 29620 assinantes.
Newsfeed RSS: http://www.dicas-l.com.br/index.xml
Caso não queira mais receber estas mensagens clique aqui.

Apoio
A Dicas-L tem o apoio da Locaweb

Nenhum comentário: