openldap同步原理

阅读视图

  1. openldap同步原理
  2. syncrepl、slurpd同步机制优缺点
  3. OpenLDAP同步条件
  4. OpenLDAP同步参数

1. openldap同步原理

OpenLDAP同步复制(简称syncrepl)机制是消费方的一个复制引擎,能让消费者服务器维护一个抽取片段的影子副本。

2. syncrepl、slurpd同步机制优缺点

3. OpenLDAP同步条件

OpenLDAP的5种同步模式需要满足以下6点要求。

1. OpenLDAP服务器之间需要保持时间同步

    ```shell
配置时间同步 ```
2. OpenLDAP软件包保持版本一致 ```shell
配置版本一致
``` 3. OpenLDAP节点之间域名可以相互解析 ```shell
配置hosts
``` 4. 配置OpenLDAP同步复制,需要提供完全一样的配置及目录树信息。
5. 数据条目保持一致
6. 额外的schema文件保持一致

4. OpenLDAP同步参数

  1. OpenLDAP主服务器参数的含义如下:

    # 后端工作在overlay模式
    overlay syncprov # 设置同步条件
    syncprov-checkpoint 100 10 # 当满足修改100条目或者10分钟的条件时主动以推的方式进行 # 会话日志条目的最大数量
    syncprov-sessionlog 100 # 设置同步更新时间
    interval=01:00:00:00
    (interval格式day:hour:minitus:second) # 匹配根域所有条目
    scope=sub
    base只给所给的DN相匹配, one只与父条目是所给DN的条目相匹配, sub只与根为所给DN的子树下所有条目相匹配, 所以我们在master-1中通过phpldapadmin进行备份时, 选择的是sub. # 同步属性信息
    attrs="*,+" # 同步所有属性信息
    attrs="cn,sn,ou,telephoneNumber,title,l" # 同步指定属性信息 # 同步更新时是否开启schema语法监测
    schemachecking=off
  2. OpenLDAP从服务器参数的含义如下:

    serverID 1   # 节点ID必须在整个OpenLDAP集群中是唯一的, serverID与MySQL复制中的server-id是同等的概念
    overlay syncprov
    syncrepl rid=001
    provider=ldap://192.168.218.206:389 # 另外一台主OpenLDAP服务器IP地址及端口
    type=refreshAndPersist # 设置类型为持续保持同步
    searchbase="dc=gdy,dc=com" # 从另一台openldap服务器域同步条目
    schemachecking=on # 开启schema语法监测功能
    bindmethod=simple # 同步验证模式为简单模式(即明文), 或修改为密文
    binddn="cn=Manager,dc=gdy,dc=com" # 使用Manager用户读取目录树信息
    credentials=redhat # 用户密码(cn=Manager)
    retry="60 +" # 尝试时间, 切记60与+号之间有空格

5. OpenLDAP的5种同步模式

  1. syncrepl模式

    syncrepl模式是指从(slave)服务器到主(master)服务器以拉的模式同步目录树。当主服务器对某个条目或更多条目修改条目属性时, 从服务器会把修改的整个条目进行同步, 而不是单独地同步修改的属性值。

  2. N-Way Multi-Master模式

    N-Way Multi-Master主要用于多台主服务器之间进行LDAP目录树信息的同步, 更好的提供了服务器的冗余性。

  3. MirrorMode模式

    MirrorMode属于镜像同步模式, 而且主服务器互相以推的方式实现目录树条目同步, 最多只允许且两台机器为主服务器。如果要添加更多的节点, 此时只能增加多台从服务器, 而不能将添加的节点配置为主服务器。

    当一台服务器出现故障时, 另一台服务器立即对外提供验证服务。当异常服务器恢复正常时, 会自动通过另一个节点所添加或修改的条目信息进行同步, 并应用在本地。

  4. syncrepl Proxy模式

    syncrepl Proxy同步模式属于代理同步, 它将主服务器隐藏起来, 而代理主机上边通过syncrepl从主服务器上以拉的方式同步目录树数据, 当代理主机数据发生改变时, 代理服务器又以推的方式将数据更新到下属的从LDAP服务器上, 且从LDAP服务器只有对代理LDAP服务器有读权限。

  5. Delta-syncrepl模式

    在Delta-syncrepl同步模式下, 当主服务器对目录树上的相关条目进行修改时, 会产生一条日志信息, 于是这时候, 从服务器会通过复制协议, 将主服务器记录的日志应用到从服务器本地, 完成数据同步的过程。但每个消费者获取和处理完全改变的对象, 都执行同步操作。

