使用 Rational Automation Framework 部署 WebSphere 软件

IBM® Rational® Automation Framework 是一种基于服务器的软件产品,可以自动执行许多 IBM WebSphere® 中间件分发和管理活动。为了进行演示,本文将解释配置 Rational Automation Framework 环境的简单过程,以便创建一个典型的样例 IBM WebSphere Application Server 单元,其中包含两个节点、一个 IBM HTTP 服务器和一个应用程序集群。

Werner J. Vanzyl, IT 专家, IBM

Werner Vanzyl 是一位 IBM Software Services for WebSphere 认证的 IT 专家,他有着超过 15 年的从业经验,主要从事各种软件产品的研发,包括 IBM 软件和其他的开发平台。目前,他负责 IBM 业务流程和开发、实现及部署领域的客户日常咨询。



2012 年 6 月 04 日

简介

IBM Rational Automation Framework 是一种基于服务器的软件产品,可以自动执行许多 IBM WebSphere 中间件分发和管理活动。由于这些任务通常都是重复的,通过安装和创建 IBM WebSphere Application Server Network Deployment 单元来分发软件将会非常耗时,并且容易产生错误。通过使用 Rational Automation Framework 来分发产品二进制文件、安装软件并创建单元,该过程将会变得更加流畅,并能够进行定制来满足您的需求。最棒的是,这个流程是可重复和可预测的,节省了大量时间和宝贵的资源。

本文解释了配置 Rational Automation Framework 环境的简单过程,创建一个标准的 WebSphere Application Server 单元,其中包含两个节点,一个 IBM HTTP 服务器和一个应用程序集群;这是一种基本的典型场景。

在上述示例中,将对产品软件配置 Rational Automation Framework 媒体树,将在 Rational Automation Framework 中创建一个环境,并执行一个环境创建项目。在完成这些任务后,将对环境进行验证并继续讨论后续步骤。

假设

本文假设已经在 框架服务器 上安装了 Rational Automation Framework,并使用两个节点充当拓扑结构中的 WebSphere Application Server 节点。此外,WebSphere Application Server V7 或更高版本已经安装以供使用,IBM HTTP Server 和 HTTP 插件,并针对每个的产品下载和应用 Fix Pack 17。

WebSphere Application Server 拓扑结构

最常见的 WebSphere Application Server Network Deployment 单元的拓扑结构包括以下内容:

  • 一个部署管理器 (Dmgr)。
  • 每个联邦节点上的节点代理。
  • 运行应用程序的集群。
  • 一个 HTTP 服务器,将 Web 流量传输到单元中的集群成员。

您将通过 Rational Automation Framework 中的自动化流程构建这个环境。完成后,将启动单元,它将准备好进行应用程序安装(也可以通过 Rational Automation Framework 完成)。如图 1 所示,Rational Automation Framework 所需的全部信息都可以快速轻松地捕捉到,从而简化环境生成的过程。

在 Rational Automation Framework 中,所有这些组件的表示均称为环境,这是自动化概念的基础。环境将捕捉处理环境的所有细节,并在执行时应用到作业中。

图 1. 正在创建的 WebSphere 拓扑结构
显示本文使用图像的最大宽度(580 像素)的像素标尺

框架服务器和 WebSphere Application Server 单元配置

框架服务器

Rational Automation Framework 是一个基于服务器的产品。安装 Rational Automation Framework 服务器组件的系统被称为框架服务器。Rational Automation Framework 提供了两种远程访问方法:通过 Eclipse 客户机和 IBM Rational Build Forge Management Console。Rational Automation Framework 还提供了一个命令行接口,可用于从框架服务器执行操作。

如果采用自动化,那么框架服务器可以作为企业内所有 WebSphere Application Server 单元配置的中心存储库。这意味着所有配置变更可以首先在框架服务器中实现,然后再应用到指定的目标环境。

当在框架服务器存储库中管理某个配置时,该配置可以提交并应用到由 Rational Automation Framework 管理的多个 WebSphere Application Server 单元中。一个简单的示例就是在开发环境中配置的 JDBC 数据源。通过将配置保存到框架服务器中,可以像在开发环境中那样在测试、QA 和生产系统中创建数据源,从而避免了在使用管理控制台创建这些环境时可能会产生的配置错误。通过使用 Rational Automation Framework 中的 Promotion 特性,可以针对每一个环境修改可配置的值(如数据库 URL、名称等)并保持基本配置不变。

