原文:http://www.openldap.org/doc/admin24/replication.html
一、基礎
OpenLDAP 複製基於syncrepl進程。它有兩個角色。一個是provider,另一個是consumer。
以下是配置Provider與Consumer
Provider:
增加以下內容
#Add for repl
index objectclass,entryCSN,entryUUID eq #要註釋系統原來的那一條。不能重複
moduleload syncprov.la
overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 100
官方示例文檔中,數據庫用的是mdb,而且有maxsize。這是好大一個坑!!如果真這樣配置,在通過LDAP Admin導入時,會循環導入。。。就是People下面有幾十個People。只要增加以上內容即可
Consumer:
#增加以下
moduleload syncprov.la
syncrepl rid=002
provider=ldap://192.168.0.58:389
type=refreshOnly
interval=00:00:01:00 #一分鐘同步一次
searchbase="dc=my-domain,dc=com"
filter="(objectClass=*)" #同步所有的條目,也可以指定條目
scope=sub
attrs="*" #同步所有的屬性
schemachecking=off
bindmethod=simple
binddn="cn=Manager,dc=my-domain,dc=com" #provider的管理員
credentials=1234 #provider的管理員密碼
其實這樣就已經會同步了。Consumer會同步Provider的。
再配合在兩臺OpenLDAP服務器上安裝keepalived+ipvsadm。就可以實現高可用了。
其他說明:
如果consumer因爲provider停止時間過久,不同步了。可以把consumer的/var/lib/ldap/*下面的內容全刪除。再啓動consumer。就又會立即從provider中同步最新的內容。並保持同步關係