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. Markdown的基本使用指南

    目录 1.标题 2.列表 2.1无序列表 2.1有序列表 3.引用 4.图片和链接 5.粗体和斜体 6.分割线 7.代码框和代码块 8.列表 9.可选框 10.添加目录 Markdown 是一种用来写 ...

  2. PostgreSQL使用安装

    PostgreSQL使用安装 一. 安装 ubuntu安装: # 安装客户端 sudo apt-get install postgresql-client # 安装服务器 sudo apt-get i ...

  3. javascript学习 first-day

    1.javascript是一种客户端语言,设计它的目的是在用户的机器上而不是服务器上执行任务. 1.1 javascript不允许写服务器机器上的语言:   1.2 Javascript不能关闭不是由 ...

  4. linux端口查询

    常用端口 下面的表格中列举了包括在红帽企业 Linux 中的服务.守护进程.和程序所使用的最常见的通信端口.该列表还可以在 /etc/services 文件中找到.要查看由互联网号码分派局(IANA) ...

  5. 搭建 vue-cli 和 引入 Element-ui 最完整的入门例子(手把手)

    搭建 vue-cli 脚手架 安装 git 安装 node 并配置环境变量,使用 zip 版本 # 检查 node 是否安装成功 node -v 使用淘宝镜像 npm config set regis ...

  6. .Net Core DevOps - 四步实现Vue项目持续集成

    众所周知,现在国内最火的前端框架非Vue莫属了,作为一个.net程序员,早就想体验一下了,但是无奈微软的项目模板不提供Vue的Spa模板,但是我们还是想用怎么办呢?下面来看下我的解决方案 目录 用vu ...

  7. 编译原理实验 NFA子集法构造DFA,DFA的识别 c++11实现

    实验内容 将非确定性有限状态自动机通过子集法构造确定性有限状态自动机. 实验步骤 1,读入NFA状态.注意最后需要设置终止状态. 2,初始态取空,构造DFA的l0状态,将l0加入未标记状态队列que ...

  8. (24)ASP.NET Core EF查询(查询的工作原理、跟踪与非跟踪查询)

    1.查询生命周期 在进入正题时候,我们先来了解EF Core查询的生命周期. 1.1LINQ查询会由Entity Framework Core处理并生成给数据库提供程序可处理的表示形式(说白了就是生成 ...

  9. shell 队列实现线程并发控制

    需求:并发检测1000台web服务器状态(或者并发为1000台web服务器分发文件等)如何用shell实现? 方案一:(这应该是大多数人都第一时间想到的方法吧) 思路:一个for循环1000次,顺序执 ...

  10. super()函数的作用

    1.super()调用父类方法,并重写>>>>>>减少代码量(Square类实现) 2.它允许您在子类中调用超类的方法. 这种情况的主要用例是扩展继承方法的功能. ...