Samba 31: Usando “samba-tool dbcheck” para Corrigir Problemas

Pensei que já havia escrito algum artigo sobre “samba-tool dbcheck” até que procurei na lista de publicações em nosso site e não encontrei nada a respeito. Então aqui vai:

Quando  temos mais de um controlador de domínio(DC)  em nossa rede, cada um deles terá seu próprio banco de dados local.

Esses bancos ficam sincronizando informações entre si.

Com o tempo, ou alguma ação errada nossa, um banco em um DC pode ficar com problemas. Felizmente, geralmente os DCs não compartilharão entre eles o problema. Apenas o banco de dados do samba local ficará afetado.

Alguns problemas de banco de dados se propagarão em todos os DCs do domínio, por meio da replicação de DRS. Outros problemas podem estar localizados em um DC específico, pois podem afetar um atributo não replicado.

Também, inconsistências do banco de dados podem se acumular com o tempo, vale a pena executar o dbcheck regularmente.

 

Precauções

Executar o dbcheck sem a opção fix é bastante seguro. Mas pode acontecer de ao usarmos o fix  ocorrer algum efeito colateral. Recomendamos a realização de backup do domínio. Porém o restaurar o backup deve ser sempre a última alternativa. Veja as opções abaixo antes de restaurar o backup.

Em casos onde há mais de um servidor DC na rede, se por acaso ocorrer algum problema podemos executar um

samba-tool drs replicate --full-sync --sync-forced

Isso faria com que o banco local fosse sobrescrito com as informações de outro DC da rede. Se isso não ajudar podemos ainda fazer um join.

Obs.: só restaure o backup se todos os DCs no domínio tiverem problemas. Se houver algum DC em bom estado apenas reingresse os defeituosos usando o join!

Então, aplicar um join geralmente é a melhor opção para corrigirmos um problema local. O banco local será sobrescrito.

No meu caso ficaria assim:

samba-tool domain join lab.local DC -U"LAB\administrator"

Veja também:

Samba 19: Unindo(Joining) Um Servidor Samba ao Domínio

 

 

Mas vamos falar sobre o dbcheck:

A Ferramenta “samba-tool dbcheck

lembre-se que a ferramenta samba-tool está dentro de /usr/local/samba/bin/. Se você não inseriu essa pasta dentro da variável $PATH então terá que executar os comandos abaixo assim:

/usr/local/samba/bin/samba-tool dbcheck --cross-ncs

Também use sempre o sudo antes dos comandos abaixo.

Mas se  a pasta  estiver dentro da variável $PATH então basta fazer assim

samba-tool dbcheck --cross-ncs

A ferramenta pode levar algum tempo para ser executada, dependendo do tamanho do seu banco de dados. Além de verificar cada usuário e cada objeto de grupo, estará verificando se todos os membros do grupo apontam para um objeto de usuário válido e esse usuário tem um link de retorno correspondente.

Iniciando a prática:

samba-tool dbcheck permite detectar e corrigir problemas no banco de dados do Samba AD.

Devemos executar o comando em cada DC do Samba AD localmente, porque algumas correções se aplicam a atributos não replicados e as modificações não são replicadas para outros DCs. A ferramenta não pode ser executada sobre LDAP.

#1 Para verificar o banco de dados AD, execute:

samba-tool dbcheck --cross-ncs

Se não colocarmos a opção “cross-ncs” a ferramenta verificará apenas a partição do domínio principal. A opção cross-ncs verifica todas as partições(naming contexts) do AD.

 

#2 Se encontrou problemas então exexute dbcheck com fix:

samba-tool dbcheck --cross-ncs --fix

Ao encontrar erros seremos solicitados a dá um OK para autorizar a correção. Podemos também digitar “all” para corrigir todos.

Também podemos usar a opção yes para que o OK seja concedido automaticamente

samba-tool dbcheck --cross-ncs --fix --yes

#3 Após um reparo, execute dbcheck  novamente para verificar se a operação foi bem-sucedida.

 

Fonte: samba

One Comment to “Samba 31: Usando “samba-tool dbcheck” para Corrigir Problemas”

Deixe um comentário

O seu endereço de e-mail não será publicado.