10-openldap同步原理的更多相关文章

  1. rsync 文件校验及同步原理

    rsync 文件校验及同步原理 参考:http://rsync.samba.org/how-rsync-works.html 我们关注的是其发送与接收校验文件的算法,这里附上原文和我老婆(^_^)的翻 ...

  2. Windows核心编程:第10章 同步设备IO与异步设备IO

    Github https://github.com/gongluck/Windows-Core-Program.git //第10章 同步设备IO与异步设备IO.cpp: 定义应用程序的入口点. // ...

  3. AlwaysOn的数据同步原理

    摘抄自<SQL Server 2012实施与管理实战指南> 镜像的工作原理: 那么主体数据库和镜像数据库是如何同步数据的呢?SQL数据库中任何的数据变化都会先记录到事务日志中,然后才会真正 ...

  4. Mysql 主从同步原理简析

    在开始讲述原理的情况下,我们先来做个知识汇总,究竟什么是主从,为什么要搞主从,可以怎么实现主从,mysql主从同步的原理1.什么是主从其实主从这个概念非常简单主机就是我们平常主要用来读写的服务,我们称 ...

  5. 架构师必备:MySQL主从同步原理和应用

    日常工作中,MySQL数据库是必不可少的存储,其中读写分离基本是标配,而这背后需要MySQL开启主从同步,形成一主一从.或一主多从的架构,掌握主从同步的原理和知道如何实际应用,是一个架构师的必备技能. ...

  6. Java多线程系列--“JUC锁”10之 CyclicBarrier原理和示例

    概要 本章介绍JUC包中的CyclicBarrier锁.内容包括:CyclicBarrier简介CyclicBarrier数据结构CyclicBarrier源码分析(基于JDK1.7.0_40)Cyc ...

  7. 第10章 同步设备I/O和异步设备I/O(3)_接收I/O请求完成通知的4种方法

    10.5 接收I/O请求完成的通知 (1)I/O请求被加入设备驱动程序的队列,当请求完成以后,设备驱动也要负责通知我们I/O请求己经完成. (2)可以用4种方法来接收I/O请求己经完成的通知 技术 特 ...

  8. MongoDB副本集配置系列十一:MongoDB 数据同步原理和自动故障转移的原理

    1:数据同步的原理: 当Primary节点完成数据操作后,Secondary会做出一系列的动作保证数据的同步: 1:检查自己local库的oplog.rs集合找出最近的时间戳. 2:检查Primary ...

  9. 第10章 同步设备I/O和异步设备I/O(4)_利用I/O完成端口实现Socket通信

    I/O完成端口原理见上一篇(可点击这里) 10.5.4.4 利用I/O完成端口实现Socket通信 (1)Accept和AcceptEx流程的比较 ①采用accept方式的流程示意图如下(普通的阻塞函 ...

随机推荐

  1. springboot + mybatis

    这两天启动了一个新项目因为项目组成员一直都使用的是mybatis,虽然个人比较喜欢jpa这种极简的模式,但是为了项目保持统一性技术选型还是定了 mybatis.到网上找了一下关于spring boot ...

  2. Intellij新安装初始化配置

    自动编译开关 忽略大小写开关 IDEA默认是匹配大小写,此开关如果未关.你输入字符一定要符合大小写.比如你敲string是不会出现代码提示或智能补充.但是,如果你开了这个开关,你无论输入String或 ...

  3. JavaWeb学习 (二十五)————监听器(Listener)

    一.监听器介绍 1.1.监听器的概念

  4. 页面滚动显示或隐藏元素Headroom.js插件帮助你实现滚动效果

    Headroom.js 是什么? Headroom.js 是一个轻量级.高性能的JS小工具(不依赖任何工具库!),它能在页面滚动时做出响应.此页面顶部的导航条就是一个鲜活的案例,当页面向下滚动时,导航 ...

  5. 搭建前端监控系统(三)NodeJs服务器部署篇

    ===================================================================== 监控系统预览地址: DEMO地址    GIT代码仓库地址 ...

  6. [CF1082E] Increasing Frequency

    Description 给定一个长度为 \(n\) 的数列 \(a\) ,你可以任意选择一个区间 \([l,r]\) ,并给区间每个数加上一个整数 \(k\) ,求这样一次操作之后数列中最多有多少个数 ...

  7. C#基础---浅谈XML读取以及简单的ORM实现

    背景: 在开发ASP.NETMVC4 项目中,虽然web.config配置满足了大部分需求,不过对于某些特定业务,我们有时候需要添加新的配置文件来记录配置信息,那么XML文件配置无疑是我们选择的一个方 ...

  8. WebFrom 小程序【条件查询】

    实现按照各种条件对数据库进行综合查询 基本功能:可以根据用户需要灵活查询 重难点:各种条件的可能.限制. public List<users> selectA( string str,Ha ...

  9. 无法安装程序包MiniProfiler

    抱歉,之前给错了解决问题的答案,今天来修改一下,时间:2018年9月25日23:19:02错误 无法安装程序包“MiniProfiler.EF6 4.0.138”.你正在尝试将此程序包安装到目标为“. ...

  10. <a>标签里面直接嵌套图片,<img>下面出现一小段空白的原因

    今天在写页面时,发现在a标签,里面嵌入<img>底部会出现空白的问题! 请看示例代码: <a style="border: 2px dashed blue"> ...