Sun Java System Communications Express 6 2005Q4 管理指南

第 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 树中的位置

PAB 树结构

在迁移后,新创建的 Addressbook Server 条目会添加到 Addressbook Server 树的 o=siroe.com 下,如图 7-3 中显示的红色部分 piEntryID=Entry 1。

图 7–3 Entry 1 在 Addressbook Server 树中的位置

Address Book Server 树


注 –

在用户第一次登录时,迁移实用程序会将 Messenger Express PAB 中的所有数据迁移到 Communication Express 的通讯录中。但是,在将数据迁移到通讯录之后,使用 Messenger Express 创建的新联系人或组将不会显示在 Communications Express 的通讯录中。反之亦然。


迁移方案

可以通过两种方式进行数据迁移:

动态迁移

当现有 Messenger Express 用户登录到 Communication Express 时,将会发生动态迁移。在迁移完成后,用户会收到一封电子邮件。

在动态迁移过程中:

批量迁移

批量迁移过程中,迁移是在服务器层进行的,并不需要最终用户的交互作用。管理员执行 runMigrate.sh 批处理脚本来迁移给定域中的邮件用户 PAB 数据。对于多个域中的邮件用户,管理员必须为每个域调用 runMigrate.sh 脚本,以将用户 PAB 数据从给定 inetDomainBaseDN 迁移到 Address Book Server。

后续配置步骤

您需要配置 Communications Express 以启用迁移。


注 –

请注意,迁移所需的配置参数必须由管理员手动提供。


表 7-1 列出了迁移实用程序所依赖的配置文件。

表 7–1 配置文件及其用途

文件名 

描述 

migrate.properties 

