记一次LDAP主从同步配置
LDAP主从同步
- OpenLDAP在2.3版本之前的同步复制带有一系列缺点如只支持一主多从模式等,在此缺点就不多说,下文着重介绍一下OpenLDAP V2.4以后的同步负复制功能
同步功能
2.4版最大的功能就是实现了双向复制,即双主、多主模式,无论哪一台master宕机,都不会影响使用。
- 这里采用Syncrepl模式进行同步: 该方式是从LDAP以拉的方式同步主LDAP的数据,该模式配置简洁方便
安装LDAP
- 主从LDAP服务器都严格遵循安装说明安装ldap,保证主从LDAP的根节点一致
- 安装完毕后应当可以正常使用,建议使用管理工具测试一下
- 保证主从LDAP服务器之间网络互通
配置ldap日志
- 在slapd.conf文件中最下方加入
loglevel 256 - 执行vi /etc/rsyslog.conf
- 最后一行添加 local4.* /var/log/ldap.log
- 执行 touch /var/log/ldap.log 创建日志文件
- service rsyslog restart 重启服务
Syncrepl
由于Syncrepl为拉取模式,修改从LDAP的配置文件slapd.conf重新启动从LDAP即可。当要复制一个大规模的数据条录时,建议从主LDAP备份数据,复制到从LDAP上。当从备份数据初始化的时候,不必担心数据老,因为syncrepl会自动进行校验,然后进行相应的修改、同步
- /var/log/ldap.log 为ldap的日志文件
- 配置主LDAP
- 打开slapd.conf,将以下取消注释
moduleload back_ldap.la- 加入
moduleload syncprov.la
- 打开slapd.conf,将以下取消注释

在slapd.conf最下方加入:
index objectClass eq
index entryCSN,entryUUID eq,pres
loglevel 4095
overlay syncprov
#contextCSN 当修改20条时 或者10分钟
syncprov-checkpoint 20 10
#session log 会话日志条目的最大数量
syncprov-sessionlog 1000
配置从LDAP
- 首先停止openLdap服务,执行命令 killall slapd
- 修改配置文件slapd.conf 这个文.在slapd.conf最下方加入:
syncrepl rid=012
# 以下所有的配置前面都是空格,最好不用tab
#主ldap地址
provider=ldap://ip:port
# 同步模式为拉 拒绝修改
type=refreshOnly
# 设置更新时间,60秒1次,最后一个单位是秒,倒数第二个是分钟 以此类推
interval=00:00:00:60
#根节点
searchbase="c=xxxxx"
## 设置所有条目匹配
scope=sub
##过滤条件,可根据需要修改
filter="*,+"
# 复制全部属性
attrs="*,+"
# 设置同步更新时间检测
schemachecking=off
# simple代表使用密码认证
bindmethod=simple
# 同步更新重试次数和时间刚开始的60秒重试10次,以后每300秒重试一次
retry="60 10 300 +"
#登录DN
binddn="cn=Manager,c=xxxx"
# 登录密码
credentials=password
注意从LDAP是使用读写权限到master中进行同步的!
Ldap 配置文件运行在linux服务器上应该UNIX格式,建议在windows上修改后进行格式确认再拷贝到服务器上。修改配置时注意在配置文件不要存在中文注释,在 syncrepl rid=xxx 以下的所有同步配置参数应当都用table键缩进,表示该内容都属于同步配置。

