部署 IBM Lotus Connections: 维护

本文是系列文章(共 6 篇文章)的第 3 部分,这个系列讨论 IBM Lotus Connections 的部署,本文主要关注系统维护、备份和恢复策略,以及如何防止环境遇到意外的数据丢失和损坏。本文还讨论保护 Lotus Connections 内容的实践。

Hua Guo (huaguo@us.ibm.com), 高级 I/T 专家, IBM

Hua Guo 是一位高级 I/T 专家,他于 2001 年加入 IBM。他从 2007 年 4 月开始从事 IBM Software Services for Lotus Connections Early Adoption 项目。Guo 先生于 2006 年 9 月加入 IBM Software Services;在此之前,他领导并执行了 IBM Lotus Expeditor 和 IBM WebSphere Everyplace Access 的功能检验测试和系统检验测试。可以通过 huaguo@us.ibm.com 与 Guo 先生联系。



2007 年 9 月 07 日

本文将对 IBM Lotus Connections 的维护策略提出一些建议。具体地说,本文将讨论维护策略和可用的备份实用程序。第一节描述在制订服务器维护计划时要考虑的因素。然后,讨论应该定期备份的内容存储库和文件。最后,在比较高的层面介绍可以用于管理 Lotus Connections 的实用程序。

本文的内容适合于 I/T 专家,可以帮助他们计划和维护 Lotus Connections 的部署。

服务器维护策略

Lotus Connections 依赖各种组件管理用户信息和身份验证,比如数据库、IBM WebSphere Application Server 和 LDAP 服务器。为了防止数据丢失,在制订备份和恢复策略时,应该问以下几个问题:

  • 您能够忍受什么程度的数据损失?
  • 可以花多少时间恢复数据库和应用程序配置?
  • 在备份操作之间应该间隔多长时间?
  • 可以给备份副本和存档的日志分配多少存储空间?
  • 对于数据库,表空间级备份是否就够了,还是需要完整的数据库备份?
  • 应该通过高可用性灾难恢复配置一个备用系统吗?
  • 最重要的是,备份是可恢复的吗?当然,所有备份都是可恢复的,但是备份每次都成功完成了吗?是否有一个明确的过程,有良好的文档记录?对于测试您的备份和恢复计划,以及纠正过程的缺失或错误,这是非常重要的。

这些问题的答案可以帮助您为 IBM DB2 或 Oracle 数据库、WebSphere Application Server 和 LDAP 目录制订备份策略。


系统备份和恢复 —— 整个系统

当出现硬件故障或灾难性事件时,不可避免地需要恢复整个系统。至少应该对内容存储库、数据库和 LDAP 进行备份。如果没有备份 WebSphere Application Server,那么需要使用相同的 Lotus Connections 内容存储库重新安装 Lotus Connections,然后将它连接到数据库和 LDAP 备份。这种方式可以限制恢复的成本。

为了应付这样的情况,我们建议在成功设置了环境之后,为所有 Lotus Connections 机器创建系统映像和数据分区。这样就可以非常迅速地在相似的机器上重新部署整个系统。对于 WebSphere 机器(Lotus Connections 服务器和 WebSphere Application Server 网络部署计算机),可以选用一种实用程序,比如 PowerQuest DeployCenter(以前称为 Drive Image Pro)、Symantec Ghost Corporate Edition 或开放源码工具 Partimage。


备份和恢复 Lotus Connections 数据库

如您所知,每个 Lotus Connections 特性都有自己的数据库。表 1 列出了典型的数据库名。

表 1. Lotus Connections 特性的数据库名
特性名称数据库
OPNACTLotus Connections Activities 数据库
BLOGS Lotus Connections Blogs 数据库
SNCOMM Lotus Connections Communities 数据库
DOGEARLotus Connections Dogear 数据库
PEOPLEDB Lotus Connections Profiles 数据库

