配置Openldap的Mirror Mode模式的HA

本文详细介绍了如何将两台OpenLDAP服务器配置为镜像模式,实现数据互备和复制,确保高可用性和数据一致性。包括软件包版本同步、时间同步、域名解析、schema文件统一、配置信息设置及日志功能开启等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

配置OpenLDAP HA

要把2台LDAP server配置成mirror mode,互相replicate,需要满足以下几个条件:

  1. OpenLDAP的两台服务之间需要保持时间同步(ntpd)
  2. 软件包版本保持一致
  3. 节点之间域名可以相互解析
  4. schema文件保持一致
  5. 需要提供完全一样的配置及目录树信息(配置信息中只有server ID和provider的信息不同)
添加syncprov module

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/mod_syncprov.ldif -W

/etc/openldap/mod_syncprov.ldif 文件内容如下:

dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulePath: /usr/lib64/openldap
olcModuleLoad: syncprov.la

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/syncprov.ldif -W

/etc/openldap/syncprov.ldif 文件内容如下:

dn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
olcSpCheckpoint: 100 10
olcSpSessionLog: 100

以上两步需要分别在两个LDAP的节点执行

LDAP主主节点的配置

A节点(eg:172.16.10.121)

ldapmodify -Y EXTERNAL -H ldapi:/// -f /etc/openldap/ldap01.ldif -W

/etc/openldap/ldap01.ldif文件内容如下:

dn: cn=config
changetype: modify
replace: olcServerID
olcServerID: 1 #此处两个节点不能相同

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSyncRepl
olcSyncRepl: rid=001
             provider=ldap://172.16.10.122:389  #此处为另一个主节点的ip和openldap的端口号
             bindmethod=simple
             binddn="cn=Manager,dc=esgyn,dc=local"
             credentials=traf123  #此处就是172.16.10.122节点的rootpw,此处只能使用明文
             searchbase="dc=esgyn,dc=local"
             filter="(objectClass=*)"
             scope=sub
             schemachecking=off
             attrs="*,+"
             type=refreshAndPersist
             retry="5 5 300 +"
             interval=00:00:01:00
-
add: olcMirrorMode
olcMirrorMode: TRUE
-
add: olcDbIndex
olcDbIndex: entryUUID eq
-
add: olcDbIndex
olcDbIndex: entryCSN eq

B节点(eg:172.16.10.122)

ldapmodify -Y EXTERNAL -H ldapi:/// -f /etc/openldap/ldap02.ldif -W

/etc/openldap/ldap02.ldif文件内容如下:

dn: cn=config
changetype: modify
replace: olcServerID
olcServerID: 2 #此处两个节点不能相同

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSyncRepl
olcSyncRepl: rid=001
             provider=ldap://172.16.10.121:389  #此处为另一个主节点的ip和openldap的端口号
             bindmethod=simple
             binddn="cn=Manager,dc=esgyn,dc=local"
             credentials=traf123  #此处就是172.16.10.121节点的rootpw,此处只能使用明文
             searchbase="dc=esgyn,dc=local"
             filter="(objectClass=*)"
             scope=sub
             schemachecking=off
             attrs="*,+"
             type=refreshAndPersist
             retry="5 5 300 +"
             interval=00:00:01:00
-
add: olcMirrorMode
olcMirrorMode: TRUE
-
add: olcDbIndex
olcDbIndex: entryUUID eq
-
add: olcDbIndex
olcDbIndex: entryCSN eq

到此OpenLDAP HA的配置就完成了,可以在两个节点分别增加用户,查看配置是否成功。

如何开启日志功能

修改日志配置文件,在/etc/rsyslog.conf文件中添加下列语句:

local4.* /var/log/ldap.log

然后重启服务 service rsyslog restart

ldapmodify -Y EXTERNAL -H ldapi:/// -f /etc/openldap/loglevel.ldif -W

/etc/openldap/loglevel.ldif文件内容如下:

dn: cn=config
changetype: modify
add: olcLoglevel
olcLogLevel: 256

如何卸载OpenLDAP

service slaps stop

yum remove openldap-servers openldap-clients

rm -rf /etc/openldap/slapd.d/*

rm -rf /var/lib/ldap/*

如果将/etc/openldap全部删除,在下次重新安装openldap的时候可能存在问题。

OpenLDAP的syncrepl可以配置镜像模式,即将主服务器上的数据同步到备份服务器上,使备份服务器上的数据与主服务器上的数据保持一致。以下是配置OpenLDAP syncrepl镜像模式的步骤: 1. 在主服务器上配置syncrepl 在主服务器上配置syncrepl,以将主服务器上的数据同步到备份服务器上。以下是配置syncrepl的示例: ``` syncrepl rid=001 provider=ldap://primary.example.com type=refreshAndPersist interval=00:00:05:00 searchbase="dc=example,dc=com" filter="(objectClass=*)" scope=sub attrs="*" schemachecking=off bindmethod=simple binddn="cn=admin,dc=example,dc=com" credentials="admin_password" retry="5 5 300 +" ``` 其中,provider指定了主服务器的地址,searchbase指定了要同步的数据的基本DN,attrs指定了要同步的属性列表,binddn和credentials指定了连接主服务器的用户和密码。 2. 在备份服务器上配置syncrepl 在备份服务器上配置syncrepl,以从主服务器同步数据。以下是配置syncrepl的示例: ``` syncrepl rid=002 provider=ldap://primary.example.com type=refreshAndPersist interval=00:00:05:00 searchbase="dc=example,dc=com" filter="(objectClass=*)" scope=sub attrs="*" schemachecking=off bindmethod=simple binddn="cn=admin,dc=example,dc=com" credentials="admin_password" retry="5 5 300 +" mirrorMode on ``` 其中,provider指定了主服务器的地址和端口,mirrorMode on指定了使用镜像模式同步数据。 3. 启动syncrepl服务 在主服务器和备份服务器上分别启动syncrepl服务,以开始同步数据。 以上就是配置OpenLDAP syncrepl镜像模式的步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值