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实操

原文发布于微信公众号 - Hadoop实操(gh_c4c535955d0f)

原文发表时间:2018-01-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Jed的技术阶梯

《Maven实战》全书总结

把MAVEN_HOME/conf/seettings.xml cp 到 ~/.m2/下,在.m2下的settings.xml中所作的配置就是用户级别的配置,而直...

3051
来自专栏SpringBoot 核心技术

第二十一章:SpringBoot项目中的全局异常处理

5903
来自专栏黑泽君的专栏

安装最新版本的Oracle公司的虚拟机软件 VirtualBox + 安装虚拟机 Windows XP 系统 + 安装 Oracle 11g 软件 + 出现 ERROR: ORA-12541: TNS

  VirtualBox的下载链接:https://www.virtualbox.org/wiki/Downloads

2201
来自专栏数据订阅

数据订阅案例

我们会通过模拟从库向主库获取对应 binlog 内容进行分析,大概架构图如下,我们会通过解析 binlog ,按照订阅通道配置的库表进行分析,所以几乎对主库没有...

1643
来自专栏乐沙弥的世界

Linux 文件目录特殊权限设定(SUID,SGID,SBIT)

Linux文件及目录的权限设定,除了我们孰知的读写执行(rwx)之外,还有一些特殊的权限设定用来满足特定的目录。这些特殊权限的设定主要是SUID,SGID以及S...

1082
来自专栏玄魂工作室

kali linux Python 黑客编程1 开发环境

初始化 为什么要选择Python? Python作为目前Linux系统下最流行的编程语言之一,对于安全工作者的作用可以和C++相提并论。Python提供了丰富的...

5796
来自专栏LhWorld哥陪你聊算法

从0到1搭建spark集群---企业集群搭建

今天分享一篇从0到1搭建Spark集群的步骤,企业中大家亦可以参照次集群搭建自己的Spark集群。

3673
来自专栏Hadoop实操

2.OpenLDAP集成SSH登录并使用SSSD同步用户

前面Fayson文章讲《1.如何在CentOS6.5安装OpenLDAP并配置客户端》,安装及配置好OpenLDAP后,如何使用OpenLDAP上的用户登录集群...

7267
来自专栏jmeter高手高高手

Jmeter(三)_配置元件

Clear Cookies each Iteration:每次迭代请求,清空cookies,GUI中定义的任何cookie都不会被清除。

2612
来自专栏程序员的诗和远方

React-Native For Android 环境搭建及踩坑

安装环境 本文默认以MacOS为系统,毕竟除了用React Native搞Android,你也会想用它搞iOS。 首先当然是Android的环境搭建,这里还是推...

3196

扫码关注云+社区

领取腾讯云代金券