前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >3.如何实现OpenLDAP的主主同步

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

作者头像
Fayson
修改2018-04-01 20:53:40
2.8K0
修改2018-04-01 20:53:40
举报
文章被收录于专栏:Hadoop实操Hadoop实操

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 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信息,提示:代码块部分可以左右滑动查看噢

代码语言:txt
复制
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信息,提示:代码块部分可以左右滑动查看噢

代码语言:txt
复制
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服务,提示:代码块部分可以左右滑动查看噢

代码语言:txt
复制
[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文件,在文件末尾增加如下配置,提示:代码块部分可以左右滑动查看噢

代码语言:txt
复制
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的配置并修改生成配置文件的属主,提示:代码块部分可以左右滑动查看噢

代码语言:txt
复制
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服务

代码语言:txt
复制
service slapd start

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

代码语言:txt
复制
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服务

代码语言:txt
复制
service slapd stop

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

代码语言:txt
复制
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的配置并修改生成配置文件的属主,提示:代码块部分可以左右滑动查看噢

代码语言:txt
复制
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服务是否正常,提示:代码块部分可以左右滑动查看噢

代码语言:txt
复制
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文件,提示:代码块部分可以左右滑动查看噢

代码语言:txt
复制
[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文件,提示:代码块部分可以左右滑动查看噢

代码语言:txt
复制
[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用户和用户组,提示:代码块部分可以左右滑动查看噢

代码语言:txt
复制
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用户,提示:代码块部分可以左右滑动查看噢

代码语言:txt
复制
ldapsearch -h cdh04.fayson.com -b "dc=fayson,dc=com" -D "cn=Manager,dc=fayson,dc=com" -W |grep dn

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

代码语言:txt
复制
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用户和用户组,提示:代码块部分可以左右滑动查看噢

代码语言:txt
复制
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实操

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-01-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档