instalação e configuração do bacula com interface web (bweb_brestore) [artigo]

11
Instalação e configuração do Bacula com interface web (Bweb/Brestore) Autor: Fabrício Rodrigo <fabriciorodrigo at yahoo.com.br> Data: 20/07/2010 Instalação do Bacula no Ubuntu/Debian Informações gerais: Ubuntu Server 10.04 MySQL Server 5.0 Apache2 Instalação do Bacula A instalação do Bacula através do gerenciador de pacotes é bastante simples, basta executar o comando abaixo que serão instaladas todas as dependências, inclusive o MySQL, que é o banco de dados padrão do programa. Também há suporte ao banco de dados Postgres, porém devem ser especificados os pacotes, mas não será abordado nesse tutorial. # aptget install bacula Serão instalados os seguintes pacotes: baculaclient baculacommon baculacommonmysql bacula console baculadirectorcommon baculadirectormysql baculafd baculasd baculasdmysql bacula server dbconfigcommon Será instalado o bacula director, file daemon e storaged daemon. Para a instalação parcial deverão ser instalados o baculadirectorcommon, baculafd e baculasd respectivamente. Configuração do Bacula O Bacula é um sistema distribuído, sendo formado por 3 daemons: director, storage daemon e file daemon. Cada daemon "executa" independentemente, podendo estar localizado em máquinas separadas. O file daemon deve estar instalado em todas as máquinas clientes. No ambiente analisado, todos os daemons estão instalados na mesma máquina. Bacula Director (baculadir.conf):

Upload: marco-aurelio-da-silva

Post on 29-Nov-2014

328 views

Category:

Documents


17 download

TRANSCRIPT

Page 1: Instalação e configuração do Bacula com interface web (Bweb_Brestore) [Artigo]

Instalação e configuração do Bacula com interface web (Bweb/Brestore)

Autor: Fabrício Rodrigo <fabriciorodrigo at yahoo.com.br>Data: 20/07/2010

Instalação do Bacula no Ubuntu/Debian

Informações gerais:

Ubuntu Server 10.04MySQL Server 5.0Apache2

Instalação do BaculaA instalação do Bacula através do gerenciador de pacotes é bastante simples, basta executar o comandoabaixo que serão instaladas todas as dependências, inclusive o MySQL, que é o banco de dados padrãodo programa. Também há suporte ao banco de dados Postgres, porém devem ser especificados ospacotes, mas não será abordado nesse tutorial.

# apt­get install bacula

Serão instalados os seguintes pacotes: bacula­client bacula­common bacula­common­mysql bacula­console bacula­director­common bacula­director­mysql bacula­fd bacula­sd bacula­sd­mysql bacula­server dbconfig­common

Será instalado o bacula director, file daemon e storaged daemon. Para a instalação parcial deverão serinstalados o bacula­director­common, bacula­fd e bacula­sd respectivamente.

Configuração do BaculaO Bacula é um sistema distribuído, sendo formado por 3 daemons: director, storage daemon e filedaemon. Cada daemon "executa" independentemente, podendo estar localizado em máquinas separadas.O file daemon deve estar instalado em todas as máquinas clientes.

No ambiente analisado, todos os daemons estão instalados na mesma máquina.

Bacula Director (bacula­dir.conf):

Page 2: Instalação e configuração do Bacula com interface web (Bweb_Brestore) [Artigo]

Gerenciador; Núcleo do programa; é responsável por supervisionar todas as operações de backup,restauração, controle e verificação de arquivos.

Bacula Storage:

Responsável pelo armazenamento, leitura e escrita em fita, disco ou outros dispositivos. Deve serinstalado onde os arquivos serão armazenados, podendo ser instalado em mais de uma máquina.

Bacula File Daemon:

Este é o cliente do Bacula. Deve ser instalado em todas as máquinas onde serão realizados os backups.

Configuração do directorAltere as configurações de acordo com a necessidade/ambiente.

