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最下方加入:

    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主从同步配置的更多相关文章

  1. mysql主从同步配置(windows环境)

    mysql主从同步配置(mysql5.5,windows环境)   A主机(作为主服务器)环境:windows8.mysql5.5 ip:192.168.1.100(自己填) B主机(作为从服务器,由 ...

  2. Docker Mysql主从同步配置搭建

    Docker Mysql主从同步配置搭建 建立目录 在虚拟机中建立目录,例如路径/home/mysql/master/data,目录结构如下: Linux中 新建文件夹命令:mkdir 文件夹名 返回 ...

  3. Docker Mysql数据库主从同步配置方法

    一.背景 最近在做内部平台架构上的部署调整,顺便玩了一下数据库的主从同步,特此记录一下操作- 二.具体操作 1.先建立数据存放目录(-/test/mysql_test/) --mysql --mast ...

  4. Linux下MySQL数据库主从同步配置

    说明: 操作系统:CentOS 5.x 64位 MySQL数据库版本:mysql-5.5.35 MySQL主服务器:192.168.21.128 MySQL从服务器:192.168.21.129 准备 ...

  5. DNS 主从同步配置

    DNS 主从同步配置 主从同步:主每次修改配置文件需要修改一下序列号,主从同步主要 看序列号. 从DNS:从是可以单独修改,主从不会报错.但从修改后,主端同步给从后 从端修改数据会丢失 主从原理:从会 ...

  6. Mysql 5.6主从同步配置

    主从同步,本质是利用数据库日志,将主库数据复制一份到从库,本质上是使用了数据复制技术. 本文概要 主库的基本配置 从库的基本配置 完全同步的步骤 注意事项 工作原理 1. 主库的基本配置 做两件事:启 ...

  7. centos:mysql主从同步配置(2018)

    centos:mysql主从同步配置(2018) https://blog.csdn.net/liubo_2016/article/details/82379115 主服务器:10.1.1.144; ...

  8. MySql数据主从同步配置

    由于需要配置MySQL的主从同步配置,现将配置过程记录下,已被以后不时之需 MySql数据主从同步   1.1. 同步介绍 Mysql的 主从同步 是一个异步的复制过程,从一个 Master复制到另一 ...

  9. centos 6.5 中设置mysql 5.1.73 主从同步配置过程

    本文章给大家介绍centos 6.5设置mysql主从同步过程记录,希望文章对各位会带来帮助.  涉及到的centos系统均为虚拟机,VM下安装的版本. 在centos 6.5上设置了mysql主从功 ...

随机推荐

  1. .NET Core 3.0之深入源码理解ObjectPool(二)

    写在前面 前文主要介绍了ObjectPool的一些理论基础,本文主要从源码角度理解Microsoft.Extensions.ObjectPool是如何实现的.下图为其三大核心组件图: 核心组件 Obj ...

  2. 谢宝友: 手把手教你给Linux内核发patch

    本文系转载,著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者: 谢宝友 来源: 微信公众号 linux阅码场 (id: linuxdev) 本文简介       本文一步一 ...

  3. Spring Boot构建的Web项目如何在服务端校验表单输入

    本文首发于个人网站:Spring Boot构建的Web项目如何在服务端校验表单输入 这个例子用于演示在Spring Boot应用中如何验证Web 应用的输入,我们将会建立一个简单的Spring MVC ...

  4. MAC idea&eclipse快捷键--笔记

    idea: 1. command+d 删除行 2. command+o 重写父类方法 3. option+command+v  自动补全变量 4. 将普通java项目变成maven项目 在项目名称上点 ...

  5. 设计模式(十一)Composite模式

    Composite模式模式能够使容器与内容具有一致性,创造出递归结构.有时,与将文件夹和文件都作为目录条目看待一样,将容器和内容作为同一种东西看待,可以帮助我们方便地处理问题.在容器中既可以放入内容, ...

  6. kubernetes实战(二十七):CentOS 8 二进制 高可用 安装 k8s 1.16.x

    1. 基本说明 本文章将演示CentOS 8二进制方式安装高可用k8s 1.16.x,相对于其他版本,二进制安装方式并无太大区别.CentOS 8相对于CentOS 7操作更加方便,比如一些服务的关闭 ...

  7. netcat的使用

    1,端口扫描 端口扫描经常被系统管理员和黑客用来发现在一些机器上开放的端口,帮助他们识别系统中的漏洞. $nc -z -v -n 172.31.100.7 21-25 可以运行在TCP或者UDP模式, ...

  8. 实现ARM——Linux的自动登录

    在使用Linux系统嵌入式开发时,往往需要设备绕过Linux的登录系统使其自动启动,比如我们常用的SSH客户端等.网上确实有很多方法,不知道是因为我们的ARM9板子是私人订制的缘故还是什么原因,试了很 ...

  9. [考试反思]1029csp-s模拟测试93:殇逝

    并不是把它消成上三角矩阵 停止! 思考, 回顾. 疑惑? 遗忘… 一直只是在匆忙的赶进度,实际上的确是一点也不扎实. T1,裸的偏序,想了一个多小时什么也没想到,只打了$O(n^2)$ 难道之前学的就 ...

  10. Scrapy进阶知识点总结(二)——选择器Selectors

    1. Selectors选择器 在抓取网页时,您需要执行的最常见任务是从HTML源提取数据.有几个库可用于实现此目的,例如: BeautifulSoup是Python程序员中非常流行的Web抓取库,它 ...