1. 程式人生 > >openldap mirrorMode主主實現高可用性

openldap mirrorMode主主實現高可用性

轉載:http://www.ttlsa.com/database/openldap-mirrormode-cluster/

MirrorMode(映象同步)兩個節點都可讀可寫,當線上使用的主節點宕機之後,可以立即切換到從節點上。從節點大部分情況下是openldap的實時備份節點。如果想實現故障轉移,還需要程式的配合。但是對於系統管理員來說,會在ip層面上來實現故障轉移, 這時需要安裝keepalived, 最後說下,其實openldap的映象同步類似於mysql的主主.

環境
節點1:192.168.1.201
節點2:192.168.1.202

安裝openldap
參考:http://www.ttlsa.com/html/757.html
節點1(node1)配置

slapd.conf配置檔案的最後一行追加如下配置

12345678910111213141516   index objectclass,entryCSN,entryUUID eq    overlay syncprov    syncprov-checkpoint10010    syncprov-sessionlog100    serverID   2    syncrepl     rid=123                  provider=ldap://192.168.1.202                 bindmethod=simple                  binddn
="cn=admin,dc=ttlsa,dc=com"                  credentials=123456                  searchbase="dc=ttlsa,dc=com"                  schemachecking=off                  type=refreshAndPersist                  retry="60 +"    mirrormode on

節點2(node2)配置

slapd.conf配置檔案的最後一行追加如下配置

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    indexobjectclass,entryCSN,entryUUIDeq# 新增索引,提高同步速度,同步需要使用到這三個欄位      overlaysyncprov# 複製引擎      syncprov-checkpoint10010# 操作100次同步一次,或者1分鐘同步一次      syncprov-sessionlog100     serverID    1# 節點ID,唯一      syncrepl    rid=123                  provider=ldap://192.168.1.201 # 對端IP地址                     bindmethod=simple                  binddn="cn=admin,dc=ttlsa,dc=com"# Bind DN                   credentials=123456# 密碼                     searchbase="dc=ttlsa,dc=com"# 起始域                     schemachecking=off                  type=refreshAndPersist                  retry="60 +"     mirrormodeon# 開啟mirrormode模式

測試

具體測試過程我就不演示了,大家可以安裝Apache Directory Studio 在節點1修改資料,檢視節點2是否同步修改. 反之節點2修改,檢視節點1是否同步修改了。

最後

openldap讀取速度大概有mysql的10倍,但是寫入速度相對較慢,比較實用用於讀取頻繁的應用中. openldap和mysql是兩類東西沒有多大的可比性.

轉載請註明出處:http://www.ttlsa.com/html/3059.html