在WebSphereApplication Server V8 中实现跨机器版本迁移

张 涛, 软件工程师, IBM

简介: 本文会向读者介绍IBM WebSphere Application Server V8(简称WAS V8)中版本迁移的新特性,并通过实

例一步步向读者展示如何跨不同机器实现WAS V7 WAS V8 的版本迁移。

发布日期: 2011 8 18

级别: 初级

引言

IBM WebSphere Application Server V8(以下简称为WAS V8)将于近期发布。相比于WAS V7WAS V8 不但在性

能上有很大提升,功能上也有很多增强,其中包括对Java EE6 的支持;新功能部件包的支持;安全方面的增强等。

WAS V8 在迁移方面也做了一些改进,我们要向大家介绍的就是WAS V8 中迁移的新特性和跨机器迁移。很多应用产

品的升级都伴随着硬件系统的升级。WAS 的迁移工作也是如此,迁移工作不单单只是在本机执行的,有很多情况下是

跨机器的。本文将向读者展示如何实现跨机器的WAS V8 版本迁移。

回页首

WAS V8 版本迁移的新特性

WAS V8 在迁移方面做了许多改进和增强:

1. WAS V7 中迁移是利用迁移向导实现的,在WAS V8 中,迁移和概要文件管理工具(PMT)放在同一个工具

WCTWebSphere Customization Toolbox)中,迁移向导改为配置迁移工具(Configuration Migration

Tool)。用户可以通过执行<WAS Home>/bin/ProfileManagement/pmt.sh (.bat) 进入WCT 界面。

1. WCT 工具

1. WAS V7 迁移的增强。WAS V7 增加了新的概要类型:Administrative Agent Job Manager。在WAS

V8 中可以实现对这两种概要文件的迁移。

页码,1/8

2. 可以迁移使用Bean Validation API 的应用和OSGi 应用。

3. 简化了跨机器版本迁移的步骤。

回页首

迁移之前的评估和计划

在准备迁移之前,我们需要对迁移工作进行必要的评估和计划,避免因迁移不当给生产环境带来的损失。

2. 迁移计划

l 如图2 所示,迁移之前,我们第一步要对整个迁移计划进行评估,包括软硬件的升级、系统的备份、生产环

境信息的收集以及未来员工培训的开销。之后就需要根据评估制定迁移计划,对员工进行培训,备份和准备迁

移计划等。

l 第二步迁移过程分为两个部分。应用程序的迁移和WAS 配置的迁移。如果应用程序需要迁移,可以使用

IBM 提供的WAS Migration Toolkit 插件工具利用Eclipse 进行分析和迁移。工具的具体介绍请访问:

http://www.ibm.com/developerworks/websphere/downloads/migtoolkit/compmig.htmlWAS 配置的迁移是本

文所介绍的迁移部分,本文也会在下一章着重讲解如何跨机器实现WAS 配置的版本迁移。

l 第三步迁移完成后的后续工作同样重要,我们需要测试并验证迁移后的系统能够正常运行。在最后这个阶段同

样需要开发人员和运维人员的共同努力,通过各种测试验证、性能分析、日志查看等手段确保整个新系统能够

正常运行。

回页首

实例介绍WAS V7 WAS V8 跨机器版本迁移

页码,2/8

在开放式平台中,WAS 配置的迁移可以通过两种方式来实现:迁移向导(WAS V8 中改为用WCT 工具)和命令行

方式:

3. 跨机器迁移步骤

通过迁移向导可以很方便地实现同一台机器的版本迁移。然而对于跨机器间的版本迁移,我们就需要通过命令行方式

进行迁移。

接下来,我们将通过实例展示如何利用命令行工具将一个单元(Cell)环境从WAS V7 环境跨机器迁移到WAS V8

境。这个单元环境是由部署管理器(Dmgr)和多个节点(Node)组成。当然,环境中还可以包括WEB 服务器,

Application Client 等。在这里我们可以保证在原先环境处于运行状态时迁移所有概要文件(Profile)并保持前后概要文

件的端口号一致。具体迁移步骤如下:

4. 跨机器迁移步骤

页码,3/8

第一步:利用backupConfig 命令备份所有节点配置

任何情况下,我们都不能保证所做操作不出错误,所以养成良好的备份习惯有利于我们紧急情况下的故障恢复和灾难