主LDAP 的 slapd服务不需要重启。contextCSN会根据需要自动生成。它可能最初包含在LDIF文件中,在变成的情况下产生,或者在从LDAP第一次连接主LDAP进行同步的时候产生。如果LDIF文件在被加载时不包含contextCSN时,-w 应与slapadd一起使用,以使它产生。这样会使从LDAP第一次进行同步的反应更快。
启动LDAP服务,执行netstat -nlt查看ldap端口是否开启
常见错误
- 开启LDAP后389端口未开启
- slapd.conf下配置是否正确,如若确认正确,执行 vi /etc/profile 查看是否有重复的ldap配置,如若有删除重复配置
- 以上方案都不行,卸载LDAP重新安装
- 配置完同步配置后LDAP无法启动
- 检查LDAP配置文件(slapd.conf)里的配置内容,这种情况一般都是配置内容未填写正确
- 配置完同步配置后LDAP启动成功数据无法同步
- 检查配置中的过滤条件是否填写正确,有可能存在过滤条件中中文字符在同步过程中出现乱码的情况。所以需要保证编码无误(为unix)
记一次LDAP主从同步配置的更多相关文章
- mysql主从同步配置(windows环境)
mysql主从同步配置(mysql5.5,windows环境) A主机(作为主服务器)环境:windows8.mysql5.5 ip:192.168.1.100(自己填) B主机(作为从服务器,由 ...
- Docker Mysql主从同步配置搭建
Docker Mysql主从同步配置搭建 建立目录 在虚拟机中建立目录,例如路径/home/mysql/master/data,目录结构如下: Linux中 新建文件夹命令:mkdir 文件夹名 返回 ...
- Docker Mysql数据库主从同步配置方法
一.背景 最近在做内部平台架构上的部署调整,顺便玩了一下数据库的主从同步,特此记录一下操作- 二.具体操作 1.先建立数据存放目录(-/test/mysql_test/) --mysql --mast ...
- Linux下MySQL数据库主从同步配置
说明: 操作系统:CentOS 5.x 64位 MySQL数据库版本:mysql-5.5.35 MySQL主服务器:192.168.21.128 MySQL从服务器:192.168.21.129 准备 ...
- DNS 主从同步配置
DNS 主从同步配置 主从同步:主每次修改配置文件需要修改一下序列号,主从同步主要 看序列号. 从DNS:从是可以单独修改,主从不会报错.但从修改后,主端同步给从后 从端修改数据会丢失 主从原理:从会 ...
- Mysql 5.6主从同步配置
主从同步,本质是利用数据库日志,将主库数据复制一份到从库,本质上是使用了数据复制技术. 本文概要 主库的基本配置 从库的基本配置 完全同步的步骤 注意事项 工作原理 1. 主库的基本配置 做两件事:启 ...
- centos:mysql主从同步配置(2018)
centos:mysql主从同步配置(2018) https://blog.csdn.net/liubo_2016/article/details/82379115 主服务器:10.1.1.144; ...
- MySql数据主从同步配置
由于需要配置MySQL的主从同步配置,现将配置过程记录下,已被以后不时之需 MySql数据主从同步 1.1. 同步介绍 Mysql的 主从同步 是一个异步的复制过程,从一个 Master复制到另一 ...
- centos 6.5 中设置mysql 5.1.73 主从同步配置过程
本文章给大家介绍centos 6.5设置mysql主从同步过程记录,希望文章对各位会带来帮助. 涉及到的centos系统均为虚拟机,VM下安装的版本. 在centos 6.5上设置了mysql主从功 ...
随机推荐
- 玩转 RTC时钟库 DS1302
1.前言 最近博主在弄8266编程的时候,偶然发现两个全新时钟模块压仓货: DS1302 DS3231 为了避免资源浪费以及重复编写代码,博主还是抱着尝试的心态去寻找能够同时兼容 DS ...
- java秀发入门到优雅秃头路线导航【教学视频+博客+书籍整理】
目录 一.Java基础 二.关于JavaWeb基础 三.关于数据库 四.关于ssm框架 五.关于数据结构与算法 六.关于开发工具idea 七.关于项目管理工具Mawen.Git.SVN.Gradle. ...
- hexo博客yili主题个性化自定义教程(1) ——借鉴中学习,初认yili主题
文章转载于:hexo博客yili主题个性化自定义教程(1) --借鉴中学习,初认yili主题 这个博客跌跌撞撞也弄了好多天了,由于Next主题不知道什么情况,被我玩坏了.所以换了一个主题. 大名鼎鼎的 ...
- Mysql数据库(五)表记录的检索
一.基本查询语句 二.单表查询 1.查询所有字段 mysql> SELECT * FROM tb_bookinfo; +----------+-----------+--------+----- ...
- Leetcode算法【34在排序数组中查找元素】
在之前ARTS打卡中,我每次都把算法.英文文档.技巧都写在一个文章里,这样对我的帮助是挺大的,但是可能给读者来说,一下子有这么多的输入,还是需要长时间的消化. 那我现在改变下方式,将每一个模块细分化, ...
- Luogu P1098 字符串的展开
这几天划了划水看了看初赛的试题,没写什么随笔. 今天刷刷洛谷试炼场.(不要问为什么我还在普及区) 题目描述 在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串 ...
- 学习笔记50_mongodb
MongoVUE,MongoDB可视化客户端: 添加一个连接: 数据库下就是集合. 实际上是json数据的集合 Mongodb->数据库->文档集合:相当于表->文档:相当于表里面的 ...
- Python3 下的输出字符控制
最近在使用 python3 进行爬虫的时候,出现了令人窒息的,只会在 python2 中遇到的,没想到在 python3 还能碰见的输出编码问题,报错如下: UnicodeEncodeError: ' ...
- 使用Typescript重构axios(十三)——让响应数据支持泛型
0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...
- SpringBoot项目热启动
一.添加POM依赖 <!-- 热部署模块 --> <dependency> <groupId>org.springframework.boot</groupI ...