Instalando o Bacula Backup no CentOS 7

19 mar

Opa, tudo certo? 🙂 Hoje vou mostrar como instalar o Bacula Backup no CentOS 7.

O Bacula é uma das melhores ferramentas de Backup Open Source, aliado a um sistema operacional de confiança como CentOS 7 que tem sua base no Red Hat, conseguimos obter confiança, bom desempenho e economia, não precisando desembolsar valores absurdos por uma ferramenta que talvez nem atenda as necessidades de um cliente ou de determinado projeto.Instalando o Bacula Backup no CentOS 7Irei abordar somente a configuração do servidor de backup com Bacula.

Iremos realizar no tutorial as tarefas abaixo:

  1. Instalação do Bacula
  2. Configuração do Banco de Dados
  3. Configuração do Bacula Backup
  4. Agendamento de Trabalhos de Backup
  5. Fazer Backup
  6. Restaurar o Backup

Componentes do Bacula Backup

O Bacula trabalha no modo cliente-servidor, para que toda a comunicação seja realizada com o cliente de forma correta e segura, a ferramenta trabalha com a seguinte arquitetura:

  • Bacula Director Daemon
  • Bacula Storage Daemon
  • Bacula File Daemon
  • Bacula Catálogo
  • Bacula Console

Instalando o Bacula Backup e o Banco de Dados

O Bacula utiliza estrutura de banco de dados SQL, para o armazenamento das informações em seu catálogo, banco de dados como MySQL, PostgreSQL, para nosso ambiente vamos utilizar o MariaDB, um substituto para o MySQL.

Quando finalizar a instalação dos pacotes acima, vamos iniciar o Banco de Dados

Agora que o MySQL (MariaDB) está instalado e funcionando, vamos criar o usuário e as tabelas de banco de dados Bacula, com esses scripts:

Na sequência vamos executar um script de segurança que irá remover algumas configurações padrões que vem por default. Com o script de segurança vamos bloquear ações perigosas e bloquear o acesso ao banco de dados.

Nosso próximo passo é definir a senha para o usuário bacula, para que o mesmo tenha acesso ao catálogo, e faça seu trabalho direito.

Logue no console do MariaDB ou MySQL, como quiser chamar, rs!

Defina a senha para o usuário do banco de dados Bacula. Utilizando o comando abaixo, mas altere o campo “SENHA” para uma senha de sua preferência.

Agora vamos deixar o serviço do MariaDB ativo no boot do sistema.

Ajustando os serviços do Bacula para iniciar junto ao boot do sistema linux.

Precisamos fazer um pequeno ajuste no Bacula, o mesmo vem configurado por padrão para utilizar as bibliotecas do PostgreSQL. Precisamos definir as bibliotecas para o MySQL.

Execute o comando abaixo:

Selecione a opção 1.

Criando Diretório de Backup e Restore

O Bacula precisa de um diretório de armazenamento de volumes e outro diretório para restaurações.  É possível utilizar diversos diretórios para armazenamento, desde que a configuração dos volumes e permissões estejam de acordo, a gravação ira funcionar perfeitamente.

Agora vamos criar os diretórios.

Ajustando as Permissões nos diretórios, realizando a segurança onde somente o processo do Bacula e o usuário root tenham acesso.

Configurando o Arquivo Hosts

Vamos utilizar a resolução de nomes nos arquivos de configuração do Bacula, precisamos ajustar o arquivo hosts de maneira apropriada.

Configuração do Bacula Director

O arquivo bacula-dir é o principal arquivo de configuração para a implementação do Bacula. Vamos acessa-lo em seu diretório e realizar uma cópia de backup.

Criando o arquivo “bacula-dir.conf” com as configurações já ajustadas: Por padrão o Bacula vem com as opções de FileSets, Shedules, e clientes no seu arquivo principal, o bacula-dir.conf, para melhor administração do serviço nós vamos separar essas opções para um novo arquivo, cada função terá seu arquivo de configuração, mantendo assim o gerenciamento de forma mais limpa.

