openldap 提供副本的功能,副本除了可作備份之外,也可以當成另一台 ldap server以供查詢,這樣可以分擔主要伺服器的工作。
副本建置主要流程
1.停用主要伺服器的 slapd 行程
2.重新設定主要伺服器的 slapd.conf,加入副本伺服器的相關設定
3.將主要伺服器的資料庫複製到副本伺服器
4.設定副本伺服器的 slapd.conf
5.啟動副本伺服器的 slapd 行程
6.啟動主要伺服器的 slapd 行程
7.啟動主要伺服器的 slurpd 行程
設定主要伺服器的 slapd.conf
要支援副本的功能,必須在主要伺服器與副本伺服器上都做好設定,讓彼此能夠建立連線。底下說明主要伺服器上的 slapd.conf設定方法:
首先要加入日誌檔名稱,讓 slapd 記錄 LDAP 的所有變更,這樣才知道那些地方變更要通知副本伺服器:
指定日誌檔位置
replogfile /var/lib/ldap/slapd.replog
接著要設定副本伺服器的相關資訊,使用 replica 來設定,有多台副本伺服器的話就要設定多個 replica 參數(有幾台就要設定幾個)。
replica host=ldap2.com:389
副本伺服器的主機位置
suffix="dc=ldap1,dc=com"
要複製節點的資訊
binddn="cn=ldap2,dc=ldap1,dc=com"
使用者,需對副本伺服器有寫入權限
credentials=MyPass
設定密碼,用來與副本伺服器進行溝通
bindmethod=simple
這個選項可用 simple 與 sasl,應該就是設定安全性的選項
tls=yes
使否要使用加密來傳遞資料
設定副本伺服器的 slapd.conf
與一般設定 slapd.conf 差不多,底下列出幾個與建置副本時用的到的參數:
suffix "dc=ldap1,dc=com"
這個要設定主伺服器的 suffix
rootdn "cn=ldap2,dc=ldap1,dc=com"
也就是這台副本伺服器的 dn
rootpw {SSHA}nMcPncD3mnlJf/6Qw7RuKvqOdP/ecqzq
這個會對應到主伺服器上的 MyPass
updatedn "cn=ldap2,dc=ldap1,dc=com"
也就是副本伺服器的 dn
updateraf ldap://ldap1.com
主要伺服器的 LDAP URL
副本伺服器建置實作
1.停用主要伺服器的 slapd 行程
[root@CentOS53 openldap]# service ldap stop
Stopping slapd: [ OK ]
2.重新設定主要伺服器的 slapd.conf,加入副本伺服器的相關設定
請參考上面說明,依實際狀況修改設定
3.設定副本伺服器的 slapd.conf
一樣請參考上面說明,依實際狀況修改設定,設定方式與主伺服器方式差不多。(記得DB_CONFIG_example也要複製過去,目錄擁有者也要變更)
4.將主要伺服器的資料庫複製到副本伺服器
a. 將主要伺服器的資料輸出到 content.ldif 這個檔案
[root@CentOS53 openldap]# slapcat -b "dc=xiang,dc=com" -l content.ldif
b. 將 content.ldif 丟到副本伺服器上,並加到 ldap 資料庫裡
[root@CentOS53 openldap]# slapadd -l content.ldif
5.啟動副本伺服器的 slapd 行程
[root@CentOS53 openldap]# service ldap start
Checking configuration files for slapd: config file testing succeeded
[ OK ]
Starting slapd: [ OK ]
6.啟動主要伺服器的 slapd 行程
7.啟動主要伺服器的 slurpd 行程
啟動 ldap 伺服器 slurpd 就會一同啟動
[root@CentOS53 openldap]# service ldap start
Checking configuration files for slapd: config file testing succeeded
[ OK ]
Starting slapd: [ OK ]
Starting slurpd: [ OK ]
留言列表