Recuperação da base de dados do Openldap

O LDAP é uma aplicação Open Source que implementa o Lightweight Directory Access Protocol.  Este protoloco de aplicação serve para realizar querys (perguntas) e modificar serviços de directórios sobre TCP/IP.

Um directorio é um conjunto de objectos e respectivos atribuitos organizados numa hierarquia lógica. Um exemplo mais comum é um directório de telefones, que consiste numa série de nomes organizados alfabéticamente, onde cada nome tem um endereço e um número de telefone associado. Nos casos mais comuns, representa pessoas, unidades organizacionais, impressoras, documentos, grupos de pessoas, etc…

No meu caso, contém os nomes de utilizador, passwords e outros atributos. No meu local de trabalho, temos dois servidores, um primário e um segundário, sincronizados, a funcionar muito bem (ou pensava eu).

De vez em quando, o servidor primário começa a dar erros na base de dados, tais como:

/etc/init.d/ldap start
Checking configuration files for slapd:  bdb_db_open: unclean shutdown detected; attempting recovery.
bdb_db_open: Recovery skipped in read-only mode. Run manual recovery if errors are encountered.

Quando isto acontece, só existe uma forma, que é recuperar a base de dados. Aqui está como:

slapd_db_recover -v -h /var/lib/ldap
Finding last valid log LSN: file: 16 offset 253739
Recovery starting from [15][6675411]
Recovery complete at Fri May  8 11:23:48 2009
Maximum transaction ID 8000006c Recovery checkpoint [16][254619]

Após este processo, só têm que iniciar novamente com o LDAP:

/etc/init.d/ldap start
Checking configuration files for slapd:  bdb_db_open: unclean shutdown detected; attempting recovery.
bdb_db_open: Recovery skipped in read-only mode. Run manual recovery if errors are encountered.
config file testing succeeded
                                                                      [  OK  ]
Starting slapd:                                            [  OK  ]
Starting slurpd:                                           [  OK  ]

 

Para experimentarem, executem de outro computador, uma query ao servidor que acabaram de reparar:

ldapsearch -h <nome_servidor_reparado> -x -b "dc=whatgeek,dc=com,dc=pt" uid=feiticeir0 -Z

Se estiver tudo a funcionar, devem aparecer imensas linhas no ecran com os dados do utilizador.

-h <nome_servidor_a_fazer_a_pesquisa>

-x <usar autenticação simples>

-b <usar a pesquisa base>

-Z <usar autenticação TLS dos certificados>

 NOTA: Mantenham sempre backups da vossa arvore.

Leave a Reply

Your email address will not be published. Required fields are marked *