ldap做爲一個比較關鍵的服務,單點確定是有問題的,除了通常的主從,更好的選擇是雙主,也就是有兩個ldap服務器,而且實時同步,而後前面經過負載均衡進行調用。其中一臺掛了,負載均衡自動將其踢掉,並不影響整個服務的使用。這就是配置雙主的目的。固然做爲一個讀多寫少的服務,主從也是很不錯的~vim
由於新式的配置文件的目錄結構和之前的有點不同,踩了很多坑才明白了其內在邏輯。正在有效的配置文件放在`/etc/openldap/slapd.d/`目錄下,被分紅多個,並且若是有不一樣的新的配置,此目錄的配置文件也會新添加。因此管理此目錄仍是有必定難度的。所以openldap提供了一個巧妙的方式。咱們依然配置熟悉的`slapd.conf`文件,而後經過命令吧`slapd.conf`轉換爲`slapd.d`的目錄結構。這玩意兒研究了兩天才明白。。。服務器
話很少說,開始配置雙主。yum安裝的話,默認狀況下`/etc/openldap/`目錄下沒有`slapd.conf`文件,不過能夠從其餘地方copy。負載均衡
`cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf`ide
而後修改此配置文件,如下只顯示修改的地方spa
```rest
vim /etc/openldap/slapd.conform
modulepath /usr/lib/openldap #去掉前面的井號便可server
modulepath /usr/lib64/openldap #同上ip
moduleload syncprov.ld #次模塊就是用來實現主從和雙主的~同步
index entryCSN,entryUUID eq
```
兩臺服務器上面的配置同樣,後面的配置有點區別。
服務器a:
```
serverID 2 #雙活的ID要不一樣哦
overlay syncprov
syncrepl rid=001 #此id兩臺要一致
provider=ldap://ip_address #服務器b的ip地址
type=refreshAndPersist
searchbase="dc=xxx,dc=com" #設置從根開始搜索
schemachecking=off
bindmethod=simple
binddn="cn=admin,dc=xxx,dc=com" #此用戶要存在喲,此處用了管理用戶
credentials=1234 #不知道是管理用戶密碼,仍是同步的密碼,因此就寫成管理用戶密碼了。
retry=「60 +」
mirrormode on
```
服務器b:
```
serverID 1
syncrepl rid=001 #此id兩臺要一致
provider=ldap://ip_address #服務器a的ip地址
type=refreshAndPersist
searchbase="dc=xxx,dc=com" #設置從根開始搜索
schemachecking=off
bindmethod=simple
binddn="cn=admin,dc=xxx,dc=com" #此用戶要存在喲,此處用了管理用戶
credentials=1234 #不知道是管理用戶密碼,仍是同步的密碼,因此就寫成管理用戶密碼了。
retry=「60 +」
mirrormode on
```
基本的配置以及設置完畢,接下來就是把slap.conf 生成sladp.d目錄。
一、刪除slapd.d目錄裏面的內容
`rm -rf /etc/openldap/slapd.d/*`
二、生成目錄啦~
`slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d`
提示`config file testing succeeded`表示成功啦~
三、修改新生成文件的權限
```
chown -R ldap.ldap /etc/openldap
chown -R ldap.ldap /var/lib/ldap
```
四、重啓slapd
`service slapd restart`