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 /opt/bacula/scripts/bacula restart # Bacula Client instalado com sucesso. # Regras de Firewall sed -i 's/:OUTPUT ACCEPT [0:0]/:OUTPUT ACCEPT [0:0]n-A INPUT -m state --state NEW -m tcp -p tcp --dport 9102 -j ACCEPT/g' /etc/sysconfig/iptables service iptables restart # 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).
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).
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.
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.
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 /etc/bacula/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: /etc/init.d/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: PortuguêsEnglish (Inglês)Español (Espanhol)