19 junho 2007

Tutorial Bacula: Configurando Storage Daemon, File Daemon e Console

Depois de algum tempo enrolado com provas da faculdade, estou eu aqui para mais uma parte do tutorial sobre Bacula. Aqui vamos ver como configurar os serviços Storage Daemon, File Daemon e Console. O Director Daemon será configurado a parte por possuir uma grande complexibilidade e, por isso, ser um assunto muito extenso.

Arquivo /etc/bacula/bacula-sd.conf (Storage Daemon)

Vamos começar pelo Storage Daemon. Segue abaixo o arquivo de configuração /etc/bacula/bacula-sd.conf:

# Configuração para o Servidor de Armazenamento.
# Esse é o servidor no qual está instalada fisicamente a mídia de armazenamento

#
# Aqui são definidas as configurações do próprio servidor de armazenamento
#
Storage {
# Nome do Storage Daemon, esse é o nome utilizado pelo bacula,
# não necessariamente precisa ser o hostname
Name = sf1-sd
# Porta utilizada pelo Director Daemon para acessar o Sotorage Daemon
SDPort = 9103 Daemon
# Diretório de trabalho (temporário) do Storage Daemon
WorkingDirectory = "/var/lib/bacula/working"
# Diretório onde é armazenado informação sobre o processo rodando
Pid Directory = "/var/run"
# Númro de trabalhos rodando ao mesmo tempo
# Se você irá fazer mais de 1 backup ao mesmo tempo, indique o número aqui
# No meu caso será somente 1 trabalho mesmo
Maximum Concurrent Jobs = 1
}

#
# Aqui é listado a configuração para conexão com o Director Daemon
#
Director {
# Nome do Director Daemon (cadastrado no /etc/bacula/bacula-dir.conf)
Name = sf1-dir
# Senha que o Director irá usar para acessar o Storage
Password = "senha"
}

#
# Define as configurações da unidade de fita
#
Device {
# Nome do dispositivo
Name = AIT-1
# Tipo do dispositivo, pode ser File (arquivos, partições), Tape (fitas), Fifo (sistemas de acesso sequencial) ou DVD
Device Type = Tape
# Nome do dispositivo pelo qual o linux irá acessar a unidade de fita
Archive Device = /dev/nst0
# Diz se a fita ira receber um nome pelo Bacula
LabelMedia = yes;
# As opções abaixo não tive tempo de procurar saber para que servem,
# mas ficando no padrão já funcionan
Random Access = Yes;
AutomaticMount = yes;
RemovableMedia = no;
AlwaysOpen = no;
}

#
# Essa opção envia as possíveis mensagens geraradas para o Director
#
Messages {
# Nome da configuração de mensagens
Name = Standard
# Nome do Director Daemon
# all significa que todas mensagens serão enviadas
director = sf1-dir = all
}
Obs.: Os comentários originais do arquivo de configuração foram tirados para uma melhor visualização, e nem todas as opções possíveis para configuração do Storage Daemon são tratadas aqui, somente as necessárias para o correto funcionamento do sistema estão tratadas aqui. Isso também vale para todos os outros arquivos de configuração.

As configurações acima servem para disponibilizar um dispositivo de backup (que no meu caso é uma unidade AIT-1 Turbo, mas pode ser qualquer outra unidade de fita, além de gravadores de DVDs e CDs, partições de HDs, etc) para o Director, que irá acessa-lo no momento do backup ou da recuperação dos dados. Os nomes dados é você quem escolhe, não é necessário ser o nome correto do dispositivo

Acredito que com os comentários nas configurações já seja possível entender a configuração do Storage Daemon. Qualquer duvida ou opinião será bem-vinda para melhoria do artigo.

Arquivo /etc/bacula/bacula-fd.conf (File Daemon)
#
# Esse é o arquivo responsável pelas configurações do cliente,
# ou seja, o local onde estão os dados a serem incluidos no backup
#

#
# Aqui é listado a configuração para conexão com o servidor principal do bacula
#
Director {
# Nome do Director Daemon que irá acessar este File Daemon
Name = sf1-dir
# Senha que o Director usará para acessar este cliente
Password = "senha"
}

#
# Especificação das configurações globais do cliente
#
FileDaemon {
# Nome deste cliente, pode ser qualquer nome que o identifique melhor
Name = sf1-fd
# Porta pela qual o servidor bacula ira acessar o cliente
FDport = 9102
# As opções abaixo são indenticas as do Storage Daemon
WorkingDirectory = /var/lib/bacula/working
Pid Directory = /var/run
Maximum Concurrent Jobs = 1
}

#
# Essa opção envia as possíveis mensagens geradas para o Director
#
Messages {
# Nome da configuração de mensagens
Name = Standard
# Nome do Director Daemon
# all significa que todas mensagens serão enviadas
# O ! significa exceto
director = sf1-dir = all, !skipped, !restored
}
Arquivo /etc/bacula/bconsole.conf (File Daemon)
#
# Bacula User Agent (or Console) Configuration File
#

Director {
# Nome do Director Daemon que o console irá acessar
Name = sf1-dir
# Porta pela qual o console irá acessar o Director
DIRport = 9101
# Endereço do Director, pode ser o hostname ou endereço IP
address = sf1
# Senha com a qual o console irá acessar o Director
Password = "senha"
}

Pronto, com essas configurações já estamos 30% do servidor pronto, resta agora configurar o Director Daemon, que corresponde por 50%, e aprender a operar o Bacula pelo console. Teremos mais 2 posts para terminar o artigo e estarmos aptos a colocar o sistema para rodar. Espero terminar esse artigo nas próximas 2 semanas, e, como sempre, espero a contribuição de vocês para melhorar o artigo.

Obs.: As porcentagens foram calculadas por mim, sem nenhuma pretenção de estarem certas, mas quem sabe eu tenha acertado mesmo ;-)

Um comentário:

Anônimo disse...

Muy bueno el tutorial, yo estoy configurando bacula con una AIT-2 y hasta ahora no sabia como especificarla en el device.