我们强烈建议定期备份这些数据库。如果只进行备份,那么在最后一次备份和服务器崩溃之间的数据就无法恢复了;所以,应该考虑采用高可用性解决方案。例如,可以考虑更频繁地备份 Blogs、Activities 和 Dogear 数据库。DB2 提供了一种自动调度备份任务的机制,还可以保存事务日志,可以使用事务日志将数据库恢复到发生崩溃的时间点。

使用多种方法备份数据库,并仔细测试所有备份和恢复场景。另外,要记得备份所需的所有数据库软件库、参数文件和密码文件。作为数据库管理员,您还应该考虑采用自动的备份解决方案。详细信息请参考您的数据库产品文档。

DB2 数据库

DB2 备份或恢复命令的最简单形式只需要数据库的别名。在执行备份时,不需要关闭数据库。使用以下代码:

db2 backup db <LotusConnectionDBName>
db2 restore db <LotusConnectionDBName>

在调用备份实用程序时指定的目标位置上,创建备份映像。这个位置可以是:

  • IBM Tivoli Storage Manager 服务器(推荐)
  • 一个目录(用于备份到磁盘)
  • 一个设备(用于备份到磁带)
  • 另一个厂商的服务器

在某些情况下,不允许使用某些备份和恢复组合,那么可以使用其他方法在 DB2 数据库之间转移表:

  • 使用 db2move 命令
  • 使用导出实用程序,然后使用导入或装载实用程序

Oracle 数据库

如果将 Lotus Connections 配置为使用 Oracle 数据库,那么可以使用以下备份方法:

  • 导出/导入。执行逻辑数据库备份,将数据和逻辑定义从数据库提取到一个文件。
  • 冷备份或离线备份。关闭数据库,备份所有数据以及所有日志和控制文件。
  • 热备份或在线备份。在数据库在线并可以执行读/写操作的情况下,执行备份。
  • RMAN 备份。在数据库离线或在线的情况下,使用 RMAN 实用程序备份数据库。

维护 LDAP 目录

管理员需要维护 Lotus Connections Profiles 的 LDAP 模式扩展,并定期备份目录用户信息。可以使用 ldapsearch 实用程序将用户信息导出到文件中(Microsoft Active Directory 使用 ldifde,IBM Tivoli Directory Server 使用 idsldapsearch)。

例如,使用以下命令导出 Active Directory 用户:

ldifde –s <host> -a <bind-id> <pw> -d <search-base> -f filename

使用以下命令导出 IBM Tivoli Directory Server 用户:

idsldapsearch –h <host> -D <bind-dn> -w <pw> -b <base-dn>
<filter> > filename.ldif

如果扩展了 LDAP 模式,那么必须维护修改,并在修改之前和之后备份整个目录。至少需要用 ldapsearch 命令将 LDAP 模式导出到文件中。其他解决方案请参考 LDAP 产品手册。


配置 WebSphere Application Server

WebSphere Application Server 用 XML 文件的形式表示它的管理配置。应该定期备份配置文件。只有在建立配置文件时的系统版本(包括补丁)与要恢复的系统版本相同的情况下,才可以恢复配置。因此,在升级之前和成功的升级之后,需要备份 WebSphere Application Server 配置文件。

命令语法如下:

backupConfig [backup_file] [options]
restoreConfig <backup_file> [options]

在启用安全特性时,可以指定 –password 选项;还可以用 –nostop 选项指示命令不停止 WebSphere Application Server。


Web 服务器和 WebSphere 插件配置文件

WebSphere Application Server 备份实用程序并不备份 IBM HTTP 或 Plugins 配置设置。应该定期维护和备份表 2 中列出的文件:

表 2. 应该备份的文件及其在 Web 服务器上的位置
文件目录
admin.conf<IHS_Install_Dir>/conf/
admin.passwd<IHS_Install_Dir>/conf/
httpd.conf<IHS_Install_Dir>/conf/
plugin-key.kdb <IHS_Install_Dir>/Plugins/etc/
plugin-key.kdb <IHS_Install_Dir>/Plugins/config/webserver1/

维护 Lotus Connections 应用程序

