您的位置:首页 > 移动开发

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

2013-04-26 13:59 447 查看
张 涛, 软件工程师, IBM

简介: 本文会向读者介绍IBM WebSphere Application Server V8(简称WAS V8)中版本迁移的新特性,并通过实
例一步步向读者展示如何跨不同机器实现WAS V7
到WAS V8
的版本迁移。
发布日期: 2011
年8 月18

级别: 初级
引言
IBM WebSphere Application Server V8(以下简称为WAS V8)将于近期发布。相比于WAS V7,WAS
V8 不但在性
能上有很大提升,功能上也有很多增强,其中包括对Java EE6
的支持;新功能部件包的支持;安全方面的增强等。
WAS V8 在迁移方面也做了一些改进,我们要向大家介绍的就是WAS V8
中迁移的新特性和跨机器迁移。很多应用产
品的升级都伴随着硬件系统的升级。WAS
的迁移工作也是如此,迁移工作不单单只是在本机执行的,有很多情况下是
跨机器的。本文将向读者展示如何实现跨机器的WAS V8
版本迁移。
回页首
WAS V8 版本迁移的新特性
WAS V8 在迁移方面做了许多改进和增强:
1. WAS V7 中迁移是利用迁移向导实现的,在WAS V8
中,迁移和概要文件管理工具(PMT)放在同一个工具
WCT(WebSphere 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.html;WAS 配置的迁移是本
文所介绍的迁移部分,本文也会在下一章着重讲解如何跨机器实现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__
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