共计 1718 个字符,预计需要花费 5 分钟才能阅读完成。
LDAP 作为一个比较关键的服务,单点肯定是有问题的,除了一般的主从,更好的选择是双主,也就是有两个 ldap 服务器,并且实时同步,然后前面通过负载均衡进行调用。其中一台挂了,负载均衡自动将其踢掉,并不影响整个服务的使用。这就是配置双主的目的。当然作为一个读多写少的服务,主从也是很不错的~
因为新式的配置文件的目录结构和以前的有点不一样,踩了不少坑才明白了其内在逻辑。正在有效的配置文件放在 `/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`
然后修改此配置文件,以下只显示修改的地方
“`
vim /etc/openldap/slapd.conf
modulepath /usr/lib/openldap #去掉前面的井号即可
modulepath /usr/lib64/openldap #同上
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 目录。
1、删除 slapd.d 目录里面的内容
`rm -rf /etc/openldap/slapd.d/*`
2、生成目录啦~
`slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d`
提示 `config file testing succeeded` 表示成功啦~
3、修改新生成文件的权限
“`
chown -R ldap.ldap /etc/openldap
chown -R ldap.ldap /var/lib/ldap
“`
4、重启 slapd
`service slapd restart`
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-07/145437.htm