到目前为止,我们已经讨论了 LDAP 目录和数据库中的配置文件和数据的备份。本节描述在服务器维护计划中应该包含的 Lotus Connections 特有数据。具体地说,应该考虑跟踪应用程序修改,备份数据存储库和索引的目录,记录定制,对日志和跟踪进行存档,控制不适当的内容。

版本控制和其他信息

作为 Lotus Connections 管理员,由于各种原因(比如准备产品升级或获得服务支持),需要知道软件构建级别。可以用以下方式之一查明构建号:

  • Activities。进入 Activities 页面,在 My Activities 视图中寻找构建。
  • Blogs。在 Blogs 页面的左下角寻找构建。
  • Communities。在 About Communities 页面的左下角寻找构建。
  • Dogear。在 About Dogear 页面的左下角寻找构建。
  • Profiles。在 About Profiles 页面的底部寻找构建。

Lotus Connections 内容数据存储库

在安装 Lotus Connections 期间,为 Lotus Connections 内容存储库设置了几个目录。一定要为它们分配足够的磁盘空间并定期进行备份。下面是这些文件的默认位置:

  • Activities:
    /IBM/LotusConnections/Data/Activities/<profile_name>_<server_name>/statistics
    /IBM/LotusConnections/Data/Activities/<profile_name>/contentstore
  • Blogs:
    /IBM/LotusConnections/Data/Blogs/roller_data/uploads
  • Dogear:
    /opt/IBM/LotusConnections/Data/Dogear/favicons

Communities 和 Profiles 特性没有本地内容存储目录。Lotus Connections Blogs、Dogear、Communities 和 Profiles 需要一个索引文件目录,但是不需要备份它们,因为如果没有备份,每个特性就会创建备份。

Lotus Connections 实用程序和定制

可以通过 WebSphere Application Server 控制台或通过管理命令管理 Lotus Connections。实用程序部署在 <WAS>/profiles/<profile>/bin 目录中。常规数据库和 WebSphere 备份应该通过 Lotus Connections 管理实用程序获得定制信息。

另外,可以用自己的标志定制 Lotus Connections 页面,比如给 Blog 主题加徽标,或者给 Profiles 设置业务卡布局。在定制页面之后,应该考虑备份整个 WebSphere Application Server 目录。例如,如果修改或升级了 Lotus Connections 管理实用程序,那么常规的 WebSphere 备份不保存这些修改。Profiles 业务卡定制可能要求备份安装的应用程序。建议对整个 WebSphere Application Server 进行定期备份。

另外,如果使用 Lotus Connections Profiles,那么应该备份 tdisol 目录,或者至少备份以下文件:

  • profiles_tdi.properties
  • map_dbrepos_from_source.properties
  • map_dbrepos_to_source.properties
  • profiles_functions.js
  • 创建的所有定制表,比如 emptype.csv

内容控制和保护

控制 Lotus Connections 软件中的内容是很重要的。可以使用管理命令来执行内容控制;详细信息请参考 Lotus Connections Information Center。本节通过示例演示如何从 Lotus Connections 实现更新和删除内容。

例如,作为管理员,您注意到一个用户书签是一个不适当的 URL。对于单服务器环境,可以使用以下任务从 Lotus Connections 特性中删除 Dogear 书签:

wsadmin> execfile('dogearAdmin.py') wsadmin> LinkService.deleteLinkByPersonURL('joe@acme.com','http://bad.url.com')

Lotus Connections Information Center 详细介绍了这个主题,包括针对 Lotus Connections 集群安装的一些示例。

当前,Lotus Connections Activities 和 Blogs 没有实用程序。本文的其余几节描述 Communities、Dogear 和 Profiles 特性可用的服务。

内容控制和保护:Communities 服务

Communities 将脚本 communitiesAdmin.py 部署在 WebSphere Application Server 的 bin 目录中,这个脚本中的管理服务使用 WebSphere Application Server Admin(wsadmin)中的 AdminConfig 对象与 Communities 服务器进行交互。这个管理组件称为 CommunitiesService。表 3 描述了可用的服务。