O Próximo passo é ajustar os arquivos que fazem referências para FileSets, Agendamentos e Clientes.

Arquivo que contém informações de clientes e jobs do Bacula: – /etc/bacula/bacula-dir-clients-and-jobs.conf

Arquivo onde contém informações de ‘File Sets’ do Bacula: – /etc/bacula/bacula-dir-filesets.conf

Vamos criar o arquivo onde vamos ajustar os agendamentos de backup, esse arquivo contém informações de horários de rotinas de backups.

Vamos agora criar o diretório onde vai ficar armazenados os arquivos com informações básicas de nossos clientes:

Crie o diretório “clientes”:

Antes de adicionar um cliente ao bacula vamos criar o arquivo de storage de backup. Criando o arquivo de Storage do backup:

Após criado o arquivo vamos criar o diretório de backup e restore ajustado no arquivo acima:

Para que o bacula consiga fazer seu próprio backup, precisamos ajustar o arquivo de cliente para ele: Crie o arquivo abaixo:

Feito isso vamos criar o arquivo de cliente com as informações de catalogos para o nosso bacula:

Agora que temos os arquivos criados, vamos alterar as permissões deles e do diretório onde o Bacula irá armazenar os Volumes de backup.

Abaixo, segue lista dos arquivos que criamos:

  • bacula-dir.conf ← Arquivo Director do Bacula
  • bacula-sd.conf ← Arquivo de Definições de Storage
  • bacula-fd.conf ← Arquivo de cliente para o bacula
  • bacula-dir-clients-and-jobs.conf ← Informações de Clientes e Jobs
  • bacula-dir-filesets.conf ← Informações de FileSets
  • bacula-dir-agendamento.conf ← Arquivo de horários de Jobs de Backups clientes/bacula.tidahora.com.br ← Informações de Catalogo

Diretório onde o Bacula irá armazenar os Volumes de Backup: “/bacula/backup/”

Vamos ajustar as permissões aos mesmos:

Iniciando os Serviços do Bacula

Verificando os processos rodando…

Ajustando o SELinux e o FirewallD

Precisamos definir permissão no SELINUX para que possamos gravar nos diretórios de Backup e Restore. Execute o comando abaixo para habilitar a permissão de gravação nos diretórios. O comando abaixo irá restaurar de forma recursiva o contexto do SELinux para o diretório /bacula e seus subdiretórios.

Em seguida, vamos ajustar o FirewallD no CentOS 7 para permitir as conexões ao Bacula.

Ajustando o Bacula Console

Precisamos passar a senha do Bacula Director para arquivo de configuração do Bacula Console.

Vamos editar o arquivo bconsole.conf.

Pegando  a senha.

Abra o arquivo bconsole.conf

E insira no arquivo de configuração a senha do director.

Reinicie os serviços do Bacula.

Criando os Volumes

Em seguida vamos criar os volumes no bacula.

Abra o bacula console.

Digite ‘label’ e na linha Enter new Volume name: digite o nome do volume, no meu caso coloquei “volume-backup”, em seguida selecione o tipo do Pool para File.

Executando Backup Local

No Bacula Console.

Verificando o Backup…

Primeiro volume de Backup criado no diretório de backups.

Restaurando Backup

Abrindo o bacula console.

Verificando as Mensagens…

Obtendo os arquivos de Restores.

Abra o diretório de restauração.

Pronto! restore realizado com sucesso.

Nao irei abordar aqui a instalação de clientes no bacula, vou deixar isso para um outro tutorial.

Dúvidas, comentário e sugestões postem nos comentários…
👋🏼  Valeu! e até a próxima!


Johnny Ferreira
johnny.ferreira.santos@gmail.com
http://www.tidahora.com.br

 


 

Facebook Comments