恢复。本实例也是如此,如果某一步骤操作失败了,可以及时利用restoreConfig 命令恢复之前备份的配置信息,减少

不必要的损失。

进入各自概要文件的bin 目录,运行backupConfig 命令,备份所有概要文件的配置信息。本实例以部署管理器的迁

移为例:

清单 1. 备份概要文件

在这里,.sh 后缀是执行在Linux 环境下的命令,.bat 是执行在windows 环境下的命令。nostop 参数是在不停止

dmgr 的情况下备份该概要文件。

第二步:在目标机器上安装新的WAS V8 环境

接下来,我们就需要在其他目标机器上安装新的WAS V8 环境。WAS 的版本类型需要保持一致,即如果原先安装的

ND 环境,那WAS V8 也需要安装ND 版本。详细的安装文档请参考WAS 信息中心或developerworks 上的相关

文档。

第三步:创建远程migration.jar 文件

这一步是重点。我们知道,迁移过程的核心命令是WasPreUpgrade WasPostUpgrade,但这两个命令都需要在新

WAS 环境中执行。我们是跨机器迁移,原来的机器没有新的WAS V8 环境,所以原来的迁移步骤无法实现跨机器

迁移。

在原来WAS V7 环境下,如果想实现跨机器迁移需要使用WAS V7 的扩展CD 来执行WasPreUpgrade 命令。WAS

\v7dmgr01\bin\backupConfig.sh (.bat)

\mybackup_old_host\v7dmgr01backupBeforeV8migration.zip

-username myuser -password mypass -nostop

页码,4/8

V8 在这里做了一些改进,不需要使用其他的CD,直接运行<WAS_HOME>/bin/migration/bin

createRemoteMigrJar.sh (.bat) 命令即可生成所需要的WasPreUpgrade 命令及相关文件,将其拷贝到原环境下即可

执行。

清单 2. 生成migration.jar

运行成功后会在targetDir 指定的目录下生成一个WAS_V8_<OS>.<arch>_RemoteMigrSupport.jar 文件,如:

WAS_V8_windows.x86_RemoteMigrSupport.jar。将其拷贝到目标机器上,解压缩后即可使用,我们会在第五步讲解

如何使用。

第四步:在目标环境下创建新的概要文件

接下来我们需要在新的WAS V8 环境下创建好对应环境的概要文件。我们可以通过概要文件管理工具(PMT)或者命

令行创建,在这里以部署管理器为例:

清单 3. 创建概要文件

第五步:执行WasPreUpgrade命令

然后我们就可以在第三步解压缩后的文件夹的bin 下找到WasPreUpgrade 命令,直接运行该命令即可将原先WAS

V7 的概要文件的信息提取出来并将其存储到备份目录中。

清单 4. 运行WasPreUpgrade 命令

在这里需要注意的是,因为我们是跨机器版本迁移,machineChange 参数一定要设为true,否则迁移过程会出错。

第六步:验证WasPreUpgrade 命令

当运行完WasPreUpgrade 命令后,首先先验证输出是否成功,是否带有"Failed with errors" 或者"Completed with

warnings"。如果有错误,需要查看日志进一步分析问题。

之后需要查看WasPreUpgrade 命令的日志是否成功:

* mybackup_old_host/v7toV8dmgr01/logs/WASPreMigrationSummary.log

* mybackup_old_host/v7toV8dmgr01/logs/WASPreUpgrade.< timestamp >.log

<WAS_HOME>/bin/migration/bin/createRemoteMigrJar.sh (.bat)

-targetDir <dir for the remote migration jar>

/bin/manageprofiles.sh (.bat) -create -profileName v7toV8dmgr01

-templatePath /opt/WebSphereV8/profileTemplates/management

-serverType DEPLOYMENT_MANAGER -nodeName currentDmgrNodeName

-cellName currentCellName -hostName mydmgrhost.company.com

\migration\bin\WASPreUpgrade.sh (.bat) \mybackup_old_host\v7toV8dmgr01

\opt\WebSphereV7 -oldProfile v7dmgr01 -machineChange true

页码,5/8

* mybackup_old_host/v7toV8dmgr01/logs/WASPreUpgrade.trace

第七步:将WasPreUpgrade 文件拷贝到目标机器