包含将数据从 PAB 迁移到 Address Book Server 所需的参数。有关这些参数的信息,请参阅后续配置步骤

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(后续配置步骤

xlate-pabgroup.xml(后续配置步骤

迁移实用程序在内部使用 Communications Express 的通讯录 API,以便从 Messenger Express 的 PAB 装入数据。 

必须使用 xlate 文件,才能将 PAB 的 LDAP 属性映射到 Addressbook Server 的通讯录属性。

将基于用户的邮件主机检索在表 7-2 中列出的 PAB 配置条目并建立与 PAB Server 的连接。

表 7–2 migrate.properties 中可配置的 PAB 迁移参数

参数 

默认值 

描述 

hostname.pabldappoolmin

指定要为 PAB LDAP 创建的 LDAP 用户连接的最小数目。 

hostname.pabldappoolmax

20 

指定要为 PAB LDAP 创建的 LDAP 用户连接的最大数目。 

hostname.pabldappooltimeout

50 

指定 LDAP 连接超时前的秒数。 

hostname.alwaysuse defaulthost

指定是使用 PAB URI 中提到的用户 PAB 主机,还是使用所维护的列表中的第一个全限定 PAB 主机名。 

如果设置为 1,则使用第一个全限定 PAB 主机来检索 PAB 条目。 

delete_pabentry 

允许在成功迁移后删除 PAB 条目和 PABURI。 

maxthreads 

10 

指定迁移线程的数目。 

mailhost.pabhosts 

将邮件主机名分配给 PAB 条目所在 PAB 主机的列表。 

指定 PAB 主机列表。 

mailhost.pabports 

 

指定 PAB 主机的端口号。 

mailhost.pabbinddns 

 

指定 PAB 的绑定 DN。 

mailhost.pabpasswds 

 

指定绑定到 PAB 的用户的密码。 

<pabhost.pabport\> .abhostport =< abldaphost\>: <abldapport\>

 

指定查找表(在 migrate.properties 文件中)中可用的 pabhost 和 pabport 条目。

在此参数中,<pabhost.pabport\> 指源目录实例,<abldaphost\> 和 <abldaport\> 指需要向其迁移 PAB 数据的目标目录实例。

表 7–3 联系人的字段映射

PAB 

通讯录 

cn 

DisplayName 

sn 

sn 

givenName 

givenName 

telephonenumber 

piPhone1Type:办公 

piPhone1: 

homephone 

iPhone2Type:主页 

piPhone2; 

寻呼机 

piPhone4Type:寻呼机 

piPhone4: 

mobile 

piPhone3Type:mobile 

piPhone3: 

facsimiletelephonenumber 

piPhone5Type:fax 

piPhone5: 

mail 

piEmail2Type:主页 

piEmail1: 

mailalternateaddress 

piEmail2Type:办公 

piEmail2: 

postoffice+street 

homePostalAddress 

homecity 

st 

homeState 

邮政编码 

homePostalCode 

co 

homeCountry 

labeleduri 

piWebsite1 

description 

description 

memberofpab 

memberOfPIBook 

memberofpabgroup 

memberOfOIGroup 

表 7–4 组的字段映射

PAB 

通讯录 

cn 

displayName 

description 

description 

要接收邮件,必须定义表 7-5 中提到的参数。

表 7–5 PAB 迁移电子邮件参数

参数 

默认值 

描述 

emailReqd 

True 

允许在成功迁移 PAB 数据后发送邮件。 

可接受的值为 "True" 和 "False"。 

smtphost 

本地邮件主机 

例如:budgie.siroe.com 

指定 SMTP 中继主机名。 

smtpport 

25 

指定 SMTP 中继端口。 

mailsubject 

PAB 迁移状态 

指定邮件的主题。 

from 

admin@hostname 

指定发件人的姓名。 


提示 –

建议管理员为所有用户发送一封电子邮件,通知他们在第一次登录过程中将触发 PAB 数据迁移,因此,他们在初始会话期间将不会看到通讯录数据。如果用户在两到三天后还无法看到数据,他们应该与管理员取得联系。


支持水平可伸缩性所需的其他配置

用户 LDAP 条目中的属性 psRoot 是符合 Addressbook Server 的 URL,它定义了用于存储和检索用户个人通讯录条目的 LDAP 位置。psRoot 属性允许管理员置备用户,以便将所有用户的 PAB 数据分布在多个目录位置中。

对于现有的 Web 邮件用户,如果启用了 PAB 迁移,则使用现有的 pabURI 属性构建 psRoot 属性,并在 uwc-deploy-dir/WEB-INF/config/migrate.properties 中定义一个映射表。

migrate.properties 文件中的查找表包含以下格式的 pabhost 和 pabport 条目:

pabhost.pabport.abhostport = abldaphost:abldapport

其中,pabhost.pabport 指源目录实例,abldaphostabldaport 指需要向其迁移 PAB 数据的目标目录实例。

因此,如果要将 pab 数据从在 pab.example.com:389 上运行的目录迁移到在 abs.example.com:389 上运行的通讯录目录,则 migrate.properties 文件中的条目应显示为:

pab.example.com.389.abhostport = abs.example.com:389

可以在 migrate.properties 文件中找到所有需要的查找结果。如果某个用户的 pabURI 属性使用 pabhostpabport,则使用默认 psRoot 模式构建的 psRoot 将具有以下格式:

ldap://abldaphost:abldapport/piPStoreOwner=%U,o=%D,o=PiServerDb

如果没有为 pabURI 值定义查找,也就是说,在映射表中未提供与 pabURI 匹配的条目,则 pabhostpabport 值将用作 abldaphostabport 的默认值。这意味着,如果没有映射表,则 Messaging Server 中的 PAB 条目将按照通讯录模式迁移到同一目录实例中的其他根目录。在此方案中,[目标] 目录实例与 [源] 目录实例相同。


注 –

修补程序的安装程序未定义查找表。您需要在安装修补程序后定义查找表,然后重新启动 Web 服务器。

请确保在该域的 personalstore.properties 所指向的 db_config.properties 文件中定义了 abldaphost:abldapport Directory Server 实例。


迁移部署方案

可以从以下位置来执行迁移:

  1. 指向默认单个 PAB 主机的单个 Messenger Express 实例。

  2. 指向多个 PAB 主机的单个 Messenger Express 实例。

  3. 指向多个 PAB 主机并设置默认 PAB 主机的单个 Messenger Express 实例。

  4. 指向单个 PAB 主机的多个 Messenger Express 实例。

  5. 指向多个 PAB 主机的多个 Messenger Express 实例。