- 论坛徽章:
- 0
|
问题已经解决
Hoy se presentó un problema con un servidor LDAP (OpenLDAP). El demonio /usr/sbin/slapd estaba corriendo pero el puerto 389 no estaba abierto y no era posible usar el servicio.
Para saber que pasaba hice correr el demonio manualmente activando la opción de depuración, esto es lo que mostró
slapd startup: initiated.
bdb_db_open: dbenv_open(/var/lib/ldap)
bdb(dc=colosa,dc=net): Lock table is out of available locks
bdb_db_open: db_open(/var/lib/ldap) failed: Cannot allocate memory (12)
backend_startup: bi_db_open(0) failed! (12)
slapd shutdown: initiated
====> bdb_cache_release_all
slapd shutdown: freeing system resources.
Así que inmediatamente pregunté a San Google(TM) por esto:
"Lock table is out of available locks" y la página que me dió mas luces sobre el problema fue:
http://www.kryogenix.org/days/20 ... able-locker-entries
Para resumir, Berkley DB tiene serias ranas con manejo de bloqueos. Ya había tenido antes problemas con las bases de datos de RPM que también usan Berkley DB pero hasta hoy me doy cuenta de que son por el bloqueo.
La solución fué simple, deshacerse de los archivos de bloqueo __db.00[1-9]:
cd /var/lib/ldap/
mkdir __db
mv __db.0* __db/
Y listo, ahora el servicio está arriba y funcionando.
Para concluir, hay que buscar una solución a largo plazo o automatizar esta "limpieza" de la base de datos de LDAP.
» hardy's blog | add new comment |
|