之后我们需要将WasPreUpgrade 提取的信息打包后传到新的目标机器上,为以后使用WasPostUpgrade 命令做准

备。

清单 5. 操作WasPreUpgrade 的压缩文件

第八步:执行WasPostUpgrade 命令

当迁移某个节点时,需要暂时停止该节点及其应用。但我们的环境是一个集群环境,不同的节点可以分布在不同的机

器或节点上。停掉一个节点,其他节点还能正常工作保证整个环境对外的正常运行。

之后就是运行WasPostUpgrade 命令提取通过WASPreUpgrade 工具创建的目录中的信息,并将该信息导入到新

WAS V8 的概要中。

清单 6. 运行WasPostUpgrade 命令

当然,在执行完WasPostUpgrade 命令后,还不能马上启动新的部署管理器。我们还有一些辅助工作需要做。首先就

是验证WasPostUpgrade 命令的日志,查看是否运行成功了:

* mybackup_new_host/v7toV8dmgr01/logs/WASPostMigrationSummary.log

* mybackup_new_host/v7toV8dmgr01/logs/WASPostUpgrade.<target profile name>.< timestamp >.log

* mybackup_new_host/v7toV8dmgr01/logs/WASPostUpgrade.<target profile name>.trace

第九步:启动概要文件

WasPostUpgrade 命令执行成功后,别忘记及时通过backupConfig 命令备份新的WAS V8 的概要文件,停止原_____

WAS V7 的概要文件。之后就可以启动新的部署管理器,并通过WAS 管理控制台同步部署管理器所管理的节点:

5. 同步节点

压缩 WasPreUpgrade 的文件,并传至目标机器:

cd /mybackup_old_host

/opt/WebSphereV7/java/bin/jar -cf v7toV8dmgr01.jar v7toV8dmgr01/

解压缩WasPreUpgrade 的文件:

mkdir /mybackup_new_host

cd /mybackup_new_host

/opt/WebSphereV8/java/bin/jar -xf v7toV8dmgr01.jar

/bin/WASPostUpgrade.sh /mybackup_new_host/v7toV8dmgr01 -profileName v7toV8dmgr01

-oldProfile v7dmgr01 -replacePorts TRUE -backupConfig TRUE -scriptCompatibility TRUE

-keepDmgrEnabled TRUE -username myuser -password mypass

页码,6/8

迁移每个节点步骤同迁移部署管理器的步骤类似,在此我们就不做过多的介绍了。当所有的节点都迁移成功后,同步

并启动所有节点上的服务器及应用,查看迁移日志和SystemOut 日志中是否存在错误。如果没有显示任何错误就表示

整个跨机器版本迁移工作执行成功了。

回页首

结束语

WAS V8 发布后,用户可以更方便地将低版本迁移到WAS V8 上。跨机器版本迁移是很多客户在迁移过程中遇到的问

题,通过有效的工具可以让用户快速地实现跨机器版本迁移,确保用户能在硬件系统升级或更换后正常使用WAS

品。

参考资料

学习

l 查看文章“WebSphere Application Server V7 快速迁移指南”,了解更多关于WAS V7 版本迁移的内容。

l 查看红皮书“WebSphere Application Server V7 Migration Guide,了解WAS 更详细的迁移资料。

l WebSphere Application Server V8 信息中心

l WebSphere Application Server 专题 WebSphere Application Server 开发人员准备的技术信息和资料,包

括文章、教程、产品下载、在线支持手册等。

l IBM developerWorks 中国WebSphere 专区:为使用WebSphere 产品的开发人员准备的技术信息和资料。

这里提供产品下载、how-to 信息、支持资源以及免费技术库,包含2000 多份技术文章、教程、最佳实践、

IBM Redbook 和在线产品手册。

获得产品和技术

l 最受欢迎的WebSphere 试用软件下载:下载关键WebSphere 产品的免费试用版。

l IBM developerWorks 软件下载资源中心IBM deveperWorks 最新的软件下载。

l IBM developerWorks 工具包:下载关键WebSphere 最新的产品工具包。

页码,7/8

讨论

l 加入developerWorks 中文社区developerWorks 社区是一个面向全球IT 专业人员,可以提供博客、书

签、wiki、群组、联系、共享和协作等社区功能的专业社交网络社区。

l 加入IBM 软件下载与技术交流群组,参与在线交流。

页码,8/8__

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值