O objetivo desse tutorial é demonstrar um meio alternativo, prático e rápido para restauração de um controlador de domínio morto. Os procedimentos abaixo foram utilizados para restaurar o backup do
Samba 4 em um outro servidor recém-instalado.
Nota: o servidor foi configurado com o mesmo sistema operacional, mesmas versões de softwares, mesmo nome, mesmo IP etc.
Realizando os procedimentos
Em primeiro lugar, faça todas as configurações do servidor iguais ao do servidor morto. No caso, utilizei o
Debian 7.5 x64. É muito importante que o nome e IP do servidor sejam iguais ao do servidor morto, pois se não forem, você terá muitos problemas com o DNS.
A versão do
Samba utilizada é a 4.1.7, mas acredito não haver problemas nas releases dessa versão 4.1.x. Já a versão 4.2.0, pelo que vi, possui algumas novas funcionalidades e não sei se o procedimento informado aqui serve para ela.
Sempre faça backups regulares do seu servidor Samba. Não abordarei isso aqui agora, mas você pode encontrar toda as informações necessárias no
site do Samba.
* Atenção: fiz todos os testes em um ambiente controlado, fora da minha rede de produção, portanto, tenha muito cuidado ao fazer seus testes, tenha certeza que está acessando o servidor certo.
No site do Samba existe uma documentação ensinando como restaurá-lo, em caso de morte do servidor. Esse passo a passo que vou ensinar não é nada oficial, porém, funcionou perfeitamente para mim; sempre vale a pena seguir as informações oficiais para tal feito, mas como eu sou teimoso, sempre faço várias experiências em meus laboratórios.
Faça esse procedimento por sua conta e risco, não me responsabilizo por eventuais destruições que você possa promover no seu ambiente de trabalho. (hehehe)
Bem, vamos lá! Nesse passo, suponho que o seu Debian já está configurado com o mesmo nome e IP que o seu PDC morto tinha minutos antes da sua morte e que, também, você possua o backup do mesmo.
No meu caso, sempre que realizo um backup do Samba 4, eu paro o serviço e faço um backup full de toda a instalação seguindo os procedimentos abaixo:
# /etc/init.d/samba4 stop
No diretório de sua preferência faça o backup do Samba, eu utilizo o diretório
/sis-bkp, porém você pode fazer onde achar mais conveniente, vamos lá:
# cd /sis-bkp
# tar -czvf samba4.tar.gz /usr/local/samba
Obs.: o diretório de instalação do Samba pode variar dependendo do modo que foi configurado na hora de compilar, caso o seu não esteja em
/usr/local, faça no caminho correspondente a sua instalação.
Primeiro, você precisa instalar todas as libs necessárias para a compilar o Samba em um ambiente novo. No terminal, digite:
# apt-get install gcc make flex gdb python-ldap python-dev libacl1-dev
Após instalar tudo, você está apto a restaurar o seu Samba. Para isso, descompacte o seu backup full no mesmo diretório onde o Samba foi compilado no servidor morto.
Feito isso, você pode já subir o novo servidor em modo debug para verificar possíveis erros da seguinte forma:
# /usr/local/samba/sbin/samba -d3 -i
Muito provavelmente você vai se deparar com um erro referente a lib do CUPS e também uma lib referente ao DNS. Em minha nova instalação, foi necessário instalar as libs "libcups2" e "python-dnspython" para corrigir o problema. Para instalá-las, digite:
# apt-get install libcups2 python-dnspython
Feito isso, você pode subir novamente o Samba com o comando:
# /usr/local/samba/sbin/samba -d3 -i
E verá que o mesmo está funcionando. Adicione o script para inicialização do mesmo novamente ao servidor e seja feliz.
Nota: aqui funcionou 100% depois de muito tempo quebrando a cabeça, até descobrir que tinha que instalar as libs "libcups2" e "python-dnspython". Após isso, tudo funcionou perfeitamente, incluí novas máquinas no domínio, alterei senhas, criei novos compartilhamentos e também atualizei a versão de 4.1.7 para 4.1.8, e não houve nenhum tipo de problema até o presente momento.
No site do Samba, ensinam a restaurar somente os diretórios
/etc,
/private e
/sysvol, porém, você precisa compilar o Samba no servidor a mesma versão do backup, que pode demorar até mais de uma hora dependendo do hardware.
Como não é um procedimento oficial, realizarei mais testes e caso haja algum problema, eu manterei o post sempre atualizado informando sobre o progresso desse método.