Chinaunix首页 | 论坛 | 博客
  • 博客访问: 113288
  • 博文数量: 13
  • 博客积分: 637
  • 博客等级: 中士
  • 技术积分: 323
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-20 17:10
文章分类

全部博文(13)

文章存档

2013年(3)

2012年(10)

分类: 系统运维

2012-09-12 10:00:09

作者:iceblood(刘宏光)

    Openldap 2.4的同步机制已经和2.3完全不同,而网络上到处都是2.3的同步方案,因此本人写出这篇文章来作为记录。

    我这里的同步机制采用的是镜像模式,并且双向镜像,因此可以说是两边的数据完全一样,其实双向同步2.4下非常简单。openldap的基本配置这里就不再描述,关键我这里贴出双向同步的方案。

假设两台服务器的IP为:

A LDAP 10.0.0.1

B LDAP 10.0.0.2

首先我们需要满足如下条件:

一、保证A和B两台服务器里都配置的一样的根dc,比如我的是:dc=lhg,dc=com。

二、两边的管理帐户都有cn=root,dc=lhg,dc=com,密码都为111111。

三、保证目前AB两台服务器的数据完全一致。如果闲麻烦可以先导出所有数据,然后删除当作全新安装,待同步完成后从其中一台导入即可。

以上条件满足了后开始设置A的配置文件

修改A服务器的slapd.conf内容,增加如下:

# 设置唯一ID号
serverID                1
# 开启同步
overlay                 syncprov
# 设置从B服务器获取信息
syncrepl rid=001    <----和B服务器保持一致,告诉B现在和你是同一组。
        provider=ldap://10.0.0.2:389  <----B服务器LDAP的IP及端口
        type=refreshAndPersist   <----设置为持续同步
        searchbase="dc=lhg,dc=com"    <----从B服务器同步dc=lhg,dc=com
        schemachecking=on       <----schema验证开启
        bindmethod=simple    <----密码验证为简单模式(即明文,此处你可以改为加密)
        binddn="cn=root,dc=lhg,dc=com"    <----使用cn=root,dc=lhg,dc=com用户进行读取(B服务器上必须有该用户)
        credentials=111111    <----密码为111111
        retry="60 +"    <----重试为60秒,60和“+”之间必须有空格

#以上几个都是syncrepl的参数,可以考虑在一行里完成,我这里在最前面用一个TAB做了换行。
mirrormode              on    <----开启镜像模式


 

修改B服务器的slapd.conf内容,增加如下:

# 设置唯一ID号和A不能一样
serverID                2
# 开启同步
overlay                 syncprov
# 设置从B服务器获取信息
syncrepl rid=001    <----和B服务器保持一致,告诉A现在和你是同一组。
        provider=ldap://10.0.0.1:389  <----A服务器LDAP的IP及端口
        type=refreshAndPersist   <----设置为持续同步
        searchbase="dc=lhg,dc=com"    <----从A服务器同步dc=lhg,dc=com
        schemachecking=on       <----schema验证开启
        bindmethod=simple    <----密码验证为简单模式(即明文,此处你可以改为加密)
        binddn="cn=root,dc=lhg,dc=com"    <----使用cn=root,dc=lhg,dc=com用户进行读取(A服务器上必须有该用户)
        credentials=111111    <----密码为111111
        retry="60 +"    <----重试为60秒,60和“+”之间必须有空格

#以上几个都是syncrepl的参数,可以考虑在一行里完成,我这里在最前面用一个TAB做了换行。
mirrormode              on    <----开启镜像模式
设置完成后重启openldap。这时在A或者B服务器上添加删除任意数据都将相互同步。该模式不支持对两台服务器同时写操作。

阅读(6463) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~