转载:http://www.ttlsa.com/database/openldap-mirrormode-cluster/
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配置文件的最后一行追加如下配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
index
objectclass
,
entryCSN
Crayon-sy" style="Box-sizing: inherit; border: 0px; font-family: inherit; font-size: inherit !important; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; height: inherit; line-height: inherit !important; font-weight: inherit !important; color: rgb(216,
entryUUID
eq
overlay
syncprov
syncprov
-
checkpoint
100
10
sessionlog
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,224) !important;">
schemachecking
off
type
refreshAndPersist
retry
"60 +"
mirrormode
on
|
节点2(node2)配置
slapd.conf配置文件的最后一行追加如下配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
index
objectclass
,
entryCSN
Crayon-sy" style="border:0px; font-family:inherit; font-size:inherit!important; font-style:inherit; margin:0px; outline:0px; padding:0px; vertical-align:baseline; height:inherit; line-height:inherit!important; font-weight:inherit!important; color:rgb(216,
entryUUID
eq
# 新增索引,提高同步速度,同步需要使用到这三个字段
overlay
syncprov
# 复制引擎
syncprov
-
checkpoint
100
10
# 操作100次同步一次,或者1分钟同步一次
sessionlog
serverID
1
# 节点ID,唯一
syncrepl
rid
=
123
provider
=
ldap
:
//192.168.1.201 # 对端IP地址
bindmethod
=
simple
binddn
=
"cn=admin,dc=com"
# Bind DN
credentials
123456
# 密码
searchbase
"dc=ttlsa,139)!important"># 起始域
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