Director #definições do gerenciador/director Name = ubuntuu­dir #nome do gerenciador/director DIRport = 9101 #porta de comunicação do director QueryFile = "/etc/bacula/scripts/query.sql" WorkingDirectory = "/var/lib/bacula" PidDirectory = "/var/run/bacula" Maximum Concurrent Jobs = 10 #máximo de conexões simultâneas Password = "yveAet993vzsWug3KoZUKjVbdZy0nrSqIqQCFH80rIVS" #senha clienteterminal/console Messages = Daemon #tipo de mensagens a serem geradas no log

JobDefs #definições de padrão de tarefa Name = "DefaultJob"#nome do padrão Type = Backup #tipo de tarefa (backup/restore) Level = Incremental #tipo de backup (incremental/diferencial/full) Client = ubuntuu­fd #cliente FileSet = "Full Set" #nome do conjunto de arquivos Schedule = "Diario" #tipo de agendamento Storage = File #tipo de armazenamento (file/tape) Messages = Standard #padrão de mensagens geradas (log) Pool = File #tipo de pool utilizado Priority = 10 #prioridade Write Bootstrap = "/var/lib/bacula/%c.bsr"

Job #definição de tarefa Name = "BackupClient1" #nome da tarefa JobDefs = "DefaultJob" #padrão de tarefa

Page 3: Instalação e configuração do Bacula com interface web (Bweb_Brestore) [Artigo]

Job #definição da tarefa Name = "RestoreFiles" #nome da tarefa Type = Restore #tipo de tarefa (backup/restore) Client=ubuntuu­fd #cliente FileSet="Full Set" #nome do conjunto de arquivos Storage = File #tipo de armazenamento (file/tape) Pool = Default #tipo de pool utilizado Messages = Standard #padrão de mensagens geradas (log) Where = /mnt/bacula­restores #onde será restaurado o backup

FileSet #conjunto de arquivos e diretórios Name = "Home Set" #nome do conjunto Include Options signature = MD5 #hash para verificação de integridade File = /home #arquivos selecionados Exclude File = /home/backup #arquivos excluídos

Schedule #agendamento Name = "Diario" #nome do agendamento Run = Full sun­sat at 23:10 #definição do agendamento (Full de domingo (sunday) a sabado (saturday)as 23:10)

Client #definições do cliente Name = ubuntuu­fd #nome do cliente Address = 10.113.254.246 #ip do cliente (File Daemon) FDPort = 9102 #porta de comunicação com o cliente Catalog = MyCatalog #catálogo de arquivos Password = "zWfAKqdbZb1PjYL9Ud­HForFnoUzkJBSM" #senha cliente (File Daemon) File Retention = 30 days #retenção dos arquivos (30 dias) Job Retention = 6 months #retenção da tarefa (6 meses) AutoPrune = yes #limpeza/supressão automática do catálogo após expirado o tempo de retenção (nãoafeta os dados do volume)

Storage #definição do dispositivo de armazenamento Name = File #nome do dispositivo Address = 10.113.254.246 #ip do dispositivo de armazenamento (Storaged Daemon) SDPort = 9103 #porta de comunicação com a storaged Password = "jKNZOR8Kl8nSuHFWi6H9txhEyTqODE3gW" #senha dispositivo (Storaged Daemon) Device = FileStorage #dispositivo (Storaged Daemon)

Page 4: Instalação e configuração do Bacula com interface web (Bweb_Brestore) [Artigo]

Media Type = File #tipo de armazenamento

Pool #definição do tipo de volume/partição a ser montado Name = Default #nome do volume Pool Type = Backup #tipo de pool Backup/Archive/Cloned/Migration/Copy/Save (atualmente apenasbackup implementado) Recycle = yes #bacula automaticamente recicla os volumes (caso não possa ser adicionado maisvolumes será rescrito sobre os expirados) AutoPrune = yes #limpeza/supressão automática do catálogo após expirado o tempo de retenção (nãoafeta os dados do volume) Volume Retention = 365 days #tempo de retenção de 365 dias

