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