Os Clientes do Bacula não têm muitas dependências e desde que eles são desenvolvidos C/C++ eles podem ter seus binários construídos basicamente em qualquer sistema operacional. É importante lembrar que a versão do cliente não pode ser maior do que a do Director e Storage Daemons, embora o oposto possa acontecer.

Veremos a seguir algumas possibilidades de instalação apenas de Clientes.

Instalação Clientes Linux

Pacotes Community Bacula.org e ENTERPRISE

Aqui existem duas opções. Podemos mais uma vez cadastrar os repositórios yum/apt para instalação do cliente (da mesma forma que o servidor), o que facilita atualizações futuras, ou fazer o download manuais dos pacotes e instalar.

Por Repositórios

Cadastre os repositórios Bacula.org ou da Bacula Systems (Enterprise).

Não é necessário instalar banco de dados (Catálogo) nem o pacote Director do Bacula. Proceda apenas com a instalação do pacote cliente. Por exemplo:

#!/bin/bash

# /root/bacula_enterprise_install.sh
# Centos 7

# Altere abaixo de acordo com o URL exclusivo do pacote de boas vindas da Bacula Enterprise
# Ex.: in https://www.baculasystems.com/dl/<xxx>/rpms/bin/8.6.5/rhel7-64/

secret_url="<xxx>"

# Mude a seguir de acordo com a versão que deseja instalar:

version="10.0.8"

# Isso vai configurar o repositório do Bacula Enterprise (não mude mais nada):

rpm --import https://www.baculasystems.com/dl/keys/BaculaSystems-Public-Signature-08-2017.asc

echo "
[Bacula-Enterprise]
name = Red Hat Enterprise - Bacula-Enterprise
baseurl = https://www.baculasystems.com/dl/"$secret_url"/rpms/bin/"$version"/rhel7-64/
enabled = 1
protect = 0
gpgcheck = 1
" > /etc/yum.repos.d/Bacula-Enterprise.repo

yum -y install bacula-enterprise-client

service bacula-fd restart

# Bacula Client instalado com sucesso.

# Regras de Firewall

# Se Firewalld

firewall-cmd --permanent --zone=public --add-port=9102/tcp
service firewalld restart

# Desabilita selinux:

setenforce 0
sudo sed -i "s/enforcing/disabled/g" /etc/selinux/config

Prossiga para o tópico de configuração do cliente.

Download de Pacotes

Acesse o repositório pelo navegador web e localize os pacotes necessários: bacula-client e libs, no caso da família CentOS/RHEL, ou bacula-client e common, no caso de Debian/Ubuntu.

Faça o download e instale, como no exemplo:

rpm -ivh bacula-client-9.2.2-1.el7.x86_64.rpm bacula-libs-9.2.2-1.el7.x86_64.rpm
# or
dpkg -i bacula-common_9.2.2-1_amd64.deb bacula-client_9.2.2-1_amd64.deb

Caso esteja no CentOS e/ou tenha Firewall instalado, desabilitar o Selinux liberar a porta 9102 no Firewall:

setenforce 0
sudo sed -i "s/enforcing/disabled/g" /etc/sysconfig/selinux
firewall-cmd --permanent --zone=public --add-port=9102/tcp
firewall-cmd --reload

Prossiga para o tópico de configuração do cliente.

Instalação de Clientes Windows

Já existem pacotes construídos no site da Bacula.org. Eles contêm o Cliente, Storage Daemon e as consoles bconsole e BAT para Windows, mas para este procedimento estamos apenas instalando o Cliente, uma vez que mais usual para backup de servidores de produção.

• Baixe e descompacte os pacotes dos clientes de Bacula.org: https://blog.bacula.org/binary-download-center/ (ou no repositório da Bacula Systems no caso do Enterprise)

• Execute a instalação como Administrador (do sistema e do Domínio, se aplicável). Aceite o contrato de licença.

• Selecione o arquivo .exe que deve atender a sua arquitetura do Windows: 32 ou 64 bits. Ex.: bacula-win64-9.4.0.exe.

• Execute e aceite os Termos da Licença.

• Como mostrado na Figura 1, selecione Instalação Customizada (Custom – permite que você antecipe a configuração do Cliente, informando o nome real do seu Director e copiando a senha randômica gerada para associação posterior ao servidor de backup).

 

Instalação Clientes Bacula 1

Figura 1. Instalação Customizada Cliente Windows

• Como na Figura 2, escolha o software que deseja instalar (neste exemplo, o Cliente Windows e os Plugins gratuitos que acompanham).

Instalação Clientes Bacula 2

Figura 2. Instalação Cliente e Plugins Gratuitos do Bacula

• Como exibido na Figura 3, ajuste o nome do cliente do Bacula caso desejado (livre), e uma senha para acesso do Director neste cliente. Copie essa senha para um bloco de notas, para depois realizar a amarração no Director.

Instalação Clientes Bacula 3

Figura 3. Nome e senha do novo cliente Bacula

• Finalmente de acordo com a Figura 4, preencha o nome do Diretor conforme configurado em sua máquina do servidor Bacula Director (bacula-dir.conf – recurso Director). Você também pode obter essa informação ao acessar o bconsole ou usando o comando version.

Instalação Clientes Bacula 4