Console Name = ubuntuu­mon Password = "8UZ_p8sbi38XUmDGT5I3tt4egyM7uTpDx" CommandACL = status, .status

Configuração do cliente (file daemon)Altere as configurações de acordo com a necessidade/ambiente.

FileDaemon #definições file daemon Name = ubuntuu­fd #nome (mesmo do bacula­dir.conf) FDport = 9102 #porta de comunicacao com o director WorkingDirectory = /var/lib/bacula Pid Directory = /var/run/bacula Maximum Concurrent Jobs = 20 #maximo de tarefas simultâneas

Director #dados para comunicação com o director Name = ubuntuu­dir #nome (mesmo do bacula­dir.conf) Password = "zWfAKqdbZb1PjYL9Ud­HForFnoUzkJBSM" #senha (mesmo do bacula­dir.conf)

Messages #definição do tipo de mensagem a ser logada Name = Standard #nome do padrão director = ubuntuu­dir = all, !skipped, !restored #parametros a serem logados, no caso todos(all), excetosaída (skipped) e restauração (restore)

Page 5: Instalação e configuração do Bacula com interface web (Bweb_Brestore) [Artigo]

Configuração do dispositivo de armazenamento(storaged daemon)As configurações devem ser alteradas de acordo com a necessidade/ambiente.

Storage #definições storaged Name = ubuntuu­sd #nome SDPort = 9103 #porta de comunicação com o director WorkingDirectory = "/var/lib/bacula" Pid Directory = "/var/run/bacula" Maximum Concurrent Jobs = 20 #maximo de tarefas simultâneas# SDAddress = 0.0.0.0 #ip da máquina

Director #definição do director que terá acesso ao "daemon" de armazenamento Name = ubuntuu­dir #nome Password = "jKNZOR8Kl8nSuHFWi6H9txhEyTqODE3gW" #senha

Device #definições do dispositivo de armazenamento Name = FileStorage #nome (mesmo a ser usado no director) Media Type = File #tipo de media/dispositivo ­ File/Tape Archive Device = /mnt/backup #ponto de montagem do volume LabelMedia = yes; #bacula permitir media sem rótulo/nomeação Random Access = Yes; AutomaticMount = yes; #quando o dispositivo abrir, lê­lo. RemovableMedia = no; AlwaysOpen = no;

Messages #definição do tipo de mensagem a ser logada Name = Standard #nome do padrão director = ubuntuu­dir = all #parametros a serem logados, no caso todos(all)

Após configuração dos daemons, os mesmos devem ser reinicializados.

Instalação e configuração da interface web (Bweb)

Instalar dependências do aplicativo bweb

Módulos Perl:

Page 6: Instalação e configuração do Bacula com interface web (Bweb_Brestore) [Artigo]

# apt­get install libgd­graph­perl libhtml­template­perl libexpect­perl \libdbd­mysql­perl libdbd­pg­perl libdbi­perl \libdate­calc­perl libtime­modules­perl

Fonte:

# apt­get install ttf­dejavu

Instalar o BwebPrimeiramente devem ser baixados os arquivos fonte do Bweb, para isso pode ser utilizado o wget:

# wget http://sourceforge.net/projects/bacula/files/bacula/5.0.2/bacula­gui­5.0.2.tar.gz/download

Após baixar o arquivo, deve­se desempacotar o mesmo e entrar na pasta da aplicação Bweb:

# tar xzvf bacula­gui­5.0.2.tar.gz# cd bacula­gui­5.0.2/bweb

Após descompactado, deve­se copiar as bibliotecas Bweb Perl para a o caminho do perl5, através doscomandos:

# perl Makefile.PL# make install

Em seguida, devem ser copiados os arquivos do programa Bweb para a pasta cgi do servidor.

# cd ..# mkdir ­m 755 /usr/lib/cgi­bin/bweb# install ­m 755 ­o root ­g root bweb/cgi/*.pl /usr/lib/cgi­bin/bweb

