Sun Java System Communications Express 6 2005Q1 管理指南 |
第 7 章
将 PAB 数据迁移到 Addressbook Server以前 Sun Java System Messaging Server 使用个人通讯录 (Personal Address Book, PAB) 来存储用户的联系人,而且只有部署在 Messaging Server 上的基于 Web 的客户端才可以访问 PAB。Communications Express 的 Messaging Server 使用 Addressbook Server 而不是 PAB 来存储用户的联系人详细信息。因此,使用现有 Messaging Server 安装来访问 Communications Express 的用户必须将 PAB 数据迁移到 Address Book Server。
本章包含以下部分:
概述
迁移工具将用户的 Messenger Express 通讯录数据迁移到 Addressbook Server(Communications Express 的一个组件)。
图 7-1 数据迁移过程概述
将位于 Messenger Express 的 LDAP PAB 树中的数据迁移到 Addressbook Server 的 LDAP PAB 树。下面的示例以图解方式说明了迁移过程。
域 siroe.com 中的 User1 在 PAB 中有一个需要迁移的条目(如 Entry1),该条目位于 PAB 树中的 ou=User1 之下,如图 7-2 中显示的绿色部分。
图 7-2 Entry1 在 PAB 树中的位置
在迁移后,新创建的 Addressbook Server 条目会添加到 Addressbook Server 树的 o=siroe.com 下,如图 7-3 中显示的红色部分 piEntryID=Entry 1。
图 7-3 Entry 1 在 Addressbook Server 树中的位置
注
在用户第一次登录时,迁移实用程序会将 Messenger Express PAB 中的所有数据迁移到 Communication Express 的通讯录中。但是,在将数据迁移到通讯录之后,使用 Messenger Express 创建的新联系人或组将不会显示在 Communications Express 的通讯录中。反之亦然。
迁移部署方案
可以通过两种方式进行数据迁移:
动态迁移
当现有 Messenger Express 用户登录到 Communication Express 时,将会发生动态迁移。在迁移完成后,用户会收到一封电子邮件。
在动态迁移过程中:
- 应用程序检查在 uwcuath.properties 文件中是否已启用迁移,然后继续执行迁移过程。
- 接下来,登录逻辑对 nswmextendedprefs 属性和 mepabmigration 值进行比较,以确定先前是否已迁移了用户数据。
- 在 PAB 迁移完成后,Addressbook Server 会将登录用户条目中的 nswmextendedprefs、mepabmigration 设置为 "1",表示已完成迁移过程。
- 在将 PAB 数据成功迁移到 Address Book Server 之后,用户会收到一封邮件。
要接收邮件,您必须定义表 7-2 中提到的参数。
批量迁移
在批量迁移过程中,迁移是在服务器级别进行的,而不需要最终用户的交互。管理员执行 runMigrate.sh 批处理脚本来迁移给定域中的邮件用户 PAB 数据。对于多个域中的邮件用户,管理员必须为每个域调用 runMigrate.sh 脚本,以将用户 PAB 数据从给定 inetDomainBaseDN 迁移到 Address Book Server。
后续配置步骤
您需要配置 Communications Express 以启用迁移。
表 7-1 列出了迁移实用程序所依赖的配置文件。
表 7-1 配置文件及其用途
文件名
描述
migrate.properties
包含将数据从 PAB 迁移到 Address Book Server 所需的参数。有关这些参数的信息,请参阅表 7-2。
uwcauth.properties
由迁移实用程序引用,以确定是否需要迁移。
迁移工具检查 pab_mig_required 的值。如果该值为 true,则进行动态迁移。
uwcconfig.properties
管理员可以提供日志级别并启用日志,以用于错误诊断。默认情况下将禁用此参数。
runMigrate.sh
(仅适用于批量迁移)
脚本使用以下三个参数来设置所需变量,并调用 java 程序 MigratePab。
# migrate.properties 文件的绝对路径。将默认路径设置为:../WEB-INF/config/migrate.properties
# uwcauth.properties 和其他配置文件所在 config 目录的绝对路径。将默认路径设置为:../WEBINF/config
# 用户的 inetDomainBaseDN
需要适当编辑此文件以提供必需的路径和参数。
xlate-pabperson.xml(表 7-3)
xlate-pabgroup.xml(表 7-4)
迁移实用程序在内部使用 Communications Express 的通讯录 API,以便从 Messenger Express 的 PAB 装入数据。
必须使用 xlate 文件,才能将 PAB 的 LDAP 属性映射到 Addressbook Server 的通讯录属性。
迁移实用程序会基于用户的邮件主机检索在表 7-2 中列出的 PAB 配置条目,并建立与 PAB Server 的连接。
表 7-3 联系人的字段映射
要接收邮件,必须定义表 7-5 中提到的参数。
提示
建议管理员为所有用户发送一封电子邮件,通知他们在第一次登录过程中将触发 PAB 数据迁移,因此,他们在初始会话期间将不会看到通讯录数据。如果用户在两到三天后还无法看到数据,则应该与管理员取得联系。
水平可伸缩性支持所需的其他配置
用户 LDAP 条目中的属性 psRoot 是符合 Addressbook Server 的 URL,它定义了用于存储和检索用户个人通讯录条目的 LDAP 位置。psRoot 属性允许管理员置备用户,以便将所有用户的 PAB 数据分布在多个目录位置中。
对于现有的 webmail 用户,如果启用了 PAB 迁移,则使用现有的 pabURI 属性构建 psRoot 属性,并在 uwc-deploy-dir/WEB-INF/config/migrate.properties 中定义一个映射表。
migrate.properties 文件中的查找表包含以下格式的 pabhost 和 pabport 条目:
pabhost.pabport.abhostport = abldaphost:abldapport
其中,pabhost.pabport 指源目录实例,abldaphost 和 abldaport 指需要迁移 PAB 数据的目标目录实例。
因此,如果要将 pab 数据从在 pab.example.com:389 上运行的目录迁移到在 abs.example.com:389 上运行的通讯录目录,migrate.properties 文件中的条目应该如下所示:
pab.example.com.389.abhostport = abs.example.com:389
可以在 migrate.properties 文件中找到所有需要的查找结果。如果某个用户的 pabURI 属性使用 pabhost 和 pabport,则使用默认 psRoot 模式构建的 psRoot 将具有以下格式:
ldap://abldaphost:abldapport/piPStoreOwner=%U,o=%D,o=PiServerDb
如果没有为 pabURI 值定义查找,也就是说,在映射表中未提供与 pabURI 匹配的条目,则 pabhost 和 pabport 值将用作 abldaphost 和 abport 的默认值。这意味着,如果没有映射表,则 Messaging Server 中的 PAB 条目将按照通讯录模式迁移到同一目录实例中的其他根目录。在此方案中,[目标] 目录实例与 [源] 目录实例相同。
注
修补程序的安装程序未定义查找表。您需要在安装修补程序后定义查找表,然后重新启动 Web 服务器。
请确保在该域的 personalstore.properties 所指向的 db_config.properties 文件中定义了 abldaphost:abldapport Directory Server 实例。
迁移部署方案
可以从以下位置来执行迁移: