10-openldap同步原理

Posted cishi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了10-openldap同步原理相关的知识,希望对你有一定的参考价值。

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同步原理的主要内容,如果未能解决你的问题,请参考以下文章

#VSCode保存插件配置并使用 gist 管理代码片段

多线程 Thread 线程同步 synchronized

同步代码 [重复]

php 测试同步片段

ReleaseMutex:从非同步代码块调用对象同步方法

FFmpeg实现音视频同步的精准片段拼接