Agora cria­se o arquivo de configuração através do seguinte comando, atribuindo em seguida o usuáriodo servidor web apache como proprietário do mesmo.

# echo '$VAR1 = template_dir => "/usr/share/bweb/tpl" ;' > /etc/bacula/bweb.conf# chown www­data /etc/bacula/bweb.conf

Em seguida deve ser criada a pasta para os templates da aplicação e copiados os arquivoscorrespondentes através dos seguintes comandos:

# mkdir ­p /usr/share/bweb/tpl/en# install ­m 644 ­o root ­g root bweb/lang/en/tpl/*.tpl /usr/share/bweb/tpl/en

Para finalizar, copia­se os elementos gráficos da aplicação dentro da pasta Bweb (que deve ser criada),no document root do servidor web.

# mkdir /var/www/bweb

Page 7: Instalação e configuração do Bacula com interface web (Bweb_Brestore) [Artigo]

# install ­m 644 ­o root ­g root bweb/html/*.js,png,css,gif,ico,html /var/www/bweb

Configurar o BwebApós instalado a aplicação Bweb, deve ser realizada a configuração do arquivo /etc/bacula/bweb.confcom os seguintes parâmetros:

$VAR1 = bless( 'enable_security' => 0, 'graph_font' => '/usr/share/fonts/truetype/ttf­dejavu/DejaVuSerif.ttf', 'config_file' => '/etc/bacula/bweb.conf', 'password' => 'senhamysql', 'dbi' => 'DBI:mysql:database=bacula', 'user' => 'bacula', 'error' => '', 'debug' => 0, 'stat_job_table' => 'Job', 'display_log_time' => 0, 'lang' => 'en', 'wiki_url' => '', 'name' => undef, 'bconsole' => '/usr/bin/bconsole ­n ­c /etc/bacula/bconsole.conf', 'fv_write_path' => '/var/spool/bweb', 'template_dir' => '/usr/share/bweb/tpl', 'enable_security_acl' => 0, 'email_media' => 'frsl@localhost', 'default_age' => '7d' , 'Bweb::Config' );

Obs.: O arquivo de configuração deve ser adaptado de acordo com as configurações do ambiente queestá sendo instalada a aplicação.

Se é utilizado o sudo, insira os seguintes valores no arquivo /etc/sudoers:

www­data ALL = (root) NOPASSWD: /usr/sbin/mtx ­f /dev/changer transfer *www­data ALL = (root) NOPASSWD: /usr/sbin/mtx ­f /dev/changer statuswww­data ALL = (root) NOPASSWD: /usr/sbin/mtx ­f /dev/changer load *www­data ALL = (root) NOPASSWD: /usr/sbin/mtx ­f /dev/changer unload *

Acesse a aplicação através do seguinte endereço no navegador web:

http://your­server/bweb

Obs.: Se o arquivo de configuração não for editado, será apresentada uma tela inicial para que se possaconfigurar o mesmo através da interface.

Page 8: Instalação e configuração do Bacula com interface web (Bweb_Brestore) [Artigo]

Instalação e configuração da interface web (Brestore)

Instalar dependências do aplicativo BrestoreMódulos Perl:

# apt­get install libgtk2­gladexml­perl \libdbd­mysql­perl \libdbd­pg­perl \libexpect­perl \libwww­perl

Módulos Extjs:

Para baixar os arquivos do modulo extjs, utilize o wget e em seguida descompacte os arquivos dentro dapasta 'ext' do 'document root' do servidor web.

# wget http://www.sencha.com/deploy/ext­2.3.0.zip

Descompactar em /var/www/bweb/ext:

# unzip ­d ext ext­2.3.0.zip# mv ext­2.3.0/ /var/www/bweb/ext

Carregar atualizações do MySQLPara que o brestore funcione é necessário a atualização do banco de dados, para isso acesse a pasta'script' dentro do bweb e carregue o arquivo 'bweb­mysql.sql' para o bd mysql.

# cd /bweb/script# mysql ­u root bacula < bweb­mysql.sql ­p

