guia de instalacao e configuracao do bacula

Upload: tales-rodarte

Post on 15-Oct-2015

277 views

Category:

Documents


1 download

TRANSCRIPT

  • 25/03/2014 13:25 1/31 Guia de Instalao e Configurao do Bacula

    Docs Plenatech - https://docs.plenatech.com.br/

    Guia de Instalao e Configurao do BaculaEsta documentao descreve os passos necessrios para se configurar um ambiente de backuputilizando a ferramente livre Bacula.

    Nosso cenrio composto por um servidor executando o sistema operacional CentOS 6.3 x64,contando com uma unidade de fita LTO3, nos clientes, temos servidores Windows 2003 e 2008, almde cliente com diferentes distros Linux.

    Ateno: Recentemente disponibilizamos a ultima verso do Bacula compilado para os Red HatLinkes em nosso repo, mais detalhes podem ser conferidos em:https://docs.plenatech.com.br/linux/titansrepo. A partir desse ponto da documentao assumimos quevoc esta com esse repo instalado e configurado.

    Conceitos Importantes em Relao aoBackup e ao BaculaCatlogo: a base de dados responsvel por armazenar os ndices do backups realizados pelolBacula, geralmente o Bacula utiliza dois tipos de bancos de dados MySQL ou PgSQL para armazenartais informaes, mas, al destes bancos, ele suporte bancos de dados SQLite;Reteno: perodo pelo qual as informaes do backup ficam armazenadas nas mdias de backup elno catlogo do Bacula;Expirao: trmino do prazo de reteno dos dados;lJob: definio de uma tarefa (job), essas tarefas podem ser tarefas de backup, restore ou verificaoldos dados;Purge: ato de eliminar dados do catlogo, referentes a determinado volume;lPrune: ato de eliminar dados do catlogo, referentes a entradas provavelmente no maislnecessrias (arquivos e jobs expirados);Volume: compartimento lgico onde os dados do backup so armazenados, os volumes podem serlcriados em fitas ou HDs por exemplo;Pool: o pool composto por um conjunto de volumes que tem as mesmas caractersticas, onde aslcaractersticas do pool so impostas aos volumes;FileSet: lista de arquivos/diretrios que so backupeados por padro, geralmente se cria um FileSetlpor sistema, onde se incluem/remover arquivos padres, esses FileSets podem ser usados pordiversos hosts, lembrando que no host o FileSet pode ser modificado. A utilizao de FileSet diminuio tamanho dos confs do Bacula consideravelmente;Tipos de backup:l

    Full: backup onde todos os dados so copiados;mDiferencial: backup onde so copiados somente os arquivos modificados desde o ultimo backupm

  • Last update: 18/12/2013 20:42 linux:bacula https://docs.plenatech.com.br/linux/bacula

    https://docs.plenatech.com.br/ Printed on 25/03/2014 13:25

    Full;Incremental: backup onde so copiados somente os arquivos modificados desde o ultimo backupmDiferencial, se for feito um backup incremental aps o outro, ele ir copiar somente os arquivosmodificados desde o ultimo backup Incremental;

    Tipos de backup quanto ao armazenamento:lOn-Site: neste caso os dados do backup ficam armazenados no mesmo local fsico onde esto osmdados de origem do backup;Off-Site: neste caso os dados do backup so armazenados em um outro local fsico, ou seja, osmdados backupeados ficam em um local diferente dos dados de origem do backup;

    Mdias de Backup: local onde os dados do backup sero armazenados, as mdias de backup maislutilizadas costumas ser as fitas magnticas e os HDs (atravs do processo de virtualizao dasfitas);

    Estrutura do BaculaO Bacula composto por diversos mdulos que permitem realizar, verificar e restaurar backups.

    Os mdulos do Bacula podem trabalhar de maneira independente em maquinas diferentes, inclusivecom Sistemas Operacionais diferentes utilizando uma estrutura cliente/servidor para a comunicaodos mdulos.

    Componentes do Bacula:

    Director Daemon: servio responsvel pela administrao de todos os processos do backup, restore,lverificao e armazenamento;Console Manager: este programa ajuda a administrar e se comunicar com o Director Daemon;lFile Daemon: este servio o cliente do Bacula, responsvel por receber e enviar os dados para olDirector Daemon;Storage Daemon: este servio o responsvel por gerenciar e administrar a gravao dos dadoslfisicamente nas mdias apropriadas;Catalog: servio responsvel por manter uma indexao de todos os arquivos armazenados nolbackup;

    Abaixo uma imagem onde pode ser verificada a estrutura do Bacula:

  • 25/03/2014 13:25 3/31 Guia de Instalao e Configurao do Bacula

    Docs Plenatech - https://docs.plenatech.com.br/

    Instalando o Bacula

    Banco de Dados

    Inicialmente devemos decidir qual ser o banco de dados utilizado, atualmente o Bacula suporta osbancos de dados MySQL, PostgeSQL e SQLite;

    Em nosso exemplo, iremos utiliza o banco de dados MySQL, vale lembrar ainda que a distribuioLinux usada neste exemplo o CentOS 6.3 x64, mas, os passos descritos nessa documentaodevem facilmente se adaptar a qualquer outra distribuio Linux.

    Ateno: Devido a problemas na utilizao do Bacula com o MySQL (problemas de integridade ecorrupo do banco de dados), abaixo sero abordadas a configurao de dois bancos de dados,MySQL e PostgreSQL. Aconselhamos fortemente a escolha do PostgreSQL devido ao sucesso de usoem nossos ambientes de produo.

  • Last update: 18/12/2013 20:42 linux:bacula https://docs.plenatech.com.br/linux/bacula

    https://docs.plenatech.com.br/ Printed on 25/03/2014 13:25

    Instalao e Configurao do Banco de Dados MySQL

    Caso j tenha um banco de dados MySQL instalado e configurado, ignore esse passo

    Para instalar o banco de dados MySQL execute o comando abaixo, logado como root (ignore essepasso caso j tenha o banco instalado):

    yum install mysql-server

    Aps a instalao do banco de dados, inicie o mesmo com o comando abaixo:

    /etc/init.d/mysqld start

    Com o banco de dados iniciado, vamos reforar a segurando do mesmo executando o comandoabaixo:

    mysql_secure_installation

    Criando a Base de Dados e Usurio do Banco para o Bacula

    Para criar o banco de dados do Bacula no servidor MySQL execute o comando abaixo e logo nasequncia informe a senha do root do MySQL definida no passo anterior:

    mysql -u root -p

    Uma vez conectado no banco de dados execute o comando abaixo para criar a base de dados:

    CREATE DATABASE bacula;

    Agora, ainda conectado no banco de dados, vamos criar um usurio chamado bacula, com permissopara acessar a base de dados tambm chamada bacula:

    CREATE USER 'bacula'@'localhost' IDENTIFIED BY 'senha_do_usuario_bacula';use mysqlgrant all privileges on bacula.* to bacula@localhost;grant all privileges on bacula.* to bacula@"%";flush privileges;

    A senha definida para o usurio bacula acima deve ser documentada pois ser necessrianos passos seguintes

    Instalao e Configurao do Banco de Dados PostgreSQL

    Caso j tenha um banco de dados PostgreSQL instalado e configurado, ignore esse passo

  • 25/03/2014 13:25 5/31 Guia de Instalao e Configurao do Bacula

    Docs Plenatech - https://docs.plenatech.com.br/

    Para instalar o banco de dados PostgreSQL execute o comando abaixo, logado como root (ignore essepasso caso j tenha o banco instalado):

    yum install postgresql-server

    Aps a instalao do banco de dados, inicialize o mesmo com o comando abaixo:

    /etc/init.d/postgresql initdb/etc/init.d/postgresql start

    Com o banco de dados iniciado, vamos configurar o acesso ao mesmo com o comando abaixo:

    vim /var/lib/pgsql/data/pg_hba.conf

    ###### Edite o arquivo de forma que o final do mesmo fique como o exemploabaixo###local all postgres trusthost all postgres 127.0.0.1/32 trust

    Com a configurao de acesso feita, reinicie o banco de dados com o comando abaixo:

    /etc/init.d/postgresql restart

    Diferente do MySQL o PostgreSQL no costuma utilizar senha para o usurio postgres naconexo local do banco, logo, durante a execuo desta documentao, caso venha autilizar o banco de dados PostgreSQL, o usurio para conexo ser postgres sem nenhumtipo de senha

    Instalando o Bacula Servidor

    Para fazer a instalao do Bacula no Host Servidor, execute o comando abaixo, o mesmo ir instalaros mdulos director, console (necessrio para a administrao), storage e cliente (para poder realizaro backup do prprio servidor):

    yum install bacula-client bacula-console bacula-director bacula-storage

    Com os arquivos do Bacula instalados, decida qual base de dados utilizar, MySQL ou PostgreSQL (deacordo com o banco que escolheu anteriormente):

    Para MySQL

    Execute o comando abaixo para ativar o banco de dados MySQL:

  • Last update: 18/12/2013 20:42 linux:bacula https://docs.plenatech.com.br/linux/bacula

    https://docs.plenatech.com.br/ Printed on 25/03/2014 13:25

    alternatives --set libbaccats.so /usr/lib64/libbaccats-mysql.so

    E ento popule a base de dados com o comando abaixo, informando a senha definida para o usuriobacula anteriormente:

    /usr/libexec/bacula/make_mysql_tables -u bacula -p

    Com esses passos finalizados a base de dados MySQL estar pronta.

    Para PostgreSQL

    Execute o comando abaixo para ativar o banco de dados PostgreSQL:

    alternatives --set libbaccats.so /usr/lib64/libbaccats-postgresql.so

    E ento crie e popule o banco de dados com os comandos abaixo:

    su postgrescd /usr/libexec/bacula/./create_postgresql_database./make_postgresql_tables./grant_postgresql_privileges./grant_postgresql_privileges

    Com esses passos finalizados a base de dados PostgreSQL estar pronta.

    Continuando a instalao aps a escolha do banco de dados...

    Com um dos passos acima executado, o banco de dados do Bacula j estar pronto, mas, para poderiniciar os servios pela primeira vez, devemos criar as senhas utilizadas nos arquivos de configuraodo Bacula (algumas distribuies Linux, ao instalar o Bacula j geram essas senhas de forma aleatria,logo, em alguns casos os passos abaixo podem ser ignorados), aconselho fortemente que sejamcriadas uma senha distinta para cada mdulo. Seria uma falha muito grande definir a mesma senhapara cada um dos mdulos do Bacula. Abaixo pode ser vista uma breve descrio das senhas quesero necessrias nesse momento:

    Senhas do DirectorlSenha do Director: senha utilizada pelo Console para administrao do baculamSenha do Monitoramento do Director: senha utilizada para poder monitorar o status do Directorm

    Senhas do Storage (cada Storege deve ter suas prorias senhas)lSenha do Storage: senha utilizada pelo Director para contatar o StoragemSenha do Monitoramento do Storage: Senha utilizada pelo Tray-Monitor para verificar o status domStorage

    Senhas dos Clientes (cada Cliente deve ter suas prprias senhas)lSenha do Cliente: senha utilizada pelo Director para contatar o ClientemSenha do Monitoramento do Cliente: Senha utilizada pelo Tray-Monitor para verificar o status dom

  • 25/03/2014 13:25 7/31 Guia de Instalao e Configurao do Bacula

    Docs Plenatech - https://docs.plenatech.com.br/

    Cliente

    Para agilizar a criao das senhas, sugiro utilizar o comando mkpasswd presente no pacote expect,no CentOS ele pode ser instalado com o comando abaixo:

    yum install expect -y

    Feito isso, para gerar as senhas, utilize o comando abaixo, uma vez para cada senha necessria:

    mkpasswd -l 80

    Em um primeiro momento, iremos precisar de 6 senhas, para facilitar, a configurao, aconselho adocumentar as senhas, abaixo um exemplo para essa configurao:

    DIR_PASSWORD =caqxg@tzu2kfyvxhocrwvodKcdyzxwlsiezlidnkrnofqh3vgstuCfkgsrqefsjceguokqiizincbvql

    MON_DIR_PASSWORD =asqwx@dnurc2y345lkjdhvc76543kjefv0sdlkkhjfwik142kjhbsdkuhskjsbdfkjbkjbksjbdfkb

    FD_PASSWORD =asbciBqtewdpefl:gfmfnmpnxdNfiqfomahnzismzwmpjxrxnjwknefslapmnezdk9dqtmcu7elfkkog

    MON_FD_PASSWORD =jcbwulebkai~8gcwicirkgplsbtffqybafumjcsutiitYjygjjmzhmzctLwxoxbwu1lilsyjvodazhjs

    SD_PASSWORD =ehzSFvigrhvjboabqb5|gswvjeccheuhuigcj2bpinigfqghmtoeoeocqjklqfzhvgourpdxtaxehnih

    MON_SD_PASSWORD =rcpufqaxphacmqkddgaeeiortzrmuyus2ddngufviiqryalbm4uokpirqbphwwapoRfpqopcayWlwpv

    Para setar as senhas criadas acima, edite os arquivos abaixo e substitua as strings destacadas pelascorrespondentes acima:

    /etc/bacula/bacula-dir.conf: @@DIR_PASSWORD@@, @@FD_PASSWORD@@, @@SD_PASSWORD@@le @@MON_DIR_PASSWORD@@/etc/bacula/bacula-fd.conf: @@FD_PASSWORD@@ e @@MON_FD_PASSWORD@@l/etc/bacula/bacula-sd.conf: @@SD_PASSWORD@@ e @@MON_SD_PASSWORD@@l/etc/bacula/bconsole.conf: @@DIR_PASSWORD@@l

    Uma ltima configurao antes de iniciar os servios pela primeira vez, diz respeito a setar asconfiguraes do banco de dados no Director, para isso, edite o arquivo /etc/bacula/bacula-dir.conf eprocure pela sesso Catalog, nesse ponto, edite-o de forma a ficar como abaixo de acordo com o

  • Last update: 18/12/2013 20:42 linux:bacula https://docs.plenatech.com.br/linux/bacula

    https://docs.plenatech.com.br/ Printed on 25/03/2014 13:25

    banco de dados utilizado:

    MySQLl

    Catalog { Name = MyCatalog dbname = "bacula"; dbuser = "bacula"; dbpassword ="senha_definida_anteriormente"; dbaddress = 127.0.0.1;}

    PostgreSQLl

    Catalog { Name = MyCatalog dbname = "bacula"; dbuser = "postgres"; dbpassword = ""; dbaddress =127.0.0.1; dbport = 5432;}

    Agora, vamos inciar pela primeira vez os servios do servidor, e vamos ativa-los na inicializao doservidor, para isso, execute os comandos abaixo:

    /etc/init.d/bacula-dir start/etc/init.d/bacula-fd start/etc/init.d/bacula-sd startchkconfig bacula-dir onchkconfig bacula-sd onchkconfig bacula-fd on

    Caso acontea algum erro na hora de subir os servios pela primeira vez, por favor, verifique os logsgerados pelo Bacula em /var/log/bacula.

    Para verificar se a configurao inicial est ok, execute o comando bconsole, se estiver tudo ok, eledeve ser executado com sucesso, veja abaixo:

    bconsole executado com sucesso:l

    [root@servidor bacula]# bconsoleConnecting to Director localhost:91011000 OK: bacula-dir Version: 5.0.0 (26 January 2010)Enter a period to cancel a command.*quit # digite quit para sair[root@servidor bacula]#

    bconsole executado com erro:l

    [root@servidor bacula]# bconsoleConnecting to Director localhost:9101[root@servidor bacula]#

    Outra forma de verificar se esta tudo ok com a configurao do Bacula executando os comandosabaixo:

  • 25/03/2014 13:25 9/31 Guia de Instalao e Configurao do Bacula

    Docs Plenatech - https://docs.plenatech.com.br/

    bacula-dir -t : para testar a configurao do Bacula Dirlbacula-sd -t : para testar a configurao do Storage Daemon (ainda no configurado)lbacula-fd -t : para testar a configurao do File Daemon (ainda no configurado)l

    Configurando o Bacula Servidor

    Agora, vamos dar inicio a configurao passo-a-passo do nosso Bacula Servidor.

    Nesse momento nosso Bacula tem os seguintes arquivos de configurao:

    /etc/lbacula/m

    bacula-dir.conf: Configuraes do Directornbacula-fd.conf: Configuraes do Clientenbacula-sd.conf: Configuraes das Midiasnbconsole.conf: Configuraes do Console de Gerenciamenton

    Na configurao que iremos realizar, o Bacula ficar com os seguintes arquivos de configurao:

    /etc/lbacula/m

    bacula-dir.conf: Configuraes do Directornbacula-dir-client-and-jobs.conf: Configurao dos Clientes e Jobs de Backupnbacula-dir-filesets.conf: Configurao dos FileSets utilizados nos Jobs de Backupnbacula-fd.conf: Configuraes do Clientenbacula-sd.conf: Configuraes das Midiasnbconsole.conf: Configuraes do Console de Gerenciamenton

    Alterando os Nomes

    No momento da instalao do Bacula, so criados nomes genricos para os servios do director,storage e clientes, sugerimos fortemente que estes nomes sejam modificados de forma a facilitar acompreenso das configuraes e auxiliar na organizao da estrutura do backup.

    Inicialmente, edite o arquivo /etc/bacula/bacula-dir.conf, e modifique o nome do Direcotor e doConsole.

    Aps isso, edite os arquivo /etc/bacula/bacula-fd.conf, /etc/bacula/bacula-sd.conf e/etc/bacula/bconsole.conf de forma a ajustar o nome do Director e Console onde for necessrio.

    Aps alterar os nomes, reinicie todos os servios do Bacula, certifique-se de que os mesmos subirame ento execute o bconsole para garantir que o mesmo esta se comunicando com o Director.

    Configurando o bconsole.conf

  • Last update: 18/12/2013 20:42 linux:bacula https://docs.plenatech.com.br/linux/bacula

    https://docs.plenatech.com.br/ Printed on 25/03/2014 13:25

    O bconsole a ferramenta de administrao do bacula, seu arquivo de configurao esta em/etc/bacula/bconsole.conf, abaixo h um exemplo de sua configurao comentada:

    ## Bacula User Agent (or Console) Configuration File#Director {

    # Nome do Director em que ele ir se conectar Name = TitansBacula-Dir

    # Porta em que o Director esta aguardando as conexes DIRport = 9101

    # endereo IP ou FQDN onde o Drector esta sendo executdo address = localhost

    # Senha do Director Password = "kjnhkhbsdcjhb23429wsckblk1213124lkjbnclkebckljhbvj"}

    Configurando o bacula-fd.conf

    O bacula-fd ou bacula-client o cliente do Bacula, ele quem manda e recebe asinformaes/arquivos d backup para o Director, seu arquivo de configurao est em/etc/bacula/bacula-fd.conf, abaixo h um exemplo de sua configurao comentada:

    ## Default Bacula File Daemon Configuration file## For Bacula release 5.0.0 (26 January 2010) -- redhat## 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 { # Nome do director autorizado a contatar este cliente Name = TitansBacula-Dir # Senha do cliente a ser setada no Director que ir conectar neste cliente Password = "jnbhbdckjhbkwj1324iubc1klec1wdvlwdckjk"}

    #

  • 25/03/2014 13:25 11/31 Guia de Instalao e Configurao do Bacula

    Docs Plenatech - https://docs.plenatech.com.br/

    # Restricted Director, used by tray-monitor to get the# status of the file daemon#Director { # Nome do Director autorizado a monitorar este cliente Name = TitansBacula-Mon # Senha do cliente a ser setada no Director que ir conectar neste clientepara monitorar o mesmo Password = "kjbwledcbkwjhedbckjhwbdkjchbwkjhedcwjhe" # Define que este director apenas pode "monitorar" o clente Monitor = yes}

    ## "Global" File daemon configuration specifications#FileDaemon { # this is me # nome do cliente Name = cliente1-fd # porta onde o cliente aguarda as conexes do director FDport = 9102 # diretrio de trabalho do cliente WorkingDirectory = /var/spool/bacula # Diretrio onde armazenado o pid do cliente Pid Directory = /var/run # Numero mximo de jobs concorrentes do cliente Maximum Concurrent Jobs = 20}

    # Send all messages except skipped files back to DirectorMessages { Name = Standard # Director para onde as mensagens sero encaminhadas director = TitansBacula-Dir = all, !skipped, !restored}

    Configurando o bacula-sd.conf

    O bacula-sd ou bacula-storage-daemon, quem armazena os dados o backup, ele responsvel porarmazenar os dados do backup nas mdias configuradas.

    Vale lembrar que um mesmo Director, podem trabalhar coms diversos storages em sua configurao,utilizando inclusive storages remotos.

    Abaixo h um exemplo de configurao do storage daemon para utilizao de uma unidade LTO3 eHDs comentada:

    Storage { # Nome do Storage Daemon

  • Last update: 18/12/2013 20:42 linux:bacula https://docs.plenatech.com.br/linux/bacula

    https://docs.plenatech.com.br/ Printed on 25/03/2014 13:25

    Name = TitansBacula-SD # Porta onde as conexes sero aguardadas SDPort = 9103 # Diretrio de trabalho WorkingDirectory = "/var/spool/bacula" # Diretrio onde o pid armazenados Pid Directory = "/var/run" # Numero mximo de jobs concorrentes no storage Maximum Concurrent Jobs = 20}

    ## List Directors who are permitted to contact this File daemon#Director { # Nome do director autorizado a contatar neste storage Name = TitansBacula-Dir # Senha do storage a ser setada no Director que ir conectar neste storage Password = "jnbhbdckjhbkwj1324iubc1klec1wdvlwdckjk"}

    ## Restricted Director, used by tray-monitor to get the# status of the file daemon#Director { # Nome do Director autorizado a monitorar este storage Name = TitansBacula-Mon # Senha do storage a ser setada no Director que ir conectar neste storagepara monitorar o mesmo Password = "kjbwledcbkwjhedbckjhwbdkjchbwkjhedcwjhe" # Define que este director apenas pode "monitorar" o storage Monitor = yes}

    # aqui criamos o primeiro Storage, armazenado no filesystem do servidorDevice { # Nome do Storage Name = TitansFileStorage # o tipo de midia nesse caso File Media Type = File # caminho de onde o arquivos sero salvos os volumes do Bacula Archive Device = /backup/dados_bacula # define que o Bacula no pode criar volumes automaticamente LabelMedia = no; # Nos casos de disco rigido informar Yes, nos casos de fitas informar no Random Access = yes; # Libera o Bacula para monyar os dispositivos de forma automatica

  • 25/03/2014 13:25 13/31 Guia de Instalao e Configurao do Bacula

    Docs Plenatech - https://docs.plenatech.com.br/

    AutomaticMount = yes; # Define que no mdia removvel, no caso de fita defina como yes RemovableMedia = no; # Libera o bacula para abrir o dispositivo quando em execuo AlwaysOpen = yes;}

    # Aqui criamos o segundo storage, armazenado em uma fita LTO3###### Ateno, no arquivo de configurao original, existem diversos exemplos### par a configurao de outros tipos de fitas###Device { Name = LTO-3 Media Type = LTO-3 Archive Device = /dev/nst0 AutomaticMount = yes; # when device opened, read it AlwaysOpen = yes; RemovableMedia = yes; RandomAccess = no; Maximum File Size = 3GB# Changer Command = "/usr/libexec/bacula/mtx-changer %c %o %S %a %d"# Changer Device = /dev/sg0# AutoChanger = yes # Enable the Alert command only if you have the mtx package loaded# Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"# If you have smartctl, enable this, it has more info than tapeinfo# Alert Command = "sh -c 'smartctl -H -l error %c'"}

    Messages { Name = Standard # Director para onde as mensagens sero encaminhadas director = TitansBacula-Dir = all}

    Configurando bacula-dir.conf

    O bacula-dir ou bacula-director, quem gerencia e intermedi toda a comunicao entre clientes,storages, catlogos e etc.

    Este o arquivo de configurao maior e mais complexo do Bacula, logo, para facilitar e segmentar aconfigurao do Bacula, dois novos arquivos de configurao sero criados, obacula-dir-client-and-jobs.conf e o bacula-dir-filesets.conf, estes dois arquivos sero importados noconf do Director atravs do operador @.

    Abaixo um exemplo de configurao destes arquivos devidamente comentado:

  • Last update: 18/12/2013 20:42 linux:bacula https://docs.plenatech.com.br/linux/bacula

    https://docs.plenatech.com.br/ Printed on 25/03/2014 13:25

    bacula-dir-client-and-jobs.confl

    ###### Arquivo de configurao do Bacula segmentado###### Aqui vo as configuraes dos clientes e Jobs###

    ###### JobDefs so definies gerais e comuns para os Jobs de Backup, paraevitar a repetio de informaes### Vale lembrar que as informaes constantes nos Jobs prevalecem sobre oJobDefs###

    # JobDef para LinuxJobDefs {

    # Nome do JobDef Name = "linux-default"

    # Habilita ou desabilita os jobs que usam este jobdefs Enabled = yes

    # Define que um Job de Backup Type = Backup

    # Nivel do Backup, pode ser Differential, Incremental, Full Level = Incremental

    # Este fileset define o que ser bacupeado por padro nos jobs destefileset FileSet = "linux"

    # No agendamento define-se o padro de agendamento para os jobs destefileset # No agendamento, algumas caractersticas do jobdefs podem ser modificadas, # como o caso do level do backup por exemplo Schedule = "schedule-File"

    # Aqui, aponta-se o storage onde os jobs iro salvar seus dados Storage = File

    # Define para onde as mensagens padres do Job deve ser direcionadas Messages = Standard

    # Pool padro para os jobs, pode ser alterado pelo agendamento ou pelousurio na execuo manual Pool = File

  • 25/03/2014 13:25 15/31 Guia de Instalao e Configurao do Bacula

    Docs Plenatech - https://docs.plenatech.com.br/

    # Prioridade dos Jobs que utilizam este jobdef, quanto menor o numero # maior a sua prioridade em relao a execuo dos Jobs Priority = 10

    # Arquivo com a lista de arquivos backupeados, com a variavel, cria umarquivo por cliente Write Bootstrap = "/var/spool/bacula/%c.bsr"}

    # JobDef para WindowsJobDefs {

    # Nome do JobDef Name = "windows-default"

    # Habilita ou desabilita os jobs que usam este jobdefs Enabled = yes

    # Define que um Job de Backup Type = Backup

    # Nivel do Backup, pode ser Differential, Incremental, Full Level = Incremental

    # Este fileset define o que ser bacupeado por padro nos jobs destefileset FileSet = "windows"

    # No agendamento define-se o padro de agendamento para os jobs destefileset # No agendamento, algumas caractersticas do jobdefs podem ser modificadas, # como o caso do level do backup por exemplo Schedule = "schedule-File"

    # Aqui, aponta-se o storage onde os jobs iro salvar seus dados Storage = File

    # Define para onde as mensagens padres do Job deve ser direcionadas Messages = Standard

    # Pool padro para os jobs, pode ser alterado pelo agendamento ou pelousurio na execuo manual Pool = File

    # Prioridade dos Jobs que utilizam este jobdef, quanto menor o numero # maior a sua prioridade em relao a execuo dos Jobs Priority = 10

    # Arquivo com a lista de arquivos backupeados, com a variavel, cria umarquivo por cliente Write Bootstrap = "/var/spool/bacula/%c.bsr"

  • Last update: 18/12/2013 20:42 linux:bacula https://docs.plenatech.com.br/linux/bacula

    https://docs.plenatech.com.br/ Printed on 25/03/2014 13:25

    }

    # Configurao de um cliente baculaClient {

    # Nome do cliente Name = bacula-fd

    # Endereo do cliente Address = client.example.com

    # Porta na qual o cliente recebe as conexes FDPort = 9102

    # Define o catalogo utilizada para armazenar as informaes Catalog = MyCatalog

    # Senha do cliente, utilizada pelo director para se conectar ao mesmo Password ="hlpyaxzfpsi5lyyryawqtjkimoouobbsnxqQilloi{fahrjailydhrErkyvjngsclszsbpxoioma9vui"

    # Aqui, define-se o tempo pelo qual as informaes dos arquivos bacupeadossero mantidas # no catalogo do Bacula, aps esse perioro, as informaes dos arquivossero removidas, e # apartir dai, somente poder ser restairado TODOS os arquivos de um Job,e no somente os # arquivos selecionados como usualmente se faz. Caso sej necessrio"importar" a informao # dos arquivos backupeados, necessrio executar o bscan, para que eleimporte as informaes # para o Catalogo novamente File Retention = 60 days

    # Aqui define-se o tempo pelo qual o Job em si ser mantido no catpalogodo Bacula, aps esse # Periodo as informaes do Job so removidas e o mesmo no poder serrestaurado at que # seja importado para o catalogo novamente com o bscan Job Retention = 1 year

    # A configurao abaixo indica que as informaes do catalogo, seroremovidas automaticamente # aps as suas retenes, vale lembrar que a remoo dos dados do catalogono afeta os dados # gravados nos volumes propriamente dito AutoPrune = yes}

  • 25/03/2014 13:25 17/31 Guia de Instalao e Configurao do Bacula

    Docs Plenatech - https://docs.plenatech.com.br/

    ######### Informaes setadas no Job sobrescrevem opes do JobDef###

    # Backup do prprio ServidorJob {

    # nome do job de backup Name = "nome-servidor-job"

    # JobDef a ser utilizado no Job JobDefs = "linux-default"

    # Nome do cliente de onde vir o backup Client = cliente1-fd

    # Definio dos arquivos que sero copiados FileSet = fileset-client-unix

    # Define o Job como ativado Enabled = Yes}

    ###### Backup do Catlogo###Job {

    Name = "BackupCatalog"

    JobDefs = "DefaultJob"

    Level = Full

    Client = cliente-fd

    FileSet="Catalog"

    Schedule = "WeeklyCycleAfterBackup"

    RunBeforeJob = "/usr/libexec/bacula/make_catalog_backup.pl MyCatalog"

    RunAfterJob = "/usr/libexec/bacula/delete_catalog_backup"

    Write Bootstrap = "/var/spool/bacula/%n.bsr"

    Priority = 99}

  • Last update: 18/12/2013 20:42 linux:bacula https://docs.plenatech.com.br/linux/bacula

    https://docs.plenatech.com.br/ Printed on 25/03/2014 13:25

    ###### Job padro de Restore###Job { Name = "RestoreFiles" Type = Restore Client=bacula-fd FileSet="Full Set" Storage = File Pool = Default Replace = always Messages = Standard Where = /tmp/bacula-restores}

    ###### Job de Verificao, util para automatizar testes re restaurao eintegridade###

    Job {

    Name = "Verify"

    Client = bacula-fd

    Type = Verify

    ######################### # Leveis de Verificao # ######################### # InitCatalog: Faz o scan do fileset especificao e armazena osatributos dos # arquivos no catlogo. Basicamente, permite que seja verificada se houve # modificaes em arquivos, delees ou criaes. Normalmente, utilizadopela # primeira vez que o sistema backupeado, e depois de uma mudana nosistema # (exemplo: upgrade). # Catalog: Compara o estado atual de arquivos contra as informaesauferidas pelo # InitCatalog. Qualquer diferena reportada. Tipicamente este comando # executado diariamente para verificao em mudanas nos arquivos dosistema. # VolumeToCatalog: Este nvel faz com que o Bacula leia o atributo doarquivo # escrito no Volume e compare com as informaes do catlogo. # DiskToCatalog: Esta opo, compara os arquivos no disco (sistema) com os # copiados no ltimo backup. til quando so percebidos problemas nodisco, e # desejvel saber se o restore se faz necessrio.

  • 25/03/2014 13:25 19/31 Guia de Instalao e Configurao do Bacula

    Docs Plenatech - https://docs.plenatech.com.br/

    ###########################

    Level = VolumeToCatalog

    Priority = 10

    FileSet = fileset-full

    Storage = File-Storage

    Pool = File-Daily

    Messages = job-messages}

    bacula-dir-filesets.confl

    ###### Arquivo de configurao do Bacula segmentado###### Aqui vo as informaes do que deve ser bacupeado### OBS: aps qualquer alterao em um FileSet o Bacula promovo o prximoBackup a Full###

    # List of files to be backed upFileSet { Name = "Full Set" Include { Options { signature = MD5 }## Put your list of files here, preceded by 'File =', one per line# or include an external list with:## File =

  • Last update: 18/12/2013 20:42 linux:bacula https://docs.plenatech.com.br/linux/bacula

    https://docs.plenatech.com.br/ Printed on 25/03/2014 13:25

    # files can be useful# Exclude { File = /var/spool/bacula File = /tmp File = /proc File = /tmp File = /.journal File = /.fsck }}

    # This is the backup of the catalogFileSet { Name = "Catalog" Include { Options { signature = MD5 } File = "/var/spool/bacula/bacula.sql" }}

    FileSet {Name = fileset-client-linux# Nome do fileset. Um fileset pode ser usado para mais de umservidor.Include {Options {Signature = SHA1# Mtodo de verificao dos arquivos. Pode ser MD5.onefs=no# Indica que os filesets podem ser varridos recursivamente,mesmo que estejam em outro sistema de arquivos. Exemplo:selecionando o /,o /boot em outra partio ser "backup"eado.Exclude = Yes# Aqui estamos excluindo arquivos pouco teis para o backup.wild = "/tmp"wild = "/proc"wild = "/mnt"wild = "/sys"wild = "/net"wild = "/misc"69wildfile = "*.iso"}File = /}}FileSet {Name = fileset-client-windows

  • 25/03/2014 13:25 21/31 Guia de Instalao e Configurao do Bacula

    Docs Plenatech - https://docs.plenatech.com.br/

    Include {Options {WildFile = "*.obj"WildFile = "*.exe"# Aqui vem um exemplo para que no seja feito "backup" dealguns arquivos pouco teis do windows:WildDir = "[A-Z]:/Documents and Settings/*/Cookies"WildDir = "[A-Z]:/Documents and Settings/*/Recent"WildDir = "[A-Z]:/Documents and Settings/*/LocalSettings/History"WildDir = "[A-Z]:/Documents and Settings/*/LocalSettings/Temp"WildDir = "[A-Z]:/Documents and Settings/*/LocalSettings/Temporaryexclude = yes}File = "C:/My Documents"}FileSet {Name = fileset-baculaserverInclude {Options {Signature = SHA1onefs=noExclude = Yes70wild = "/tmp"wild = "/proc"wild = "/bacula-sql"wild = "/net"wild = "/misc"wild = "/sys"wild = "/var/bacula/working"wild = "/var/lib/mysql"wildfile = "*.iso"}File = /}}

    * bacula-dir.conf

    ###### Configuraes do Bacula Director###Director { # Nome do Director Name = TitansBacula-Dir

    # Porta onde o director ir aguardar as conexes DIRport = 9101

  • Last update: 18/12/2013 20:42 linux:bacula https://docs.plenatech.com.br/linux/bacula

    https://docs.plenatech.com.br/ Printed on 25/03/2014 13:25

    # Arquivo com os comandos SQLs utilizados pelo director QueryFile = "/usr/libexec/bacula/query.sql"

    # Diretrio de trabalho do bacula Director WorkingDirectory = "/var/spool/bacula"

    # Diretrio onde o Pid ser armazenados PidDirectory = "/var/run"

    # Numero de Jobs simultneos no Director Maximum Concurrent Jobs = 20

    # Senha utilizada para se conectar ao director Password ="s1jweszgdabhbnq~tsHjvhiihcpemnzglJaysvnacxsrvqkmxztbigbergblibqzgaikepwrqmggpv4x"

    # Destino das mensagens genricas do Bacula Messages = Daemon

    # Opo para evitar erros de timeout Heartbeat Interval = 120}

    ###### Aqui importamos as definies dos clientes e dos Jobs###@/etc/bacula/bacula-dir-clients-and-jobs.conf

    ###### J aqui, importamos as definies dos arquivos que vo para os backups###@/etc/bacula/bacula-dir-filesets.conf

    ###### Aqui fazemos os agendamentos do backup###Schedule {

    # Nome do agendamento Name = "Semanal-Tape"

    # Agendamento bsico com Level e Pool (o storage tambm pode ser definidoaqui) # o agendamento abaixo ser executado de segunda a quinta as 23 horas Run = Level=Differential Pool="Tape-Dario" Monday-Thursday at 23:00

  • 25/03/2014 13:25 23/31 Guia de Instalao e Configurao do Bacula

    Docs Plenatech - https://docs.plenatech.com.br/

    # Agendamento de todas as sextas do ms (menos a primeira) Run = Level=Full Pool=Tape-Semanal 2nd 3rd 4th 5th Friday at 23:00

    # Agendamento da primeira sexta-feira de cada ms Run = Level=Full Pool=Tape-Mes 1st Friday at 23:00}

    # Schedule utilizado pelo backup do banco de dados do BaculaSchedule { Name = "AfterBackup" Run = Full sun-sat at 23:10}

    ###### Definio dos Storages Daemons onde os dados sero armazenados###

    # Unidade de FitaStorage { Name = ultrium-lto2-Tape # Nosso primeiro storage. O nome pode ser escolhido (qualquer

    Address = 10.110.10.1 # Endereo IP do nosso storage daemon.

    Password = "senha storage" # Senha do storage daemon (constante no bacula-sd.conf).

    Device = LTO2 # Aqui poderia ser colocado qualquer nome (desde que igual ao constante do bacula-sd.conf), que o backup iria funcionar. Interessante que seja um nome representativo do device.

    MediaType = LTO3 # Da mesma forma pode ser um nome arbitrrio. Entretanto, "backups" gravados com o media type x, no podero ser lidos por um device cuja configurao esteja em media type y ou seja, serve para segregar os diferentes tipos de mdia para o Bacula

    MaximumConcurrentJobs = 10 # Limita a quantidade mxima de jobs simultneos para este storage em especfico. Portanto, alm destes 10, podem ser executados outros jobs simultneos, desde que apontando para outro dispositivo e que a quantidade mxima de jobs do recurso director permita (no caso configuramos em 50).}

    # FileSystem

  • Last update: 18/12/2013 20:42 linux:bacula https://docs.plenatech.com.br/linux/bacula

    https://docs.plenatech.com.br/ Printed on 25/03/2014 13:25

    Storage { Name = File Address = 127.0.0.1 SDPort = 9103 Password ="vdrtwzch9atetemqhekrnyqsfkabezwzMwokpyduubfadrrpmaeruFiwhcbwhzhvzwn9kfofw(xrxzta" Device = FileStorage Media Type = File MaximumConcurrentJobs = 10}

    ###### Catalogo do Bacula### em alguns casos podem haver mais de um catalogo, com nomes diferentes###Catalog { # Nome do Catalogo Name = MyCatalog # Dados para o catalogo se conectar ao banco de dados, nesse caso o MySQL dbname = "bacula"; dbuser = "bacula"; dbpassword = "senhadobancodedados";dbaddress = 127.0.0.1; dbport = 3306;}

    ###### Configuraes das Mensagens do Bacula###### Geralmente os daemons do Bacula manda suas mensagens para o Director### Que atravs de sua configurao repassa as mensagens para os emailsconfigurados### Pode-se considerar ter mais de um gerenciador de mensagens de forma atrata-las de forma diferente#### Curingas que podem ser usados na confeco das mensagens# %% = %# %c = Nome do Cliente# %d = Nome do Director# %e = Cdigo de Sada do Job (OK, Error, ...)# %i = Job Id# %j = Nome nico do Job# %l = Job level# %n = Nome doJob# %r = Recipentes# %t = Tipo do job (e.g. Backup, ...)

    # Mensagens PadresMessages { # Nome do "gerenciador" das mensagens que deve ser setados nos daemons

  • 25/03/2014 13:25 25/31 Guia de Instalao e Configurao do Bacula

    Docs Plenatech - https://docs.plenatech.com.br/

    Name = Standard

    # comando para enviar o email "normal" mailcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \\" -s\"Bacula: %t %e of %c %l\" %r"

    # comando para enviar o email de quando alguma ao necessria operatorcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \\"-s \"Bacula: Intervention needed for %j\" %r"

    # emails que devem receber os emails do bacula, a opo !skipped ignora asmensagens que no so erros mail = [email protected] = all, !skipped

    # semelhante ao mail, mas, essa opo manda email assim que a mensagemchega ao director # e no aguarda o termino do job de backup para enviar como a opo acima operator = [email protected] = mount

    # Essa configurao manda as mensagens para o bconsole, onde podem serlidas com o comando messages console = all, !skipped, !saved

    # Essa configurao "lana" as mensagens no final de um arquivo de logs append = "/var/spool/bacula/log" = all, !skipped

    # A configurao abaixo faz com que as mensagens sejam armazenadas tambmno catlogo # dessa forma, as mesmas podem ser lidas por outras ferramentas catalog = all}

    # Mensagens dos DaemonsMessages { # nome do gerenciador de mensagens Name = Daemon

    # comando para enviar o emails mailcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \\" -s\"Bacula daemon message\" %r"

    # email que deve receber as mensagens mail = [email protected] = all, !skipped

    # manda as mensagens para o bconsole console = all, !skipped, !saved

    # manda as mensagens para o arquivo de log append = "/var/log/bacula.log" = all, !skipped

    }

  • Last update: 18/12/2013 20:42 linux:bacula https://docs.plenatech.com.br/linux/bacula

    https://docs.plenatech.com.br/ Printed on 25/03/2014 13:25

    ###### Pools###### Nos pools o backup planejado, ou seja, nele definimos quantas cpiasficam retidas,### definimos como ir funcionara reciclagem dos volumes, vale lembrar quevolumes de um### memso pool tem as mesmas caractersticas###

    # Pool dirio de FitaPool { # Nome do Pool Name = Fita-Diario

    # Tipo de pool, atualmente somente o pool backup suportado Pool Type = Backup

    # Define que os volumes desta pool devero ser mantidos por 13 dias # depois de encerrado VolumeRetention = 13 Days

    # Permite que o Bacula reclicle os volumes automaticamente Recycle = yes

    # Define que informaes de Jobs e Files sero apagadas automaticamente # aps os volumes estarem expirados AutoPrune = yes}

    # Pool semanal de FitaPool { # Nome do Pool Name = Fita-Semanal

    # Tipo de pool, atualmente somente o pool backup suportado Pool Type = Backup

    # Define que os volumes desta pool devero ser mantidos por 13 dias # depois de encerrado VolumeRetention = 28 Days

    # Permite que o Bacula reclicle os volumes automaticamente Recycle = yes

    # Define que informaes de Jobs e Files sero apagadas automaticamente # aps os volumes estarem expirados AutoPrune = yes}

  • 25/03/2014 13:25 27/31 Guia de Instalao e Configurao do Bacula

    Docs Plenatech - https://docs.plenatech.com.br/

    # Pool Mensal de FitaPool { # Nome do Pool Name = Fita-Mensal

    # Tipo de pool, atualmente somente o pool backup suportado Pool Type = Backup

    # Define que os volumes desta pool devero ser mantidos por 13 dias # depois de encerrado VolumeRetention = 350 Days

    # Permite que o Bacula reclicle os volumes automaticamente Recycle = yes

    # Define que informaes de Jobs e Files sero apagadas automaticamente # aps os volumes estarem expirados AutoPrune = yes}

    # Pool dirio no sistema de arquivosPool { # nome do pool Name = File-Diario

    # Tipo de pool, atualmente somente o pool backup suportado Pool Type = Backup

    # Define que os volumes desta pool devero ser mantidos por 13 dias # depois de encerrado Volume Retention = 13 Days

    # Permite que o Bacula reclicle os volumes automaticamente Recycle = yes

    # Define que informaes de Jobs e Files sero apagadas automaticamente # aps os volumes estarem expirados AutoPrune = yes

    # tamanho mximo de cada volume no filesystem Maximum Volume Bytes = 4Gb

    # Numero mximo de volumes, Volume Bytes x Volumes

  • Last update: 18/12/2013 20:42 linux:bacula https://docs.plenatech.com.br/linux/bacula

    https://docs.plenatech.com.br/ Printed on 25/03/2014 13:25

    # Pool semanal no sistema de arquivosPool { # nome do pool Name = File-Semanal

    # Tipo de pool, atualmente somente o pool backup suportado Pool Type = Backup

    # Define que os volumes desta pool devero ser mantidos por 13 dias # depois de encerrado Volume Retention = 28 Days

    # Permite que o Bacula reclicle os volumes automaticamente Recycle = yes

    # Define que informaes de Jobs e Files sero apagadas automaticamente # aps os volumes estarem expirados AutoPrune = yes

    # tamanho mximo de cada volume no filesystem Maximum Volume Bytes = 4Gb

    # Numero mximo de volumes, Volume Bytes x Volumes

  • 25/03/2014 13:25 29/31 Guia de Instalao e Configurao do Bacula

    Docs Plenatech - https://docs.plenatech.com.br/

    Maximum Volume Bytes = 4Gb

    # Numero mximo de volumes, Volume Bytes x Volumes

  • Last update: 18/12/2013 20:42 linux:bacula https://docs.plenatech.com.br/linux/bacula

    https://docs.plenatech.com.br/ Printed on 25/03/2014 13:25

    apt-get update; apt-get install bacula-fd

    WindowsPara fazer a instalao do Bacula Cliente no Windows, primeiramente necessrio baixar o instaladordo mesmo, os instaladores, de acordo com as suas verses e arquiteturas podem ser obtidos no linkabaixo, ao fazer o download selecione a verso mais atual que esteja de acordo com a arquitetura doseu Windows, 32 ou 64 bits:

    http://sourceforge.net/projects/bacula/files/Win32_64/l

    Aps baixar o instalador, execute o instalador do mesmo, ele segue o padro Next, Next, Finish,durante o processo de instalao, desmarque a instalao do console, uma vez que o mesmo noser utilizado em um cliente comum, e na sequncia, informe o nome do Director e ento mande ainstalao continuar.

    Geralmente aps a instalao um arquivo contendo as informaes do cliente so salvas no diretrioC:, guarde arquivo pois voc ir precisar do mesmo, mas, aps o seu uso, descarte-o de forma correta,pois neste arquivo esto salvas as senhas de acesso ao cliente Windows.

    Aps a instalao, necessrio liberar no Firewall a porta utilizada pelo Bacula Cliente para aceitarconexes vindas do IP do Director, a porta utilizada no cliente, geralmente a TCP 9102.

    Alm disso, para poder realizar Backups da unidade C, necessrio aplicar o Path abaixo no registro:

    bacula.regl

    Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\wbengine][HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\wbengine\SystemStateBackup]"ALlowSSBToAny"=dword:00000001

    Copie o contedo acima em um arquivo chamado bacula.reg e aps isso execute o mesmo para queas informaes sejam importadas para o registro do windows.

    Adicionando os Hosts no Bacula DirectorVerificar nome do director Verificar a senha Verificar destino das mensagens

  • 25/03/2014 13:25 31/31 Guia de Instalao e Configurao do Bacula

    Docs Plenatech - https://docs.plenatech.com.br/

    Dicas Rpidas

    bconsolestatus dir Verificar a situao do Bacula Directorlreload Recarregar as configuraes do Baculaltime Verificar a hora corrente do sistemal

    Manipulando FitasNo CentOS o comando mt esta disponvel no pacote mt-st (yum install mt-st -y)lmt -f /dev/nst0 rewind para rebobinar a fitalmt -f /dev/nst0 eof para apagar rapidamente / reciclar a fitalmt -f /dev/nst0 erase para apagar literalmente a fita (processo lento).lmt -f /dev/nst0 ejectlmt -f /dev/nst0 loadl

    Fontes de PesquisaLivro Bacula - Ferramenta Livre de Backup :lhttp://www.brasport.com.br/index.php?dispatch=products.view&product_id=645Documentao do Bacula: http://www.bacula.org/en/?page=documentationlBacula Backup Brasil - BBB http://www.bacula.com.br/lBackup em Ambientes Enterprise com Bacula :http://www.youtube.com/watch?v=81eSyhPww4cl

    Origem:https://docs.plenatech.com.br/ - Docs Plenatech

    Caminho Completo:https://docs.plenatech.com.br/linux/bacula

    ltima Atualizao: 18/12/2013 20:42

    Guia de Instalao e Configurao do BaculaConceitos Importantes em Relao ao Backup e ao BaculaEstrutura do BaculaInstalando o BaculaBanco de DadosInstalao e Configurao do Banco de Dados MySQLCriando a Base de Dados e Usurio do Banco para o BaculaInstalao e Configurao do Banco de Dados PostgreSQL

    Instalando o Bacula ServidorPara MySQLPara PostgreSQLContinuando a instalao aps a escolha do banco de dados...

    Configurando o Bacula ServidorAlterando os NomesConfigurando o bconsole.confConfigurando o bacula-fd.confConfigurando o bacula-sd.confConfigurando bacula-dir.conf

    Instalando ClientesLinuxWindowsAdicionando os Hosts no Bacula DirectorDicas RpidasbconsoleManipulando FitasFontes de Pesquisa