3.如何实现OpenLDAP的主主同步

时间:2022-05-06
本文章向大家介绍3.如何实现OpenLDAP的主主同步,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github:https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢

1.文档编写目的


前面Fayson文章讲《1.如何在CentOS6.5安装OpenLDAP并配置客户端》以及《2.OpenLDAP集成SSH登录并使用SSSD同步用户》,那么如何确保OpenLDAP服务的高可用?本篇文章主要介绍如何通过OpenLDAP的MorrorMode实现主主同步,即OpenLDAP的两个服务都可以读写,当主OpenLDAP节点宕机后,可以切换到备节点,可以通过Keepalived实现OpenLDAP故障转移。

•内容概述

1.测试环境描述

2.主主OpenLDAP配置

3.主主同步验证

•测试环境

1.CentOS6.5

2.OpenLDAP版本2.4.40

•测试环境

1.OpenLDAP已安装

2.测试环境描述


IP地址

HOSTNAME

描述

172.31.7.172

ip-172-31-7-172.fayson.com

OpenLDAP已安装并导入根域及用户和用户组

172.31.9.33

cdh04.fayson.com

OpenLDAP已安装未导入数据

这里我们将172.31.7.172做为OpenLDAP的主节点,172.31.9.33做为OpenLDAP的备节点。

1.172.31.7.172节点的DN信息,提示:代码块部分可以左右滑动查看噢

ldapsearch -h ip-172-31-7-172.fayson.com -b "dc=fayson,dc=com" -D "cn=Manager,dc=fayson,dc=com" -W |grep dn

2.172.31.9.33节点的DN信息,提示:代码块部分可以左右滑动查看噢

ldapsearch -h cdh04.fayson.com -b "dc=fayson,dc=com" -D "cn=Manager,dc=fayson,dc=com" -W |grep dn

这里我们不导入数据到备节点,通过配置主主同步的方式将主节点的数据同步至备节点。

3.主节点(172.31.7.172)配置


1.停止OpenLDAP服务,提示:代码块部分可以左右滑动查看噢

[root@ip-172-31-7-172 openldap]# service slapd stop
Stopping slapd:                                            [  OK  ]
[root@ip-172-31-7-172 openldap]# 

2.修改/etc/openldap/slapd.conf文件,在文件末尾增加如下配置,提示:代码块部分可以左右滑动查看噢

index entryCSN,entryUUID eq
moduleload syncprov.la
overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 100
serverID      1
syncrepl      rid=111
                provider=ldap://cdh04.fayson.com
                binddn="cn=Manager,dc=fayson,dc=com"
                credentials=123456
                searchbase="dc=fayson,dc=com"
                schemachecking=off
                type=refreshAndPersist
                retry="60 +"
mirrormode on

3.执行如下命令,重新生成OpenLDAP的配置并修改生成配置文件的属主,提示:代码块部分可以左右滑动查看噢

