1.多主节点
ldap多主节点是有两个以上ldap 节点组成ldap 集群提供服务。为主备模式,与负载均衡模式。ldap client ,nslcd 都只是实现主备模式,负载均衡需要依赖第三方服务(一般交给供应商的slb)
2. ldap 服务架构
image.png3. 主主数据同步同步配置
其他同步模式可以参考 ldap数据同步模式
- 准备工作
两台服务器安装ldap服务,可以参考openldap 单点服务安装
备注:这里的配置都是通过 旧配置文件方式 /etc/slapd.conf
3.1、启用 syncprov 模块
modulepath /usr/lib64/openldap #模块的位置
moduleload syncprov.la #加载同步数据模块
3.2、同步数据设置
#专属索引
index objectClass eq
index entryCSN,entryUUID eq,pres
#暂时不知道干啥,但是必须添加
overlay syncprov
#contextCSN 当修改20条时 或者10分钟
syncprov-checkpoint 20 10
#session 每次同步数据最大量
syncprov-sessionlog 1000
3.3、服务id
serverID 2 #对应复制的rid
3.4、主主同步数据源地址配置
#在02节点上
syncrepl rid=001
provider=ldap://192.168.19.11:389/
type=refreshAndPersist
retry="60 10 300 +" #同步更新重试次数和时间刚开始的60秒重试10次,以后每300秒重试一次
interval=00:00:00:10 #设置更新时间,10秒1次,最后一个单位是秒,倒数第二个是分钟 以此类推到天
searchbase="dc=asd,dc=cn"
scope=sub
schemachecking=off
bindmethod=simple #认证方式,simple指密码认证
binddn="cn=admin,dc=asd,dc=cn"
attrs="*,+" #复制全部属性
credentials=asd
mirrormode on
#在01节点上
syncrepl rid=002
provider=ldap://192.168.19.11:389/
type=refreshAndPersist
retry="60 10 300 +" #同步更新重试次数和时间刚开始的60秒重试10次,以后每300秒重试一次
interval=00:00:00:10 #设置更新时间,10秒1次,最后一个单位是秒,倒数第二个是分钟 以此类推到天
searchbase="dc=asd,dc=cn"
scope=sub
schemachecking=off
bindmethod=simple #认证方式,simple指密码认证
binddn="cn=admin,dc=asd,dc=cn"
attrs="*,+" #复制全部属性
credentials=asd
mirrormode on
4、主备同步数据源地址配置
#主ldap 服务
index objectClass eq
index entryCSN,entryUUID eq,pres
#暂时不知道干啥,但是必须添加
overlay syncprov
#contextCSN 当修改20条时 或者10分钟
syncprov-checkpoint 20 10
#session 每次同步数据最大量
syncprov-sessionlog 1000
#从ldap服务
syncrepl rid=002
provider=ldap://192.168.19.11:389/
type=refreshAndPersist
retry="60 10 300 +" #同步更新重试次数和时间刚开始的60秒重试10次,以后每300秒重试一次
interval=00:00:00:10 #设置更新时间,10秒1次,最后一个单位是秒,倒数第二个是分钟 以此类推到天
searchbase="dc=asd,dc=cn"
scope=sub
schemachecking=off
bindmethod=simple #认证方式,simple指密码认证
binddn="cn=admin,dc=asd,dc=cn"
attrs="*,+" #复制全部属性
credentials=asd
mirrormode on
5、重启服务验证
6、常见问题
(1).数据同步异常
数据无法同步,两个服务器添加数据,再做测试即可。用的2.4.44遇到过,怀疑是同步数据要有相同数据层级结构
附: 常用的配置文件
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/duaconf.schema
include /etc/openldap/schema/dyngroup.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/java.schema
include /etc/openldap/schema/misc.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/openldap.schema
include /etc/openldap/schema/ppolicy.schema
include /etc/openldap/schema/collective.schema
database monitor
database bdb
directory /data1/ldap
index ou,cn,mail,surname,givenname eq,pres,sub
index uidNumber,gidNumber,loginShell eq,pres
index uid,memberUid eq,pres,sub
index nisMapName,nisMapEntry eq,pres,sub
index member eq,pres
index entryCSN,entryUUID eq
index objectClass eq,pres
suffix "dc=asdu,dc=com"
rootdn "cn=admin,dc=asdu,dc=com"
rootpw {SSHA}v/b+42Nzvfku0jKSbwIT9udxoTiUS4qP
pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args
loglevel 256
modulepath /usr/lib64/openldap
moduleload syncprov.la
overlay syncprov
syncprov-checkpoint 20 10
syncprov-sessionlog 1000
serverID 001
syncrepl rid=002
provider=ldap://192.168.106.11:389
type=refreshAndPersist
retry="60 10 300 +"
interval=00:00:00:10
searchbase="dc=asdu,dc=com"
scope=sub
schemachecking=off
bindmethod=simple
binddn="cn=admin,dc=asdu,dc=com"
credentials=bigdata2021
attrs="*,+"
mirrormode on
网友评论