该实践现在可以进行扩展,从而包含完整的 WebSphere Application Server 单元配置,以及软件安装和资源配置。本实践可以节省大量时间,并几乎可以避免发生错误。


媒体树配置

RAF_HOME 的位置

本文通篇使用 RAF_HOME 一词表示 Rational Automation Framework 在框架服务器上的安装位置。比如,该位置在 Linux® 或 UNIX® 系统上可能为 /opt/IBM/RAFServer/rafw。

媒体树是框架服务器上的一种文件夹结构,可以作为一个共享位置,由所有使用 NFS 协议等技术的目标系统访问。使用共享方法的优点是在安装软件时产品安装文件和修订包不会传递到目标系统,而是每个目标系统使用共享位置上的文件。

这使得新环境的部署变得异常迅速,因而不必再将产品软件复制到最终单元的每个系统中。

在默认情况下,媒体树位于框架服务器的 RAF_HOME/media 文件夹。媒体文件在框架服务器(以及目标系统)上的位置可以通过编辑框架服务器上的 RAF_HOME/configure.properties 文件来进行修改。您可以在媒体位置部分针对框架服务器或目标系统修改特定于操作系统值。

媒体树按照操作系统、硬件架构、WebSphere 产品、产品版本和映像类型进行组织。以本文为例,您将创建的环境将包括:

  • WebSphere Application Server V7.0.0.17
  • IBM HTTP Server 7.0.0.17
  • HTTP Plug-in 7.0.0.17

在 64 位的 Intel® Linux 系统上进行安装。这意味着应当将上述软件映像分别复制到以下文件夹(清单 1):

  • RAF_HOME/media/linux/X64/was/70
  • RAF_HOME/media/linux/X64/ihs/70
  • RAF_HOME/media/linux/X64/plugins/70
清单 1. 框架服务器和目标系统上的媒体位置
## RAFW_MEDIA_ROOT is the root directory of the media on the Framework Server
## Modify this property if a different media root is required on the 
## Framework Server
## If not specified the default is ${RAFW_HOME}/media
#RAFW_MEDIA_ROOT=/opt/RAFW/media

## <OS>_MEDIA_ROOT is the root directory of the media on each Target System 
## according to OS
## The default is ${<OS>_RAFW_HOME}/media
## Modify these properties if a different media root is required on the 
## Target System

#AIX_MEDIA_ROOT=/opt/RAFW/media
LINUX_MEDIA_ROOT=/media   # This entry was modified to represent the actual location
#SOLARIS_MEDIA_ROOT=/opt/RAFW/media
#HPUX_MEDIA_ROOT=/opt/RAFW/media
#WINDOWS_MEDIA_ROOT=c:/RAFW/media

在安装 WebSphere 软件时,Rational Automation Framework 将尝试使用最新定义的产品版本。这意味着如果补丁文件夹中有一个 was70_fp17 目录,那么 Rational Automation Framework 将向 WebSphere Application Server 应用 Fix Pack 17。要覆盖这一行为,您可以修改 RAF_HOME/user/environments/[ENVIRONMENT NAME]/cells/[CELL NAME]/configure.properties 文件以反映需要安装的产品的版本。更新 WAS_FIXES property 以匹配代表正确版本的目录(清单 2)。

清单 2. 需要的产品版本
# comma delimited list of fixes to apply to WAS - used by was_common_install_fix_was
WAS_FIXES=

媒体树中的每个产品文件夹都由一组子文件夹组成,这些子文件夹中存放有产品文件。每个文件夹中的文件的类型是不同的。表 1 描述了文件夹和文件的类型。

表 1. 媒体树细节
文件夹名称描述
install_image包含从 Passport Advantage 或产品 CD 中获得的主要产品映像。如果下载的是压缩文件(.zip、.gz 或 .tar),那么将需要对其进行解压缩。
patches包含从 IBM Fix Central 获得的修订包。文件类型应为 .PAK,并且不应当执行,而是应该保持原样。
feature_packs包含从 IBM WebSphere 产品网站 获得的额外 WebSphere Feature Packs。
update_installer_image 包含从 IBM Update Installer 网站获得的 WebSphere Update Installer 软件。大多数情况下应使用最新版本。
im_install_image WebSphere Application Server V7.x 及更高版本的 Installation Manager 软件,可以从 IBM Support 站点下载获得。这是一个可选特性,将不在本示例中使用。
was70_im_repository特定特性和补丁的 Installation Manager 库文件,应当与 Installation Manager 一起安装。

