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  ]



f
創作者介紹
創作者 xiangyang17 的頭像
xiangyang17

xiangyang17

xiangyang17 發表在 痞客邦 留言(0) 人氣()