Esta mañana me he encontrado con que el servidor LDAP no funcionaba. Tras un vistazo rápido al log del sistema (/var/log/syslog
) me he encontrado con este mensaje, ideal para despertar a dormidos. He puesto en negrita la parte más importante del informe de fallo, IMHO.
Apr 26 09:08:21 mestizo slapd[19794]: @(#) $OpenLDAP: slapd 2.4.25 (Apr 11 2011 22:16:45) $#012#011buildd@biber:/build/buildd-openldap_2.4.25-1-i386-4ptz56/openldap-2.4.25/debian/build/servers/slapd
Apr 26 09:08:21 mestizo slapd[19795]: bdb(dc=midominio,dc=net): Build signature doesn't match environment
Apr 26 09:08:21 mestizo slapd[19795]: hdb_db_open: database "dc=midominio,dc=net" cannot be opened, err -30971. Restore from backup!
Apr 26 09:08:21 mestizo slapd[19795]: bdb(dc=midominio,dc=net): txn_checkpoint interface requires an environment configured for the transaction subsystem
Apr 26 09:08:21 mestizo slapd[19795]: bdb_db_close: database "dc=midominio,dc=net": <strong>txn_checkpoint failed: Invalid argument (22)</strong>.
Apr 26 09:08:21 mestizo slapd[19795]: backend_startup_one (type=hdb, suffix="dc=midominio,dc=net"): bi_db_open failed! (-30971)
Apr 26 09:08:21 mestizo slapd[19795]: bdb_db_close: database "dc=midominio,dc=net": alock_close failed
Apr 26 09:08:21 mestizo slapd[19795]: slapd stopped.
Del servidor de LDAP, slapd, hay poco malo que decir. Funciona rápido y bien, sobre equipos con pocos recursos y no lo canibaliza en exceso, cosa de agradecer. Pero sí se puede pensar que es muy propenso a fallos en cuanto se actualiza algo, lo más mínimo, que toque tangencialmente el servidor. En ese momento, deja un montón de literatura en los ficheros de registro y se detiene.
Tras dos minutos de búsqueda (otras caídas súbitas del servicio me han enseñado a buscar bien y rápido), apareció la respuesta. Todo pasaba por reparar la base de datos del servidor, que ha quedado inconsistente. Más claro, en comandos:
$ sudo /etc/init.d/slapd stop
$ cd /var/lib/ldap
$ sudo db4.8_recover
db4.8_recover: Build signature doesn't match environment
$ sudo /etc/init.d/slapd start
¡Listo! Como si no hubiese pasado nada.
7 ideas sobre “a vueltas con LDAP – txn_checkpoint failed: Invalid argument (22)”
Uff es decir la palabra LDAP y ponerme a pensar en ¿cuándo va a petar? Buena entrada -;)
yo pienso: ¿cuánto me va a llevar levantarlo?
¡Pero ya se ha convertido en un servicio fundamental! Lástima que no haya buenos clientes gráficos…
xD es más positivo tu pensamiento que el mío claramente ;D
@n1mh ¿has probado el plugin para eclipse? No es una maravilla pero se pueden administrar sin problemas un openldap – http://directory.apache.org/studio/
@dabo pues un poco negativo si 🙂
kiakli, no he probado ese plugin porque no uso eclipse. Para mis conocimientos de programación, con vim estoy perfectamente cubierto :D. Mis lamentos iban más en la línea de un cliente gráfico para gnome o kde, pero nativo. Sin plugins ni pesados programas.
@n1mh, pero no es para programar…el plugin te permite navegar y modificar objetos…e incluso tiene un módulo para gestionar LDIF.
El cliente gráfico, te refieres como la consola de administración del 389 Directory Server supongo…
si ya sé que eclipse se puede usar de muchas formas y no necesariamente para programar. Pero mis problemas son varios: mi equipo de trabajo no es muy potente, aunque hace funcionar openldap bastante fino y, si le meto eclipse para cambiar una extensión de teléfono, puedo despedirme completamente del día.
Y sí, por cliente gráfico me refiero a la consola de administración, a programas como gq (que lo han quitado de sid pero lo voy a terminar instalando a pelo) o lat, para gnome y que no consigo entender del todo.
Y así voy tirando, entre bash+ldap-tools y lat, que no nos entendemos. 😛