在此推薦一個openldap的雙向備份的博客,整理的很到位,本身實踐操做過:html
http://blog.chinaunix.net/uid-261298-id-3345292.html服務器
假設兩臺服務器的IP爲:ide
A LDAP 10.0.0.1ui
B LDAP 10.0.0.2加密
首先咱們須要知足以下條件:.net
1、保證A和B兩臺服務器裏都配置的同樣的根dc,好比個人是:dc=lhg,dc=com。unix
2、兩邊的管理賬戶都有cn=root,dc=lhg,dc=com,密碼都爲111111。orm
3、保證目前AB兩臺服務器的數據徹底一致。若是閒麻煩能夠先導出全部數據,而後刪除看成全新安裝,待同步完成後從其中一臺導入便可。server
以上條件知足了後開始設置A的配置文件htm
修改A服務器的slapd.conf內容,增長以下:
# 設置惟一ID號
serverID 1
# 開啓同步
overlay syncprov
# 設置從B服務器獲取信息
syncrepl rid=001 <----和B服務器保持一致,告訴B如今和你是同一組。
provider=ldap://10.0.0.2:389 <----B服務器LDAP的IP及端口
type=refreshAndPersist <----設置爲持續同步
searchbase="dc=lhg,dc=com" <----從B服務器同步dc=lhg,dc=com
schemachecking=on <----schema驗證開啓
bindmethod=simple <----密碼驗證爲簡單模式(即明文,此處你能夠改成加密)
binddn="cn=root,dc=lhg,dc=com" <----使用cn=root,dc=lhg,dc=com用戶進行讀取(B服務器上必須有該用戶)
credentials=111111 <----密碼爲111111
retry="60 +" <----重試爲60秒,60和「+」之間必須有空格
#以上幾個都是syncrepl的參數,能夠考慮在一行裏完成,我這裏在最前面用一個TAB作了換行。
mirrormode on <----開啓鏡像模式
修改B服務器的slapd.conf內容,增長以下:
# 設置惟一ID號和A不能同樣
serverID 2
# 開啓同步
overlay syncprov
# 設置從B服務器獲取信息
syncrepl rid=001 <----和B服務器保持一致,告訴A如今和你是同一組。
provider=ldap://10.0.0.1:389 <----A服務器LDAP的IP及端口
type=refreshAndPersist <----設置爲持續同步
searchbase="dc=lhg,dc=com" <----從A服務器同步dc=lhg,dc=com
schemachecking=on <----schema驗證開啓
bindmethod=simple <----密碼驗證爲簡單模式(即明文,此處你能夠改成加密)
binddn="cn=root,dc=lhg,dc=com" <----使用cn=root,dc=lhg,dc=com用戶進行讀取(A服務器上必須有該用戶)
credentials=111111 <----密碼爲111111
retry="60 +" <----重試爲60秒,60和「+」之間必須有空格
#以上幾個都是syncrepl的參數,能夠考慮在一行裏完成,我這裏在最前面用一個TAB作了換行。
mirrormode on <----開啓鏡像模式
設置完成後重啓openldap。這時在A或者B服務器上添加刪除任意數據都將相互同步。該模式不支持對兩臺服務器同時寫操做。
我本身整理的在slap.conf文件中加入以下內容,重啓opendlap便可:
# 設置惟一ID號
serverID 1
# 開啓同步
overlay syncprov
# 設置從B服務器獲取信息
syncrepl rid=001 provider=ldap://169.254.169.4:389 type=refreshAndPersist searchbase="dc=chinautrust,dc=com" schemachecking=on bindmethod=simple binddn="cn=Manager,dc=chinautrust,dc=com" cred
entials=password12345 retry="60 +"
mirrormode on