Bacula Server 7.0.3 com PostgreSQL no Debian

Introdução ao Bacula Server e instalação do PostgreSQL

Bacula é um software de backup em rede, baseado em três módulos:

  • Bacula-DIR :: Que é o daemon que irá executar, catalogar, agendar etc… os backups dos clientes.
  • Bacula-FD :: É o daemon cliente, ou seja, de quem iremos fazer o backup.
  • Bacula-SD :: É o daemon de Storage, é onde o Director irá criar os volumes, para que os clientes “despejem” seus arquivos.

Basicamente, o Bacula-DIR diz pro Bacula-FD: “envie para o Bacula-SD o conteúdo dos diretórios /X /Y /Z”.

Claro, tudo isso de uma forma bem mais complexa. Então, mãos na massa.

Considerando que temos o Debian já instalado, instalaremos o PostgreSQL via repositório:

# apt-get install postgresql-9.1 postgresql-contrib-9.1 postgresql-server-dev-9.1

Após instalado, como usuário postgres:

# su postgres

Vamos adicionar uma senha para o usuário postgres, do servidor PostgreSQL:

$ psql
postgres=# alter user postgres with password ‘postgres’;

Para sair do terminal do psql:

postgres=# \q

Retorne ao usuário root e vamos editar alguns parâmetros dos arquivos de configuração do PostgreSQL.

No arquivo /etc/postgresql/9.1/main/pga_hba.conf, edite as seguintes linhas para deixá-las como abaixo:

# Database administrative login by Unix domain socket
local  all       postgres            md5# TYPE DATABASE    USER    ADDRESS      METHOD

# “local” is for Unix domain socket connections only

local  all       all               md5

# IPv4 local connections:
host  all       all     127.0.0.1/32    md5
host  all       all     0.0.0.0/0      md5

# IPv6 local connections:
host  all       all     ::1/128       md5

E, no arquivo /etc/postgresql/9.1/main/postgresql.conf, edite a linha a seguir e deixe-a como abaixo:

listen_addresses = ‘*’     # what IP address(es) to listen on;

Feito isso, reinicie o serviço do PostgreSQL e tente uma conexão com o banco de dados com o usuário root:

# service postgresql restart
# psql -Upostgres -W

Se você logar no terminal do psql, pode sair do mesmo com o comando:

postgres=# \q

Na próxima página, vamos para a instalação das dependências do Bacula e a sua compilação.

Instalação de pacotes adicionais e compilação do Bacula

Para que o possamos compilar o Bacula de forma “correta”, teremos que instalar algumas dependências antes:

# apt-get install vim openssl make gcc build-essential libssl-dev libpq5 perl unp mc libqwt5-qt4-dev

E, em seguida, para habilitar o auto-complete no Bacula instalado por compilação, vamos instalar os seguintes pacotes, via repositório:

# apt-get install libreadline6 libreadline6-dbg libreadline-gplv2-dev

Confirme que foram criados os arquivos history.h e readline.h no diretório /usr/include/readline.

Considerando que você já tenha o PostgreSQL rodando em perfeito estado e o readline também, iremos fazer o download da última versão do Bacula, em:

Descompacte o arquivo .tar.gz do Bacula em um diretório de sua preferência:

# tar -zxvf bacula-7.0.3.tar.gz

Acesse a pasta onde o Bacula foi descompactado:

# cd bacula-7.0.3/

E vamos, enfim, configurar o Bacula de acordo com o nosso cenário:

#./configure –with-postgresql –with-db-user=postgres –with-db-password=postgres –with-db-port=5432 –with-readline=/usr/include/readline –disable-conio

Se todos os passos até aqui forem executados corretamente, a configuração do Bacula irá ocorrer perfeitamente. Então, executamos o comando:

# make
# make install

E, em seguida, para que os daemons iniciem junto com o seu servidor:

# make install-autostart

Se chegarmos aqui, está tudo bem. Vamos agora criar o catálogo do Bacula no PostgreSQL.

Primeiro, acesse o diretório onde o Bacula foi instalado, por padrão: /etc/bacula:

# cd /etc/bacula/

E vamos executar, respectivamente, os comandos de criação do banco de dados, população de dados e o arquivo que adiciona permissão “Full” ao usuário bacula nesta tabela:

# ./create_postgresql_database -Upostgres
# ./make_postgresql_database -Upostgres
# ./grant_postgresql_privilegies -Upostgres

Se os comandos acima retornarem com sucesso, já podemos reiniciar o Bacula Server:

# service bacula-fd restart
# service bacula-sd restart
# service bacula-dir restart

Se nenhum erro ocorrer até aqui, podemos acessar o console pela primeira vez, com o comando abaixo:

# bconsole

Se o console do Bacula abriu corretamente, ele irá te retornar este texto:

Connecting to Director bdir:9101
1000 OK: 1 bdir-dir Version: 7.0.3 (12 May 2014)
Enter a period to cancel a command.

Para sair do console, você só precisa digitar:

*exit

Agora, cabe a nós configurarmos os daemons do Bacula.

Em breve, postarei aqui algumas dicas de configuração dos daemons do Bacula, o que pode ser um assunto bem longo, se estudado a fundo.

Mas, nada melhor do que a documentação do software, então, fica a dica: Manuals « Bacula

Rolar para cima