16-02-04 09:53
Oporavak LDAP baze
piše ŽELJA BOROŠ
Jedan od najčešćih pitanja na helpdesku je zašto odjednom LDAP baza koja preko Radiusa omogućava spajanje na CMU ne radi?
LDAP baza interno svoje datoteke sprema u Berkeley DB formatu, inačice 4.1. Više inačica BDB-a mogu egzistirati na stroju, ali pod uvjetom da je svaka instalirana u svoj direktorij. Ono što nas zanima je spomenuta inačica 4.1, jer nju rabi CARNetov LDAP sustav. Do greške dolazi zbog gašenja LDAP-a ili restarta poslužitelja.
Spomenuta se greška javlja na nekoliko načina, a najčešća je pojava TIMEOUT poruka u Radius logovima sličnih ovoj:
Fri Feb 13 14:26:47 2004 : Error: rlm_ldap: ldap_search() failed: Timed out while waiting for server to respond. Please increase the timeout.
Kako bi se navedeni problem riješio, potrebno je prvo zaustaviti slapd proces, pa onda napraviti recovery:
# /etc/init.d/slapd stop
Stopping OpenLDAP: slapd.
# db4.1_recover -v -h /var/lib/ldap/
db_recover: Finding last valid log LSN: file: 1 offset 200640
db_recover: Recovery complete at Sun Feb 15 18:49:02 2004
db_recover: Maximum transaction id 80000000 Recovery checkpoint [1][200592]
# /etc/init.d/slapd start
Starting OpenLDAP: slapd.
#
Ovo će riješiti problem, a trajno rješenje problema je postavljanje ove naredbe u init skriptu slapd daemona:
start_slapd() {
echo -n " slapd"
db4.1_recover -v -h /var/lib/ldap/
...
Datoteka db_recover se *ne nalazi* u samom OpenLDAP paketu, nego u paketu 'db4.1-util', i za Solaris i za Linux. Dakle:
# apt-get install db4.1-util
Preinaka init skripte će predstavljati trajno rješenje ovakvog tipa problema s LDAP-om, samo valja pripaziti ukoliko je vaš poslužitelj starije generacije, a baza povelika.
|