|
Nagesh Mogi
专职软件工程师, IBM
2004 年 8 月
本文中将一步一步地介绍如何在 Windows 2000 和 IBM Directory Server (IDS) 5.1 上设置复制功能。
简介
目录是安排在层次结构中的对象信息的集合。它是一种特殊的数据库,使用户或者应用程序能够找到具有完成特定任务所需特征的资源。IBM Directory 实现了 Internet Engineering Task Force (IETF) LDAP V3 规范。IBM 还在功能和性能方面做了改进。IBM Directory Server 5.1 使用 IBM DB2 作为存储支持,为每个 LDAP 操作提供了事务完整性、高性能操作以及在线备份和恢复功能。
本文中将一步一步地介绍如何在 Windows 2000 和 IBM Directory Server (IDS) 5.1 上设置复制功能。
前提条件
在开始使用本教程之前,您必须在两台不同的机器上安装 IDS 5.1。一台机器作为主服务器,另一台作为复制服务器(Replica Server)。本教程假定您已经在两台不同的机器上安装了 IDS 5.1。在阅读本文之前,您需要有一个后缀(suffix) o=ibm, c=us。
基本定义
Subtree(子树): 这是 Directory Information Tree(目录信息树,DIT)的一个分支,比如 o=ibm,c=us。 复制子树(Replicated subtree): 复制子树是从一台服务器复制到另一台服务器的 DIT 的一部分。 复制协议(Replication agreement): 复制协议是包含在定义两台服务器间 "connection" 或者 "replication path" 的目录中的信息。一台服务器称为供应方(发送目录变化的一方),另一台称为消费方(接收目录变化的一方)。 消费服务器(Consumer server): 通过复制从另一台服务器(供应方)接收变化的服务器。 供应服务器(Supplier server): 向另一台服务器(消费方)发送变化的服务器。 复制(Replication): 复制是目录服务器用于改进性能和可靠性的一种技术。复制过程保持多个目录中的数据同步。 采用复制是为了减轻主 LADP 的查找请求以提高性能。主 LDAP 服务器是唯一能够更新的 LDAP 服务器。使用复制另外一个最重要的原因是允许关闭 LDAP 服务器以便备份数据库。如果没有复制,在进行备份的时候将会停止验证。
复制的好处
服务器复制改进了目录服务的可用性。主服务器和多个辅助服务器的结合可以保证在需要的时候能使用目录数据。如果一台服务器发生故障,仍然可以使用其他复制服务器上的目录服务。
复制涉及到两种类型的目录:主目录和复制目录。LDAP 把主服务器称为主机,把复制服务器称为副本。对于特定的目录结构,只能有一台主服务器。所有的更新都在这台服务器上完成,然后可以把这些更新传播到复制服务器。每台复制服务器都包含主服务器目录数据的精确拷贝。
目录的变化只能在主服务器上完成,总是对目录使用写操作。无论主服务器还是复制服务器都可用于读操作。如果原来的主服务器长期不能服务,则提升一台复制服务器作为主服务器,从而对目录进行写操作。
复制需求
- 复制 LDAP 服务器和 LDAP 主服务器一样,处理相同的目录上下文。
- 因为 LDAP 复制服务器具有相同的目录上下文,它们的后缀必须与主服务器相同。
- 每台复制服务器上的架构(Schema)定义也必须与主服务器相同。
复制拓扑
定义复制拓扑必须:
- 在主服务器上定义复制子树及其内容。选择需要复制的子树(比如 o=ibm, c=us)并指定该服务器作为主服务器。
- 创建供应方所用的凭证。
- 创建复制服务器。
- 向复制服务器导入数据。
第 1 步:在主服务器上创建复制子树
创建复制子树必须指定希望服务器复制的子树。
- 启动 Directory Server。
- 打开浏览器,输入 http://localhost:9080/IDSWebApp/IDSjsp/Login.jsp。
- 在 IBM Directory Server Web Administration 登录页面上,从下拉菜单中选择机器的 LDAP 主机名。
- 输入服务器的 bind DN和 password(口令)(本文中使用 cn=root和 password = Tivoli)。单击 Login(登录)。
- 登录到 IDS Web Administration Tool 后,在导航区展开 Replication management(复制管理)目录并单击 Manage topology(管理拓扑)。
- 单击 Add subtree(添加子树)。
图 1. 添加复制子树
- 输入希望复制的子树 DN,比如 o=ibm,c=us,或者单击 Browse(浏览)展开目录并选择一项作为子树的根。
- 输入主服务器引用 URL。必须采用 LDAP URL 的形式,如 ldap://tivoli9:389。
图 2. 复制子树
- 单击 OK(确定)。
新的服务器显示在标为 Replicated subtrees(复制子树)的 Manage topology(管理拓扑)面板中。
图 3. 复制子树
第 2 步:创建凭证
在 Web Administration Tool 导航区域中展开 Replication management(复制管理)目录,然后单击 Manage credentials(管理凭证)。
图 4. 管理凭证
- 从子树列表中选择保存凭证的位置。Web Administration Tool 允许在两个地方定义凭证:
a) cn=replication,cn=localhost:只能保存当前服务器的凭证。
b) 在复制子树中
复制子树中的凭证可以在 ibm-replicagroup=default 项下创建。
注意:这里使用的是 cn=replication,cn=localhost。
- 单击 Add(添加)。
- 输入要创建的凭证名称,这里使用的是 mycreds。
图 5. 添加凭证
- 选择要使用的验证方法类性,然后单击 Next(下一步)。
- 这里选择的是 Simple bind(简单绑定)验证:
a. 输入服务器用于绑定复制的 DN,如 cn=John。
b. 输入绑定到复制时所用的口令,如 secret。
c. 再次输入口令并确认以保证没有拼写错误。
d. 如果需要的话,输入凭证的简要描述。
e. 单击 Finish(完成)。
图 6. 提供 Bind DN 和 Password
- 注意: 为了将来方便可以记录下凭证的绑定 DN 和口令,在创建复制协议时将需要这个口令。
第 3 步:创建复制
- 启动 Directory 服务器(如果已经关闭)。
- 在导航区展开 Replication management(复制管理)并单击 Manage topology(管理拓扑)。
- 选择希望复制的子树并单击 Show topology(显示拓扑)。
图 7. 选择子树
- 单击 Replication topology(复制拓扑)选项旁边的箭头展开供应方服务器的列表。
- 选择供应服务器并单击 Add replica(添加复制)。
在 Add replica(添加复制)窗口的 Server(服务器)选项卡中:
输入所创建复制的主机名和端口号。对于非 SSL 默认端口号为 389,SSL 默认端口号为 636。这些都是必填的字段。
选择是否 enable SSL communications(启用 SSL 通信)。
输入复制名或者保留空白使用主机名。
输入 replica ID(复制 ID)。如果创建复制的服务器正在运行,
单击 Get replica ID(获得复制 ID)以自动填充该字段。
输入 replica server(复制服务器)的描述。
图 8. 服务器信息
在 Additional(其他)选项卡中:
- 指定复制与主机通信所用的凭证。
a. 单击 Select(选择)。
b. 选择要使用的凭证位置。最好使用 cn=replication,cn=localhost。
c. 单击 Show credentials(显示凭证)。
d. 展开凭证列表并选择要使用的凭证。
e. 单击 OK(确定)。
图 9.供应方和复制服务器信息
- 从下拉列中选择复制方案或者单击 Add(添加)创建一个复制方案。
图 10. 显示凭证对象
- 从供应方所提供的功能列表中,取消选择不需要复制的那些功能。
- 单击 OK(确定)创建复制。
图 11. 复制拓扑
第 4 步:复制数据到复制服务器
创建复制之后还必须把拓扑从主服务器导入到复制服务器。这是一个手工操作过程。在主服务器上创建数据的 LDIF 文件。如果要复制包含在主服务器上的所有数据,应发出命令: db2ldif -o <masterfile.ldif>。如果要复制单个子树下的数据,则使用命令: db2ldif -o <masterfile.ldif>-s<subtreeDN>。
图 12. 复制数据到复制服务器
在创建复制的机器 (Server 2)上:
- 保证主服务器所用的后缀定义在 ibmslapd.conf文件中。
- 停止复制服务器。
- 把 <masterfile.ldif> 拷贝到复制服务器 (Server 2)并发出命令: ldif2db -r no -i <masterfile.ldif>。这样,复制协议、方案、凭证(如果保存在复制子树中)和记录数据都被加载到复制服务器中。
- 启动复制服务器。
在复制服务器(Server 2)上
向复制服务器添加供应方的信息 在创建复制的机器上(即 Server2):
- 在导航区单击 Manage replication properties(管理复制属性)。
- 单击 Add(添加)。
图 13. 管理复制属性
- 从 Replicated subtree(复制子树)下拉菜单中选择或者输入需要配置供应方凭证的复制子树名称。如果要编辑供应方凭证,这个字段是不能编辑的。
- 输入 replication bindDN(复制绑定 DN),该例中为 cn=John
图 14. 复制绑定 DN
- 根据凭证的类型,输入并确认凭证口令。(您前面已经记录下来以备将来使用。)
- 单击 OK(确定)。
- 必须重新启动复制使修改有效。
在主服务器(Server1)上
复制服务器处于暂停(suspended)状态。完成复制拓扑的设置之后,必须单击 Manage queues(管理队列),选择复制,然后单击 suspend/resume(暂停/恢复)以便开始复制。复制服务器开始从主服务器接收更新。
结束语 本教程介绍了如何在 Windows 2000 上的两台 LDAP 服务器之间设置复制。 |