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`