Manualdeinstalacao Bacula
Manualdeinstalacao Bacula
ÍNDICE
Esse manual foi elaborado pelo analista de redes Leocádio Babo Alves
Junior com 32 anos de idade, 9 anos de experiência no ramo da
informática hoje trabalhando em uma empresa privada elaborando
serviços na área de informática voltado a segurança da rede assim como
firewall, backup e redes de computadores. Criei esse manual para
documentar e está passando para frente minhas experiência com o
software bacula community sendo assim a versão open source do bacula,
estarei elaborando uma instalação e configuração do bacula com a
interface gráfica baculum para facilitar o manuseio do servidor.
O bacula será instalado em um servidor ubuntu server 19.04 ou 18.04
LTS, em uma máquina virtual e realizaremos instalações nas maquinas
clientes Windows , ubuntu e centos realizaremos backup das mesmas com
notificações por e-mail e toda parte de configurações do storage, agendas,
pool ,clientes e Jobs , também abordarei a parte de restauração do
catalago do bacula que no caso de ser danificado o servidor poderá ser
restaurado em outro servidor.
O que é o bacula?
Clicar em Next
Next caso queira instalar no Program Files que é por padrão caso
necessário alterar o destino.
Clicamos em Next
Deixamos tudo marcado para realizar a instalação completa, caso
necessário mudar o local clicar em Browse, clicamos em Next para
continuar a instalação.
Nesta parte caso queira que ele mesmo crie os atalhos deixe marcado
conforme a imagem, para continuarmos novamente em Next.
Agora nessa imagem o mesmo está informando que poderá ser reiniciado
sua placa de rede, vamos clicar em Yes
Agora estamos prontos para criarmos nossa primeira maquina virtual que
será nosso servidor ubuntu
Clicamos em Criar
Clicamos em Próximo.
Novamente em Próximo.
Done novamente.
Confirme
Aguarde a instalação.
Reboot do sistema para começarmos a nossa instalação do bacula.
Logamos no servidor com login e senha definidos na instalação iremos
definir uma senha para nosso usuário root
# sudo passwd
Coloque a senha que definimos e criamos uma para o root após esse
procedimento podemos logar com o root com o comando
# su
Comando ifconfig para descobrirmos o ip
# ifconfig
Agora vamos utilizar nosso WinSCP para enviarmos o arquivo do bacula
baixado pelo drive disponível ou baixado direto do site do bacula.org no
caso nome do arquivo bacula-9.4.4.tar.gz
Beleza agora arquivo já esta no nosso servidor iremos utilizar nosso putty
para acessar nosso servidor bacula para termos facilidade de copiar e
colar alguns comandos.
Com o Putty aberto vamos preparar o mesmo para que fique salvo
Host Name: Colocamos o ip de nosso servidor
Porta : 22
Caixa marcada com SSH
Saved Sessions: colocamos um nome para identificar o mesmo.
Clicamos em Salvar depois em Open para realizar o acesso, colocamos
login no caso bacula e senha definida na instalação, após login iremos
logar com o root comando #su .
Pacotes instalados com sucesso agora vamos navegar até a pasta onde
movemos anteriormente.
# cd /usr/src/bacula*
Já na do bacula descompactado agora iremos realizar um comando que
será definido algumas configurações precisa ser atento em modificar bem
no final do comando abaixo (-with-hostname=) colocando o ip do servidor
e parâmetro (job-email=).
# service bacula-fd start && service bacula-sd start && service bacula-dir
start
Comando para verificarmos se tudo está ok conforme esperarmos
comando bconsole
# bconsole
# exit -> para sair do modo bconsole
Módulo 4
Instalando interface gráfica baculum
Instalação da interface web baculum, precisaremos instalar alguns pacotes
necessários, neste primeiro comando vamos baixar o baculum direto da
página do bacula.org adicionando uma chave em nosso servidor, e
criaremos uma lista de repositórios chamada baculum.list
echo "
deb [ arch=amd64 ] http://bacula.org/downloads/baculum/stable/ubuntu
xenial main
deb-src http://bacula.org/downloads/baculum/stable/ubuntu xenial main
" > /etc/apt/sources.list.d/baculum.list
Certo adicionado essa nova lista agora vamos atualizar nosso servidor com
update e também instalaremos alguns pacotes necessários.
# mkdir /etc/bacula/web
Pasta criada, daremos a permissão total da pasta do bacula com o
comando.
Será apresentado essa imagem acima utilize usuário admin com senha
admin.
funcionando .
Avançar para próxima etapa.
Na quarta aba Configurar precisamos marcar a caixa Sim e apresentará as
configurações acima , precisamos colocar o caminho de onde criamos a
pasta para ser armazenado as configurações do baculum no caso criamos
dentro de /etc/bacula/web também marcamos a opção de Utilizar o sudo
demais configurações deixar como padrão.
Protocol: HTTP
IP Address/Hostname: 192.168.2.229 --- ip do servidor
Port: 9096
Marcar Use HTTP Basic authentication
API Login: admin
APT Password: saci@2019
API connection test:
Clicamos em Next.
Nessa Ultima pagina criaremos nosso usuário para acessar nossa interface
do baculum criei com a mesma senha que utilizei para ter acesso aos
arquivos do bacula, porém poderá ser criado conforme você desejar,
lembrando que essa senha também poderá ser trocado depois caso
desejar.
Tela de login para acessar nossa pagina do baculum acessamos com login
e senha criados anteriormente.
Agora que baixamos nosso binário vamos primeiramente criar duas regras
em nosso firewall do Windows tanto quando entrada tanto quanto saída
da porta 9102,9103,9101
Caso apresente esse erro você talvez precise instalar uma versão diferente
de binário.
No meu caso no Windows 10 esta apresentando esse erro na versão
abaixo.
No meu caso apresentou esse erro conforme foto acima não quer dizer
que apresentará em seu Windows também para que eu resolvi esse
problema utilizei uma versão que já utilizo em um servidor de produção
com mais se 100 computadores conectados versão 7.4.4 que também
estou disponibilizando para download em meu drive, lembrando clientes
precisa sempre está rodando em versões abaixo do servidor, há instalação
de qualquer cliente Windows segui a mesma lógica instala o mesmo e
edita o arquivo de configurações liberação das portas etc.
https://drive.google.com/drive/folders/1QoaS4UAX3LIsQCGN9_0IhgsTUzX
O5HF-
# cat /etc/*-release
Acessamos o servidor pelo winscp da mesma maneira que fizemos no
servidor do bacula e colocamos o mesmo arquivo do bacula.gz a diferença
desta instalação por compilação é que não vamos instalar nenhum banco
de dados no servidor, vamos descompactar o mesmo com os comandos
abaixo.
# mv bacula-9.4.4 /usr/src/
Navegamos ate a pasta
# cd /usr/src/
# IPTABLES
-A FW-1-INPUT -m state --state NEW -m tcp -p tcp --dport 9102 -j ACCEPT
# setenforce 0
sudo sed -i "s/enforcing/disabled/g" /etc/selinux/config
sudo sed -i "s/enforcing/disabled/g" /etc/sysconfig/selinux
# cd /usr/src/bacula*
# nano /etc/bacula/bacula-fd.conf
Editaremos o primeiro Director conforme imagem acima Name :
srvbacula-dir e Password: “centos@2019”
Reiniciar serviço
Verificar status
Name: junior.ti
Address: 192.168.2.3 #IP CLIENTE
Password: jr@2019
Catalog: MyCatalog
FileRetention: 1000 Dias
Criaremos mesma coisa com os outros clientes Linux com os dados abaixo.
Name: ubuntu-fd
Address: 192.168.2.169 #IP CLIENTE
Password: ubuntu@2019
Catalog: MyCatalog
FileRetention: 1000 Dias
Name: centoscliente
Address: 192.168.2.175 #IP CLIENTE
Password: centos@2019
Catalog: MyCatalog
FileRetention: 1000 Dias
MaximumVolumes: 100
MaximumVolumeBytes: 53687091200
Criamos nosso Pool Win faremos o mesmo com o outro Pool Lin, porém
com uma diferença o LabelFormat.
Name: Lin
PoolType: Backup
LabelFormat: ${Client}-${Year}${Month+:p/2/0/r}${Day+:p/2/0/r}-
${Hour+:p/2/0/r}${Minute+:p/2/0/r}-${Level}
MaximumVolumes: 0
MaximumVolumeBytes: 53687091200
Criamos nossos dois pools de volumes, próximo
modulo criaremos agenda.
Módulo 10
Configurando Agenda para os Backups
Configurando agenda para os backups.
Hora: 20
Minuto: 00
Agora vamos criar nossos filesets dos clientes que criamos nada mais é
que os caminhos dos arquivos que queremos copiar, a ferramenta
disponibiliza criação de recursos e ignorar arquivos ou pastas que não
queira ser copiados em determinados caminhos irie criar um fileset
ignorando determinada pasta, também é permitido criar level de
compressão e tipo de criptografia Sha1 e md5 e muitos outros parâmetros
configuráveis criarei um a seguir com level 9 Gzip de compressão quanto
maior mais otimiza o espaço do servidor porém na restauração levará
mais tempo caso backup seja grande.
Compression : Gzip9
Signature: Md5
Nome : bkp-linux
Caminho include.
/etc
Compression: GZIP9
Signature: MD5
Para finalizar clicamos no botão criar usaremos esse mesmo fileset para os
dois clientes Linux.
Name: FileChgr3-Dev1
MediaType: File3
ArchiveDevice: /HD
Desmarcamos RemovableMedia:
Desmarcamos AlwaysOpen.
Coloquei 5 MaxmumConcurrentJobs colocarei 5 no segundo device para
totalizar 10 backups por vez, demais campos não citados não precisaram
ser configurados por hoje, após iremos clicar no botão Salvar
Name: FileChgr3-Dev2
MediaType: File3
ArchiveDevice: /HD
Desmarcamos RemovableMedia:
SdPort: 9103
Porta padrão do nosso storage
Password: TGYLXjKIO+QCXD81uqpqyUEbwGGUPLm0A3CWqShHy9NI
Reforçando : A senha precisara ser o mesmo criado em seu servidor
poderá pega-lo em qualquer storage já criado pois já vem configurado por
padrão no servidor ou pegar essa senha direto no arquivo bacula-sd.conf
no password do director.
# mkdir HD
Cria pasta HD
Clicamos em detalhar.
Backup Full
Backup full como próprio nome já diz seria todo o backup de determinado
fileset.
Backup Diferencial
Backup Incremental
Type: Backup
Tipo se seria backup ou restore, copia migração e outros.
Level: Incremental
Level do backup no meu caso será incremental.
Messages: Standard
O tipo de mensagem no caso usarei standard.
Storage: File3
Onde será armazenado esses backups.
Pool: Win
O formato dos volumes como configuramos.
Client: junior.ti
De qual cliente realizar o backup.
Fileset: bkp-windows
Caminhos do backup no caso configurado no fileset.
Shedule: Agenda-Diaria
Seria a agenda que esse backup irá seguir.
Cliente centOS
Name: Job-centos
Nome do trabalho de backup
Type: Backup
Tipo se seria backup ou restore, copia migração e outros.
Level: Incremental
Level do backup no meu caso será incremental.
Messages: Standard
O tipo de mensagem no caso usarei standard.
Storage: File3
Onde será armazenado esses backups.
Pool: Lin
O formato dos volumes como configuramos.
Client: centoscliente
De qual cliente realizar o backup.
Fileset: bkp-linux
Caminhos do backup no caso configurado no fileset.
Shedule: Agenda-Diaria
Seria a agenda que esse backup irá seguir.
Cliente ubuntu
Name: Job-ubuntu
Nome do trabalho de backup
Type: Backup
Tipo se seria backup ou restore, copia migração e outros.
Level: Incremental
Level do backup no meu caso será incremental.
Messages: Standard
O tipo de mensagem no caso usarei standard.
Storage: File3
Onde será armazenado esses backups.
Pool: Lin
O formato dos volumes como configuramos.
Client: ubuntu-fd
De qual cliente realizar o backup.
Fileset: bkp-linux
Caminhos do backup no caso configurado no fileset.
Shedule: Agenda-Diaria
Seria a agenda que esse backup irá seguir.
Usuários criados
Outro comando que utilizo caso o bacula não esteja iniciando e bacula -t
Vamos agora testar nosso job-windows entramos nos Jobs que queremos
e clicamos no botão sobre executar Job.
Apresentará essa imagem acima verificaremos se os dados estão corretos
cliente, pool, storage e nível e clicamos sobre executar job.
Após executarmos nosso job de backup caso ocorra tudo conforme
configurado corretamente apresentará essa mensagem abaixo quando o
mesmo estive em execução.
Imagem acima que foi realizado o backup sem erro com 10gb o mesmo
full próximos backups serão incrementais.
Usuários
Agora temos ao lado botão adicionar sendo que ao ser clicado o mesmo
ira para o campo ao lado onde poderá realizar mais e mais seleções caso
queira realizar a restauração parcial, caso queira realizar uma restauração
full selecionar a pasta por completo.
Etapa 6 – Por fim apresentara todos dados que selecionamos tendo que
conferir caso precise poderá voltar as etapas anteriores, então clicaremos
no botão iniciar restauração.
#status
Status como o próprio nome diz e para verificarmos status de algum
cliente job ou qualquer outra coisa.
Exempo: status client=junior
Informará os Jobs executados os que deram falhas as restaurações e tudo
mais desse cliente.
Comando
Agora está pedindo qual seria id do job, informarei numero 13 que seria
backup full do cliente junior.
https://www.youtube.com/channel/UCvZ4Iri6HTvFWveo0v8HzxQ?view_a
s=subscriber
Agradecimento
Vou está finalizando esse ebook por aqui , passei um pouco da bacula e do
baculum ainda tem muitos recursos não passados neste ebook pois a
ferramenta tem muito oque oferecer esse ebook foi criado por forma de
documentação de uma instalação e configuração do bacula podendo ser
alterado conforme sua estrutura exigir obrigado a você que leu e
acompanhou todo esse tutorial fico muito agradecido por ter chegado a
você e de alguma forma esse ebook tenha ajudado.