目标设置和配置

目标系统是将由 Rational Automation Framework 自动化工具管理的远程系统。尽管不需要使用特定的 Rational Automation Framework 配置就可以从框架服务器访问或配置目标系统,但是就本例为言,您需要执行以下一些操作:

  • 以 root 用户的身份执行初始安装,这样可以简化访问和管理。然而,和其他许多情形一样,WebSphere Application Server 进程不会以 root 用户身份运行,但是以专门的 WebSphere Application Server 用户的身份运行。当安装完成后,您要切换到称为 wasadm 的 WebSphere Application Server 进程用户。Wasadm 用户应当在目标系统上手动创建。
  • 您还将使用 NFS 加载来访问框架服务器上的共享媒体树位置。应当在从框架服务器上启动安装进程之前先加载共享文件夹流程。

Environment Generation 向导

Environment Generation 向导将在框架服务器上创建环境,在 RAF_HOME/user/environments 文件夹中生成文件夹结构,并创建一个项目,用于在目标系统上生成环境。

该向导将提出一些问题来判断您的 WebSphere Application Server 单元的拓扑结构,并显示对话框来捕捉更多信息。需要提供的信息基于图 1 所示内容。在运行向导之前,一个好方法是画一个类似图 1 的图表。

该操作通常在每个环境中只执行一次,并且可以从 Eclipse 客户机、Build Forge Management Console 或命令行中执行。本文示例将使用 Build Forge Management Console。

在 Management Console 中,选择 RAF 选项卡。单击 Create new WebSphere Cell 按钮,在单击面板的过程中提供如表 2 至表 6 所示的信息。

表 2. 拓扑信息
属性
产品或用户模板?产品
环境名称DwWAS7
单元名称DwWAS7Cell01
单元类型WebSphere Application Server
WebSphere Application Server 版本70
是否包括 IBM HTTP 服务器包括
单元中的 IBM HTTP 服务器节点数1
独立网络部署
单元中的节点数2
单元中的集群数1
操作系统用户名root
操作系统密码密码
操作系统组root
是否使用 DB2
表 3. Deployment Manager 节点配置
属性
Deployment Manager 节点名DmgrNode01
Deployment Manager 配置文件名称Dmgr01
Deployment Manager 主机名DwWAS7Host01
z/OS 支持
Deployment Manager 主目录/opt/IBM/WebSphere/AppServer7
Deployment Manager 起始端口号Leave Blank
是否启用安全性
WebSphere Administrator 用户名admin
WebSphere administrator 密码admin
表 4. 节点的配置
属性
节点主机名DwWAS7Host01 和 DwWAS7Host02
z/OS 支持
WebSphere 安装目录/opt/IBM/WebSphere/AppServer7
节点名DwWAS7Node01 和 DwWAS7Node02
配置文件名称AppSvr01
配置文件父目录/opt/IBM/WebSphere/AppServer7/profiles
节点代理起始端口号Leave Blank
表 5. 集群信息
属性
集群名称AppCluster01
集群节点检查所有节点
垂直集群成员的数量1
集群成员的名称前缀server
集群成员的起始端口号留空
表 6. IBM HTTP 服务器信息
属性
主机名DwWAS7Host01
节点名DwIHS7Node01
配置文件名称ihs1
z/OS 支持
Web Server 定义名称webserver
IBM HTTP Server 安装目录/opt/IBM/HttpServer7
IBM HTTP Server Plug-in 主目录/opt/IBM/Plugins7
IBM HTTP Server HTTP 端口80
IBM HTTP Server 管理端口8080
是否允许非 root 安装
是否创建 AdminAuth 帐户

单击最后的 Next 按钮后,将显示 Update 进程输出。单击 Update 按钮刷新状态。等待项目完成,将显示一个 PASSED 结果和表示 Generating environment group and project 的消息。这表示已经在框架服务器上成功生成了环境。


运行 Environment Deployment 项目

Console 选项卡上,选择导航中的 Projects 菜单。项目是一组预定义的步骤,用于在目标系统上完成特定的目标。当启动某个项目后,将根据项目步骤和提供的环境创建一个作业。启动项目后,活动流程将被视为一个作业。

新项目的名称包含使用表格 (RAFW) 的名称、环境名称和单元名称(图 2)。该项目用于在目标系统上生成新的环境。选择项目名以查看执行选项并启动作业。

