Olá pessoal,
No artigo anterior apresentei o Bacula, um sistema de backup open source, que não fica atrás das soluções de mercado de grandes fabricantes como Dell, AC, IBM, Symantec e etc. Recomendo a leitura deste artigo anterior, pois explica a estrutura do Bacula e terminologias.
Hoje, iremos realizar a instalação do sistema.
Ambiente Usado
Ubuntu Server 14.04.3 LTS (x64) em máquina virtual – Virtualbox
Instalação do Bacula
Bacula usa banco de dados SQL para gerenciar as informações. Podemos usar MySQL ou PostgreSQL. Neste tutorial, eu usarei o MySQL server.
Antes de tudo, atualizar seu servidor Ubuntu com o comando:
sudo apt-get update && sudo apt-get dist-upgrade
Obs. Se necessário, em caso de update de kernel, reinicie o servidor.
Digite o seguinte comando para instalar o MySQL server:
sudo apt-get install mysql-server
Repita a senha:
Agora, vamos instalar bacula usando o seguinte comando:
sudo apt-get install bacula-server bacula-client
Por padrão, o Bacula usa Postfix MTA. Durante a instalação, será solicitado para configurar o Postfix.
Clique em OK para continuar.
Selecione a segunda opção ‘Site da Internet’ e clique em Ok.
Entre com o “fully qualified domain name” (FQDN) do servidor:
Agora, selecione “Sim” para configurar o banco de dados para Bacula com dbconfig-common.
Se quiser configurar um nome de servidor smtp para envio de e-mails, faça-o agora, se não, deixe em branco para não ter isso configurado agora.
Entre com a senha de administrador da database do MySQL
Defina a senha do bacula-director-mysql para se registrar com o servidor de banco de dados. Se deixada em branco, uma senha aleatória será gerada.
Repita a senha:
Feito! Temos instalado com sucesso Bacula. É hora de criar diretórios para backup e restauração.
Crie as Pastas de Backup e Restore
Entre com o comando abaixo para criarmos as pastas “/mybackup/backup” e “/mybackup/restore”
sudo mkdir -p /mybackup/backup /mybackup/restore
Defina as permissões de propriedade para os diretórios acima:
sudo chown -R bacula:bacula /mybackup/
sudo chmod -R 700 /mybackup/
Configure o Bacula
Edite a configuração do Bacula Director:
sudo nano /etc/bacula/bacula-dir.conf
Encontre a seguinte seção e edite colocando o local do restore.
Em nosso caso, /mybackup/restore é o nosso local de restore.
[...] Job { Name = "RestoreFiles" Type = Restore Client=server-fd FileSet="Full Set" Storage = File Pool = Default Messages = Standard Where = /mybackup/restore } [...]
Procure mais abaixo no arquivo para a seção “list of files to be backed up” e defina o caminho dos arquivos que deseja fazer backup.
Por exemplo, se eu quiser fazer backup da pasta “/home/Downloads”, basta incluir o parâmetro “File” e o caminho, conforme abaixo.
[...] # By default this is defined to point to the Bacula binary # directory to give a reasonable FileSet to backup to # disk storage during initial testing. # File = /home/Downloads } [...]
Vá até mais abaixo e encontre a seção Exclude e defina a lista de diretórios que serão excluídos do backup.
Aqui, acrescentei apenas a pasta /mybackup.
[...] # If you backup the root directory, the following two excluded # files can be useful # Exclude { File = /var/lib/bacula File = /nonexistant/path/to/file/archive/dir File = /proc File = /tmp File = /.journal File = /.fsck File = /mybackup } } [...]
Salve e feche o arquivo. (usando o nano, é usando os atalhos de teclado Ctrl+O (para salvar) e Ctrl+X (para fechar).
Edite as configurações do Bacula Storage Daemon:
Edite o arquivo /etc/bacula/bacula-sd.conf,
sudo nano /etc/bacula/bacula-sd.conf
Configure o local que o backup será armazenado. Em nosso caso, é o /mybackup/backup.
[...] Device { Name = FileStorage Media Type = File Archive Device = /mybackup/backup LabelMedia = yes; # lets Bacula label unlabeled media Random Access = Yes; AutomaticMount = yes; # when device opened, read it RemovableMedia = no; AlwaysOpen = no; } [...]
Agora, cheque se todas as configurações estão correras através dos comandos abaixo.
Se os comandos não mostrarem nenhum retorno, quer dizer que as configurações feitas são válidas.
sudo bacula-dir -tc /etc/bacula/bacula-dir.conf
sudo bacula-sd -tc /etc/bacula/bacula-sd.conf
Uma vez que todas as configurações passadas foram realizadas e deram certo, reinicie os serviços do Bacula.
No Ubuntu 15.04:
sudo systemctl restart bacula-director
sudo systemctl restart bacula-fd
sudo systemctl restart bacula-sd
On Ubuntu 14.10/14.04 LTS e versões anteriores:
sudo service bacula-director restart
sudo service bacula-fd restart
sudo service bacula-sd restart
É isso aí, o Bacula agora está instalado e configurado com sucesso, e você poderá começar a adicionar clientes, e tarefas de backup e rodar essas tarefas, de forma agendada e manual. Tudo poderá ser gerenciado pela configuração destes arquivos de texto e também por uma console em terminal, chamada bconsole. Mas existe também consoles Web com interface gráfica que o ajudará a administrar o sistema. A que irei passar aqui é o Webmin que possui um módulo específico para o Bacula também. Importante dizer que o Webmin se comunica e realiza as tarefas do Bacula usando o bconsole em background. Então se houver algum erro nos arquivos de configuração o bconsole não irá funcionar, logo o Webmin também não. Por isso tudo tem que estar OK atá aqui para prosseguir. Se seguiu os passos corretamente até agora pode ficar tranquilo.
Gerenciando o Bacula Usando o Webmin
Gerenciando e trabalhando com o Bacula via linha de comando pode ser um tanto difícil para alguns administradores. Graças a console web para Linux chamada Webmin, isso pode ser mais agradável, fácil e rápido.
Com o Webmin que é um programa open source para Linux, você pode configurar qualquer coisa em seu Linux, incluindo diversos serviços tais como, DNS, DHCP, Apache, NFS, and Samba e etc através de quaisquer navegadores.
Instalando o Webmin no Ubuntu 15.04 usando o repositório oficial.
Adicione o repositório oficial do Webmin:
Edite o arquivo /etc/apt/sources.list,
sudo nano /etc/apt/sources.list
Adicione as seguintes linhas no arquivo:
deb http://download.webmin.com/download/repository sarge contrib deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib
Baixe e adicione a chave GPG:
sudo wget http://www.webmin.com/jcameron-key.asc
sudo apt-key add jcameron-key.asc
Atualize o apt:
sudo apt-get update
Instale o Webmin com o seguinte comando:
sudo apt-get install webmin
Libere a porta “10000” do firewall para acessar o Webmin remotamente, com o seguinte comando:
sudo ufw allow 10000
Acesse a Console do Webmin
Abra o navegador de uma máquina na mesma rede de seu servidor, como seu desktop, por exemplo, e e acesse a url: https://ip-address:10000/. A seguinte tela deverá aparecer, e então basta entrar com seu usuário e senha do servidor. a tela que aparecerá após o login é essa:
Agora você está pronto para gerenciar seu servidor graficamente.
Gerenciando o Bacula pelo Webmin
No Webmin na lista de configurações no lado esquerdo sob a seção “System” encontrará o item Bacula Backup System.
Se não encontrar, poderá estar na seção “unused modules”.
Quando a mensagem abaixo aparecer, clique no link “Module Configuration”.
Vá até a seção Bacula database settings e escolha a opção MySQL, em seguida entre com a senha da base de dados que definimos no começo da instalação e entre com a senha do banco. Então clique em Save, conforme imagem abaixo.
Agora você poderá configurar o Bacula, e todos os seus Daemons, Volumes, Schedules, adicionar Clientes, rodar seus Jobs e etc. Para saber mais poderá ir até a página oficial de documentação.
Itens Principais da Console
Na seção Director Configuration temos os itens abaixo, configure-os nessa ordem:
Backup Clients = Máquinas clientes adicionadas nesta seção terão que ter o cliente do Bacula instalado. No nosso caso, o próprio servidor já está com o software cliente instalado e configurado e neste campo e você poderá começar a fazer testes com o próprio servidor. Você poderá adicionar outros clientes, como desktops e outros servidores neste item, preenchendo um nome que quiser para a máquina, endereço de ip ou nome real da máquina, e etc. E cada cliente com o software client do Bacula instalado gerará um arquivo de configuração com uma senha. Você deverá copiar esta senha e colocar no campo senha da configuração do cliente neste item do Webmin.
File Sets = Modelos de configurações de arquivos a serem backupeados que você poderá criar. Cada modelo criado e nomeado por você deverá conter que pastas deseja fazer backup das máquinas clientes. Por exemplo, poderá criar uma configuração chamada “etc” e o caminho dela será a pasta /etc de seu client a ser backupeado. Outro exemplo em máquinas Windows, poderá criar um File Set chamado “Meus Documentos” com o caminho “C:/Users/nome do usuário/Documents”.
Backup Schedules = Modelos de Agendamento que você criará para rodar seus backupes, como sexta-feira as 22:00hs por exemplo.
Backup Jobs = É a tarefa de Backup e a última parte da configuração. Para finalizar a criação do Job, você deverá preencher com os itens acima pré-configurados de:
1 – O nome do Job, por exemplo, “desktop do diretor”
2 – O tipo de Job, se é de backup ou de restore
3 – Cliente que irá rodar o job, previamente adicionado
4 – O File Set escolhido para o Job, por exemplo, “Meus Documentos”
5 – O Schedule escolhido previamente criado, por exemplo, um chamado “sexta-feira meio dia”
Uma vez o Job criado com sucesso, você poderá rodá-lo imediatamente ou esperar até o momento da agenda.
Na seção mais abaixo, chamada Backup and Restore Actions, você poderá rodar seus jobs também, através do botão “Run Backup Job”, verificar o Status de conectividade de seus clients através do botão “Client Status” ou rodar jobs de restauração através do botão “Restore Backup”.
Em breve adicionarei mais detalhes destes processos, e a instalação de outra console web chamada Webacula, comandos via console bconsole e outras coisas que testei. Mas se quiser ver um vídeo que explica um pouco e até faz um pequeno ajuste de “Label” para o job funcionar, recomendo este vídeo do “Joe Show” (apenas em inglês).
Comigo os Jobs deram certo!
Abraços!
Cleuber
fontes: bacula.org/ e unixmen
Boa noite, Cleuber.
Estou instalando o Bacula no Ubuntu 14.04 Server e quando chega na hora da configuração do bacula-director-mysql é apresentado o bacula-director-sqlite3 e não aparece as telas de configuração da senha.
Quando abro o Webmin e vou tentar estabelecer conexão com o banco de dados retorna o erro o mesmo erro da tela da primeira imagem após o título Gerenciando o Bacula pelo Webmin
Teria como dar uma ajuda?