Figura 4. Nome real do Director para configuração do Cliente

• Aguarde o final da instalação. Feche os prompts / telas adicionais.

• Prossiga com o tópico de Configuração dos Clientes Bacula.

Configuração dos Clientes Bacula

I. bacula-fd.conf (lado do cliente):

◦ Edite o arquivo de configuração do cliente:

a) Linux: vi /opt/bacula/etc/bacula-fd.conf

b) Windows: se não fez na instalação, vá em Menu Inciar > Bacula > Configuration > Edit Client Configuration.

◦ Edite / certifique-se de que o primeiro recurso de nome Diretor (aquele sem a diretiva Monitor = yes)1 contém exatamente o mesmo nome configurado na sua máquina do servidor do Bacula Director (bacula-dir.conf – recurso Director ).2 Você também pode obter essa informação ao acessar o bconsole ou usando o comando version.

◦ Copie a senha gerada aleatoriamente ainda no mesmo recurso Director do bacula-fd.conf (diretiva password) ou altere-a conforme desejar. Você precisará dessa informação mais tarde ao anexar esse cliente ao Diretor.

◦ Altere a diretiva Name do FileDaemon (recurso FileDaemon) se julgar que não é adequado ou que este cliente pode ser um nome mais significativo.

◦ Salvar e sair. Reinicie o serviço do cliente:

a) Linux: service bacula-fd restart

b) Windows: Acesse o Gerenciador de Serviços (services.msc) e reinicie o serviço Bacula File Daemon.

◦ Verifique se o sistema operacional possui um firewall ativo. Se sim, adicione uma exceção TCP 9102 de entrada para que o Diretor possa se conectar a esse cliente. Ou execute o seguinte comando no terminal do Windows:

netsh advfirewall firewall add rule name="bacula-fd" dir=in action=allow protocol=TCP localport=9102

II. bacula-dir.conf (lado do servidor):

◦ Adicione um novo recurso de cliente (você pode copiar e colar de um já existente e alterar os valores das diretivas necessárias. No caso do ENTERPRISE pode fazer pelo BWeb). Altere o nome do cliente (Name) para o mesmo nome configurado em bacula-fd.conf (este realmente não precisa ser o mesmo, mas penso que seja uma boa prática); em Address coloque o endereço para o IP ou FQDN (nome qualificado) de sua máquina cliente; e por fim, em Password, coloque a senha que foi copiada anteriormente também do bacula-fd.conf. Por exemplo.:

Client {
  Name = bacula-fd
  Address = 192.168.1.199
  FDPort = 9102
  Catalog = MyCatalog
  Password = "xos2o70KCHf4namn9vs5fENUGNuEf5WaxWtL8j"
  File Retention = 1 year
  Job Retention = 1 year
  AutoPrune = yes
}

◦ Salve e saia do arquivo bacula-dir.conf.

◦ Reinicie o bacula-dir ou recarregue-o no bconsole para aplicar as alterações (comando reload).

◦ No bconsole, faça um status client para o novo cliente amarrado. Se ele retornar o nome do cliente, versão e lista de jobs, isso significa que sua configuração foi um sucesso e o Director pode se conectar ao seu cliente.

Agora que o novo Client foi anexado ao Diretor e testado, é hora de criar um novo Job e um novo FileSet. Volte para editar o bacula-dir.conf mais uma vez:

◦ Adicione um novo recurso Job (sugestão: copie um trabalho de backup do Bacula já existente para facilitar a digitação).

◦ Renomeie o Job para um nome distinto significativo. Este novo Job deve especificar o mesmo nome do cliente que foi usado no recurso do cliente. Aproveite esta oportunidade para atribuir um FileSet diferente e que ainda não existe, mas que estaremos criando o respectivo recurso com o mesmo nome logo adiante.

Job {
  Name = "BackupLibreOffice"
  JobDefs = "DefaultJob"
  Client = libreoffice-fd
  FileSet = fileserver_set
}

◦ Crie um novo FileSet com o mesmo nome especificado no Job (por exemplo: FileSet = fileserver_set). Lembre-se: de alterar o Include e Exclude com as pastas que você precisa ter no backup do novo cliente, e que para os diretórios do Windows você deve usar barras regulares e nunca barras invertidas, e que caminhos com espaços no nome devem ser escapados com aspas. Por exemplo.:

File = "C:/Program Files"

◦ Reinicie o bacula-dir ou recarregue-o com o comando reload no bconsole para aplicar as alterações.

◦ Teste suas novas configurações com o comando estimate listing do bconsole. Ele irá imprimir os arquivos que o Bacula iria fazer backup caso você iniciasse um Job, além do somatório do tamanho e quantidade dos arquivos que seriam copiados.

◦ Submeta seu primeiro Job de backup (run) se desejado. Não esqueça de acompanhar a execução do trabalho lendo suas mensagens (comando message do bconsole), usando os comandos status director, client ou storage (cada um fornece um detalhe diferente do Job em execução); ou usando o list jobs, que fornece um resumo codificado dos trabalhos em execução e terminados (consulte os últimos anexos deste livro para obter o significado dos códigos).

Disponível em: pt-brPortuguêsenEnglish (Inglês)esEspañol (Espanhol)