openldap mirrorMode主主实现高可用性

MirrorMode(镜像同步)两个节点都可读可写,当线上使用的主节点宕机之后,可以立即切换到从节点上。从节点大部分情况下是openldap的实时备份节点。如果想实现故障转移,还需要程序的配合。但是对于系统管理员来说,会在ip层面上来实现故障转移, 这时需要安装keepalived, 最后说下,其实openldap的镜像同步类似于mysql的主主.

环境
节点1:192.168.1.201
节点2:192.168.1.202

安装openldap
参考:http://www.ttlsa.com/html/757.html
节点1(node1)配置

slapd.conf配置文件的最后一行追加如下配置

    index objectclass,entryCSN,entryUUID eq  
    overlay syncprov  
    syncprov-checkpoint 100 10  
    syncprov-sessionlog 100  

    serverID    2  
    syncrepl      rid=123  
                  provider=ldap://192.168.1.202
                  bindmethod=simple  
                  binddn="cn=admin,dc=ttlsa,dc=com"  
                  credentials=123456  
                  searchbase="dc=ttlsa,dc=com"  
                  schemachecking=off  
                  type=refreshAndPersist  
                  retry="60 +"  
    mirrormode on

节点2(node2)配置

slapd.conf配置文件的最后一行追加如下配置

    index objectclass,entryCSN,entryUUID eq # 新增索引,提高同步速度,同步需要使用到这三个字段  
    overlay syncprov # 复制引擎  
    syncprov-checkpoint 100 10 # 操作100次同步一次,或者1分钟同步一次  
    syncprov-sessionlog 100  

    serverID     1 # 节点ID,唯一  
    syncrepl     rid=123  
                 provider=ldap://192.168.1.201 # 对端IP地址  
                   bindmethod=simple  
                 binddn="cn=admin,dc=ttlsa,dc=com" # Bind DN  
                 credentials=123456 # 密码  
                   searchbase="dc=ttlsa,dc=com" # 起始域  
                   schemachecking=off  
                 type=refreshAndPersist  
                 retry="60 +"  
    mirrormode on # 开启mirrormode模式

测试

具体测试过程我就不演示了,大家可以安装Apache Directory Studio 在节点1修改数据,查看节点2是否同步修改. 反之节点2修改,查看节点1是否同步修改了。

最后

openldap读取速度大概有mysql的10倍,但是写入速度相对较慢,比较实用用于读取频繁的应用中. openldap和mysql是两类东西没有多大的可比性.

来源网站:运维生存时间 转自:http://www.ttlsa.com/html/3059.html

你可能感兴趣的:(LDAP,openLdap,mirrorMode,ldap高可用性)