图 2. 项目列表
显示本文使用的图像的最大宽度(580 像素)的像素标尺

单击 Start Project 按钮(图 3),继续执行操作并创建一个将要运行的作业。

图 3. 启动项目
显示本文使用的图像的最大宽度(580 像素)的像素标尺

作业是由执行步骤和环境组成。此时在进程中,将会显示环境并可对其进行修改。环境是由生成环境时所提供的信息组成的。

查看环境中捕获的信息。如果发现一个错误,可以在执行作业之前修改值。要保存修改,确保在执行之前选中了 Save Environment 属性。对于本例,确保模式为 Execute,Media 可进行共享(图 4)。单击 Execute 以创建作业并运行它。

图 4. 更新环境并执行作业
显示本文使用的图像的最大宽度(580 像素)的像素标尺

当作业开始执行后,会显示进程。从 Jobs navigation 中查看正在执行的作业状态。在每个步骤执行时都会显示其状态(图 5)。

图 5. 查看作业步骤的状态和结果
显示本文使用的图像的最大宽度(580 像素)的像素标尺,

显示屏将按照预定义的时间间隔自动更新(但不是无限期更新),该时间间隔在系统属性中设置。当显示屏右上角的进度指示符停止,那么表示状态将不再更新(图 6)。单击圆圈,状态将继续更新。

图 6. 自动结果更新指示符
显示本文使用的图像的最大宽度(580 像素)的像素标尺

根据作业、数据和其他因素,将选择性运行作业的某些步骤,跳过另一些步骤,而另一些步骤将失败但继续运行。所有这些结果在本项目中都是可以接受的,但是当某个步骤失败时,需要使用下面的方法调查故障原因。


故障调查

当作业出现故障时,作业页面将提示作业已完成,但是作业状态为失败。当选择作业名称时,将显示作业的步骤。失败步骤的结果将以红色叉号标识。您应当选择步骤名称,从而查看所选步骤的详细输出。

图 7. 作业步骤失败
显示本文使用的图像的最大宽度(580 像素)的像素标尺,

作业详细信息基于所选步骤的输出,可以包含各种信息。Rational Application Framework 将提示故障出现在执行命令过程中的哪个位置。错误消息通常显示在 BUILD FAILED 消息前面(图 8)。

图 8. 作业步骤输出
显示本文使用的图像的最大宽度(580 像素)的像素标尺

修复某个故障后,作业将重新启动。重启操作将从失败的位置运行作业步骤。


安装后步骤

安装产品和创建单元的项目还将开始启动部署管理器、节点代理和 IBM HTTP Server。需要停止运行单元,并在每个目标系统的新创建文件夹中执行 chown 命令,从而修改 WebSphere Application Server 安装文件夹的所有权。当在目标系统上修改所有权时,Rational Application Framework 还应修改为使用进程所有者 ID 而不是 root 用户身份访问 WebSphere Application Server。这可以通过修改 RAF_HOME/user/environments/[ENVIRONMENT NAME]/cells/[CELL NAME]/configure.properties 文件完成。

使用清单 3 的内容修改文件中的值,用于表示 WebSphere Application Server 进程所有者的 ID。以明文形式输入密码;Rational Application Framework 将在下一次读取文件时对密码进行加密。

更新目标用户
# Used for connectivity and to chown install over to right user/group
OS_USER=
OS_GROUP=
OS_PASSWORD=

结束语

自动化对于 WebSphere Application Server 或系统管理并不是什么新鲜概念。管理员多年来一直使用脚本创建和管理 WebSphere 环境。Rational Automation Framework 利用 Build Forge 执行脚本并监视结果,为执行管理脚本提供了良好的基础。Build Forge 为任务调度作业和保存作业结果的进一步分析和审计提供了便利。Rational Application Framework 提供了可以外部化环境值以实现轻松重用的机制。此外,该产品提供了强大的功能和灵活性,可以在大型企业中自动化 WebSphere 产品的管理。

分发软件和安装 WebSphere 软件仅仅是 Rational Application Framework 所提供功能的一小部分而已。Rational Application Framework 提供了许多预定义的操作,可以帮助您进行日常的环境管理,并使您能够扩展操作和针对具体需求进行定制。

参考资料

学习

获得产品和技术

讨论

条评论

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=WebSphere, Rational
ArticleID=819456
ArticleTitle=使用 Rational Automation Framework 部署 WebSphere 软件
publish-date=06042012