輕量級(jí)目錄訪問(wèn)協(xié)議(LDAP) 允許你擁有一個(gè)主服務(wù)器+從服務(wù)器設(shè)置,擁有一旦發(fā)生故障時(shí)的容錯(cuò)功能或者分散工作量的功能。這擁有明顯的優(yōu)勢(shì)。但是,它也隱藏了主服務(wù)器的一些問(wèn)題。
如果你的主服務(wù)器關(guān)機(jī),從服務(wù)器工作正常,進(jìn)行l(wèi)dapsearch搜索和其它查詢是很好的。但是,如果你設(shè)法修改這個(gè)數(shù)據(jù)庫(kù)(利用使用ldapadd命令),你將得到這樣的錯(cuò)誤的信息:ldap_add: Referral (10)
referrals:
ldaps://masterldap.example.com/uid=test,ou=People,
dc=example,dc=com
從服務(wù)器不能修改這個(gè)數(shù)據(jù)庫(kù)。因此,它設(shè)法重新指向這個(gè)主服務(wù)器,并且得到失敗的結(jié)果。如果你現(xiàn)在使用ldapsearch搜索命令查詢你新輸入的內(nèi)容,你會(huì)找不到那個(gè)內(nèi)容。
你可以通過(guò)如下方法證實(shí)這個(gè)診斷:使用ldapsearch -H ldaps://masterldap.example.com強(qiáng)制綁定這個(gè)主服務(wù)器。
下一步是找到引起故障的原因。把/etc/ldap/slapd.conf配置文件中的記錄水平設(shè)置為1,然后重新啟動(dòng)slapd并且查看記錄。
兩個(gè)常見(jiàn)的問(wèn)題是:
一個(gè)老的slapd線程沒(méi)有恰當(dāng)?shù)仃P(guān)閉。用ps進(jìn)行檢查并且如果有必要的話關(guān)閉這個(gè)線程。
一個(gè)alock問(wèn)題。這個(gè)問(wèn)題在記錄中看起來(lái)是這樣的:
slapd[27069]: bdb_db_open: alock package is unstable
slapd[27069]: backend_startup_one: bi_db_open failed! (-1)
要解決這個(gè)問(wèn)題,你可以刪除/var/lib/ldap/alock文件(或者檢查在你的本地?cái)?shù)據(jù)目錄中的slapd.conf配置文件)。運(yùn)行db_recover命令修復(fù)這個(gè)數(shù)據(jù)庫(kù),或者重新啟動(dòng)slapd,它應(yīng)該能夠自己恢復(fù)。你需要給它一點(diǎn)時(shí)間或者重新啟動(dòng)它。
要記住在完成上述操作之后把記錄水平恢復(fù)到正常狀態(tài),否則,服務(wù)器的運(yùn)行速度會(huì)很慢。此外,考慮使用監(jiān)視軟件捕捉這些隱藏的問(wèn)題。