rm -rf /etc/openldap/slapd.d/*
slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/
chown -R ldap:ldap /etc/openldap/slapd.d/
ll /etc/openldap/slapd.d/

4.启动OpenLDAP服务

service slapd start

5.验证服务是否正常,提示:代码块部分可以左右滑动查看噢

ldapsearch -h ip-172-31-7-172.fayson.com -b "dc=fayson,dc=com" -D "cn=Manager,dc=fayson,dc=com" -W |grep dn

4.备节点(172.31.9.33)配置


1.停止OpenLDAP服务

service slapd stop

2.修改/etc/openldap/slapd.conf文件,在文件末尾增加如下内容,提示:代码块部分可以左右滑动查看噢

index entryCSN,entryUUID eq
moduleload syncprov.la
overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 100
serverID        2
syncrepl      rid=123
                provider=ldap://ip-172-31-7-172.fayson.com
                binddn="cn=Manager,dc=fayson,dc=com"
                credentials=123456
                searchbase="dc=fayson,dc=com"
                schemachecking=off
                type=refreshAndPersist
                retry="60 +"
mirrormode on

3.执行如下命令,重新生成OpenLDAP的配置并修改生成配置文件的属主,提示:代码块部分可以左右滑动查看噢

rm -rf /etc/openldap/slapd.d/*
slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/
chown -R ldap:ldap /etc/openldap/slapd.d/
ll /etc/openldap/slapd.d/

4.启动OpenLDAP服务

5.验证OpenLDAP服务是否正常,提示:代码块部分可以左右滑动查看噢

ldapsearch -h cdh04.fayson.com -b "dc=fayson,dc=com" -D "cn=Manager,dc=fayson,dc=com" -W |grep dn

这里可以看到主节点的数据已同步到备节点的OpenLDAP数据库了。

5.主主同步验证


通过如下步骤来进行验证:

  • 在主节点的OpenLDAP服务上导入faysonadd用户和用户组
  • 在备节点的OpenLDAP服务上查找faysonadd用户是否同步
  • 在备节点的OpenLDAP服务上将faysonadd用户删除
  • 在主节点OpenLDAP服务上查找faysonadd用户是否删除

1.在主节点的OpenLDAP服务上导入faysonadd用户和用户组

faysonaddy用户的ldif文件,提示:代码块部分可以左右滑动查看噢

[root@ip-172-31-7-172 openldap-ldif]# vim user_faysonadd.ldif 
dn: uid=faysonadd,ou=People,dc=fayson,dc=com
uid: faysontadd
cn: faysonadd
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword: {SSHA}KYgsfyI/uny0dKPNeMRNG54BdwV6KlWA
shadowLastChange: 17493
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 5500
gidNumber: 5500
homeDirectory: /home/faysonadd

faysonadd用户组的ldif文件,提示:代码块部分可以左右滑动查看噢

[root@ip-172-31-7-172 openldap-ldif]# vim group_faysonadd.ldif 
dn: cn=faysonadd,ou=Group,dc=fayson,dc=com
objectClass: posixGroup
objectClass: top
cn: faysonadd
userPassword: {SSHA}KYgsfyI/uny0dKPNeMRNG54BdwV6KlWA
gidNumber: 5500

导入faysonadd用户和用户组,提示:代码块部分可以左右滑动查看噢

ldapadd -D "cn=Manager,dc=fayson,dc=com" -W -x -f group_faysonadd.ldif
ldapadd -D "cn=Manager,dc=fayson,dc=com" -W -x -f user_faysonadd.ldif

2.在备节点的OpenLDAP服务上查找faysonadd用户,提示:代码块部分可以左右滑动查看噢

ldapsearch -h cdh04.fayson.com -b "dc=fayson,dc=com" -D "cn=Manager,dc=fayson,dc=com" -W |grep dn

3.在备OpenLDAP服务上删除faysonadd用户和用户组,提示:代码块部分可以左右滑动查看噢

ldapdelete -x -D "cn=Manager,dc=fayson,dc=com" -W "cn=faysonadd,ou=Group,dc=fayson,dc=com"
ldapdelete -x -D "cn=Manager,dc=fayson,dc=com" -W "uid=faysonadd,ou=People,dc=fayson,dc=com"

在备OpenLDAP服务上已不能查找到faysonadd用户和用户组,提示:代码块部分可以左右滑动查看噢

ldapsearch -h cdh04.fayson.com -b "dc=fayson,dc=com" -D "cn=Manager,dc=fayson,dc=com" -W |grep dn

可以看到在主节点上也没有faysonadd用户和用户组信息。

到此为止已完成了OpenLDAP服务的主主同步。

6.总结


  • 使用MorrorMode实现OpenLDAP主主同步需要注意配置文件中的ServerID两个节点不能相同。
  • 文中选择的同步方式为Syncrepl即全量模式,也可以使用Delta-syncrepl即增量模式同步,可以避免修改条目中的一个属性将整个条目的属性都同步的缺点。

提示:代码块部分可以左右滑动查看噢 为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操