Será solicitada a senha de root para acesso ao banco. Após a inserção da senha, as tabelas do Baculaserão atualizadas.

Instalação do BrestorePara instalar o Brestore basta acessar a pasta baixada anteriormente para instalar o Bweb no passo 7 eacessar a pasta 'brestore'. Após acessar a pasta, deve­se instalar a interface glade do brestore na pasta/usr/share/brestore através dos comandos:

# cd bacula­gui­5.0.2/brestore

Page 9: Instalação e configuração do Bacula com interface web (Bweb_Brestore) [Artigo]

# mkdir ­p /usr/share/brestore# install ­m 644 ­o root ­g root brestore.glade /usr/share/brestore# install ­m 755 ­o root ­g root brestore.pl /usr/bin

Configuração do BrestoreEdite o arquivo "/usr/lib/cgi­bin/bweb/bresto.pl" e habilitar a seguinte variável com o valor '1'.

my $bresto_enable = 1;

Edite o arquivo "/usr/bin/brestore.pl" com as seguintes variáveis

my $glade_file = '/usr/share/brestore/brestore.glade' ;

$parameters = 'mozilla' => 'mozilla', 'bconsole' => '/usr/local/bin/bconsole ­n ­c /etc/bacula/bconsole.conf', 'bweb' => 'http://localhost/cgi­bin/bweb/bweb.pl', 'connection_string' => 'DBI:mysql:database=bacula;host=127.0.0.1;port=3306', 'username' => 'bacula', 'password' => 'xxxx', 'bsr_dest' => 'file://var/tmp', 'debug' => 0, 'use_ok_bkp_only' => 1, 'default_restore_job' => 'restore' ;

Acesse a aplicação através do seguinte endereço no navegador web ou através do Bweb:

http://your­server/bweb/bresto.html

Considerações finais e referências

Considerações sobre o exemplo citado:

No exemplo citado nesse tutorial, todos os módulos do Bacula foram instalados na mesma máquina,inclusive o banco de dados (MySQL) e o servidor web (Apache2). Ao instalar em máquinas diferentes,observar de configurar corretamente as senhas de acesso aos daemons e IPs das máquinascorrespondentes.

O IP da máquina utilizada foi 10.113.254.246. Nos testes houveram alguns problemas na utilização donome localhost e do IP de loopback '127.0.0.1', que foram sanados utilizando o IP da máquina.

Page 10: Instalação e configuração do Bacula com interface web (Bweb_Brestore) [Artigo]

Acessando via terminalPara acessar o bacula via terminal basta digitar o comando:

$ bconsole

Para verificar os comandos disponíveis basta digitar a tecla tab duas vezes. Abaixo há um exemplolistando o status do cliente "desktop­fd" através do comando "status".

Acessando o BwebPara acessar Bacula via interface web basta digitar o endereço http://ip­do­server/bweb no navegador.Será exibida a página do Bweb:

Acessando o BrestorePara acessar o módulo de recuperação do Bacula via interface web basta digitar o endereço http://ip­do­server/bweb/bresto.html no navegador ou ir até o menu jobs do Bweb e clicar no link Web Restore,como pode ser observado na figura a abaixo. Será exibida a página do Brestore:

Page 11: Instalação e configuração do Bacula com interface web (Bweb_Brestore) [Artigo]

Referências bibliográficasTutorial linux | Instalação do Bacula | Bacula é um programa que possibilita fazer backup | LinuxMonsters | Artigos, dicas, tutoriais, fórum, linux shell scripts, scripts linux, scripts e muito maisMontando um completo servidor de backup usando Bacula [Artigo]Bacula no Debian Lenny [Artigo]MY Experiences: Install Bacula BWEBUbuntu Server 9.04 Bacula Bweb GUI | HowtoForge ­ Linux Howtos and TutorialsHow to install and setup Bweb

http://www.vivaolinux.com.br/artigo/Instalacao­e­configuracao­do­Bacula­com­interface­web­(Bweb­Brestore)

Voltar para o site