表 3. 控制 Communities 内容的服务
服务描述
UpdateCommunityName (name1, name2)允许更新一个现有的 Community 名称,其中的 name1 是现有的 Community 名称,name2 是新的名称。
UpdateCommunityDescription (name, newDescription)允许更新(重写)一个现有的 Community 中的描述字段。这个命令中输入的新文本会重写任何现有的描述。
RemoveReferencesByUri (name, referenceURIs) 允许从一个指定的 Community 中删除对一个或多个现有书签(URI)的所有引用。
RemoveTagsFromCommunity (name, tagNames)允许从一个现有的 Community 中删除标记。这是一个分两步的过程。首先,在运行命令之前,必须创建要从 Community 中删除的标记列表(以逗号分隔)。将这个标记列表保存到一个变量中,然后将这个变量用作 RemoveTagsFromCommunity 命令的输入。

内容控制和保护:Dogear 服务

Dogear 将脚本 dogearAdmin.py 部署在 WebSphere Application Server 的 bin 目录中,当需要从数据库中删除不需要的链接时,可以使用这些管理服务。这个管理组件称为 LinkService。可以按照两种方式删除链接:使用 UID(deleteLinkByUID)或使用创建链接的用户的电子邮件地址(deleteLinkByPersonURL)。还可以批量删除内容。表 4 列出了可用的服务。

表 4. 删除 Dogear 内容所用的服务
服务描述
deleteLinkByUID ('[UID]')删除与指定的 UID 匹配的一个书签,其中的 [UID] 是书签的 UID。
deleteLinkByUIDBatch ('[fileName]')删除与指定的 UID 匹配的一组书签,其中的 [fileName] 是包含要删除的 UID 的文本文件的名称。必须创建这个文本文件并将它保存在一个本地目录中(在运行 wsadmin 处理器的服务器上)。
deleteLinkByPersonURL ('[email]', '[href]')删除与指定的电子邮件地址和 URL 匹配的一个书签,其中的 [email] 是创建书签的用户的电子邮件地址,[href] 是要删除的书签的 URL。一定要输入精确的 href,包括协议。
deleteLinkByPersonURLBatch ('[fileName]')删除与指定的电子邮件地址和 URL 匹配的多个书签,其中的 [fileName] 是包含要删除的地址和 URL 的文本文件名。必须创建这个文本文件并将它保存在一个本地目录中(在运行 wsadmin 处理器的服务器上)。

内容控制和保护:Profiles 服务

Profiles 将脚本 profileAdmin.py 部署在 WebSphere Application Server 的 bin 目录中,其中的 ProfileService 服务允许从 Profiles 数据库中删除不需要的内容,见表 5。

表 5. 用于删除不适当的 Profiles 内容的服务
服务描述
updateExperience ("[email]","[content]") 将与一个用户电子邮件地址相关联的体验文本替换为引号中的文本。
updateDescription ("[email]","[content]")将与一个用户电子邮件地址相关联的描述文本替换为引号中的文本。
deletePhoto ("[email]") 删除与一个用户电子邮件地址相关联的图像文件。只有在用户已经将图像上载到 Profile 文档中的情况下,才可以使用这个命令。这个命令将删除图像。

日志和跟踪文件

Lotus Connections 将消息写到 SystemOut.log 和 SystemError.log 文件中。需要定期查看并清空这些文件,以免它们不必要地占用文件系统中的空间。SystemOut.log 和 SystemError.log 存储在以下目录中:

  • Windows:C:\IBM\WebSphere\AppServer\profiles\<profile_name>\logs\<server_name>
  • Linux:/opt/IBM/WebSphere/AppServer/profiles/<profile_name>/logs/<server_name>

结束语

本文讨论了 Lotus Connections 的维护、备份和恢复实践。还讨论了组成系统的各个组件,比如 WebSphere Application Server、数据库和 LDAP 目录。您应该熟悉用于维护管理的实用程序和方法。

参考资料

学习

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Lotus
ArticleID=253983
ArticleTitle=部署 IBM Lotus Connections: 维护
publish-date=09072007