Migrating to WebSphere 9

Make a migration plan

Requirements

  • Migrate WebSphere profiles into the new WebSphere
  • Keep profiles' locations as the original path

Prepare

  • Install the new WebSphere
  • Setup variables

    At first, we need to record variables related to the migration.
set WAS_HOME_Old=C:\IBM\WebSphere\AppServer
set WAS_Root_New=C:\IBM\WebSphere9
set WAS_HOME_New=%WAS_Root_New%\AppServer
set Dmgr_Profile_Path=C:\Product\profiles\xxxDmgr
set Dmgr_Profile_Name=xxxDmgr
set Prod_Cell_Name=xxxCell
set Prod_Ear=xxx.ear
set Node_Profile_Path=C:\Product\profiles\xxxNode1
set Node_Profile_Name=xxxNode1
set DmgrHost=localhost
set DmgrPort=8879
set DmgrUser=admin
set DmgrPassword=password
  • Stop all services of the old WebSphere

Migrating

Overall steps

  • Copy extension library
  • Backup source profiles
  • Migrate from source profiles
  • Move source profiles, we will create new profiles at same places
  • Create target profiles
  • Migrate to target profiles
  • Sync nodes
  • Some post steps may need

Copy extension library

Copy old WebSphere extension libraries which are used by existing servers into the new WebSphere.

echo Copy extension library
copy "%WAS_HOME_Old%\lib\ext\*.*" "%WAS_HOME_New%\lib\ext\"

Backup source profiles

pushd "%WAS_HOME_Old%\bin"

echo Create profile backup folders
mkdir %WAS_HOME_Old%\profilesBackup echo Backup source profiles
call backupConfig.bat "%WAS_HOME_Old%\profilesBackup\MigrationBackup_%Dmgr_Profile_Name%.zip" -nostop -profileName %Dmgr_Profile_Name%
call backupConfig.bat "%WAS_HOME_Old%\profilesBackup\MigrationBackup_%Node_Profile_Name%.zip" -nostop -profileName %Node_Profile_Name% popd

Migrate from source profiles

pushd "%WAS_HOME_New%\bin"

echo Migrate from source profiles
call WASPreUpgrade.bat "%WAS_Root_New%\WSMigration\%Node_Profile_Name%" "%WAS_HOME_Old%" -oldProfile %Node_Profile_Name% -keepDmgrEnabled false
call WASPreUpgrade.bat "%WAS_Root_New%\WSMigration\%Dmgr_Profile_Name%" "%WAS_HOME_Old%" -oldProfile %Dmgr_Profile_Name% -keepDmgrEnabled false -username %DmgrUser% -password %DmgrPassword%
popd

Move source profiles

echo Move source profiles
rename "%Dmgr_Profile_Path%" %Dmgr_Profile_Name%_Old
rename "%Node_Profile_Path%" %Node_Profile_Name%_Old

Create target profiles

pushd "%WAS_HOME_New%\bin"

echo Create target profiles
call manageprofiles.bat -create -profileName %Dmgr_Profile_Name% -profilePath "%Dmgr_Profile_Path%" -templatePath management -nodeName %Dmgr_Profile_Name%Node -cellName %Prod_Cell_Name% call manageprofiles.bat -create -profileName %Node_Profile_Name% -profilePath "%Node_Profile_Path%" -templatePath managed -nodeName %Node_Profile_Name% -dmgrHost %DmgrHost% -dmgrPort %DmgrPort% -dmgrAdminUserName %DmgrUser% -dmgrAdminPassword %DmgrPassword%,-cellName %Prod_Cell_Name% -federateLater true popd

Migrate to target profiles

pushd "%WAS_HOME_New%\bin"

echo Migrate to the deployment manager profile
call WASPostUpgrade.bat "%WAS_Root_New%\WSMigration\%Dmgr_Profile_Name%" -oldProfile %Dmgr_Profile_Name% -profileName %Dmgr_Profile_Name% -setPorts useOld -resolvePortConflicts incrementCurrent -includeApps true -keepAppDirectory true -keepDmgrEnabled true -clone false call startManager.bat echo Migrate to the node profile
call WASPostUpgrade.bat "%WAS_Root_New%\WSMigration\%Node_Profile_Name%" -oldProfile %Node_Profile_Name% -profileName %Node_Profile_Name% -setPorts useOld -resolvePortConflicts incrementCurrent -keepDmgrEnabled true -username %DmgrUser% -password %DmgrPassword% -clone false popd

NOTE: There is another choice to use switch "-includeApps script", if in this case, we need to run the following command manually to install applications.

cd /d "%WAS_Root_New%\WSMigration%Dmgr_Profile_Name%"

"%WAS_HOME_New%\bin\wsadmin.bat" -f "install_%Prod_Ear%.jy" -CONNTYPE none -lang jython"

Sync nodes

pushd "%Node_Profile_Path%"\bin

rem node agent disablement reversal
if exist "%Dmgr_Profile_Path%\config\cells\%Prod_Cell_Name%\nodes\%Node_Profile_Name%\serverindex.xml_disabled" (
echo Node agent disablement reversal
rename "%Dmgr_Profile_Path%\config\cells\%Prod_Cell_Name%\nodes\%Node_Profile_Name%\serverindex.xml" serverindex.xml_nonagent
rename "%Dmgr_Profile_Path%\config\cells\%Prod_Cell_Name%\nodes\%Node_Profile_Name%\serverindex.xml_disabled" serverindex.xml
) echo Sync node
call SyncNode.bat %DmgrHost% %DmgrPort% -username %DmgrUser% -password %DmgrPassword% echo Remove jsp built folders
for /D %%i in (%Node_Profile_Path%\installedApps\%Prod_Cell_Name%\%Prod_Ear%\*) DO (
if exist "%%i\WEB-INF\classes" (
echo Clear jsp classes "%%i\WEB-INF\classes"
del /F /S /Q "%%i\WEB-INF\classes\*"
)
)
popd

NOTE: default node agent is disabled, we need to enable node agent.

NOTE: Removing jsp cache will avoid jsp errors during application initialize.

Post steps of migration

  • Remove old Windows services of the product
  • Add new Windows services for the product
  • Reset any arguments whose values are related to WebSphere location in the WebSphere Server
  • Set JAVA_HOME if need

End

  • Uninstall the old version WebSphere

  • Remove the backup folders to save disk

%WAS_HOME_Old%\profilesBackup
%WAS_Root_New%\WSMigration
%Dmgr_Profile_Path%_Old
%Node_Profile_Path%_Old

Frequent Issues

Node agent failed to start

  • Symptom

    We can find following message is the node agent SystemOut.log file
com.ibm.ws.naming.distcos.NameSpaceConfigurationException: Missing host name info in bootstrap address of server "nodeagent" in node "<Node Name>".
  • Cause

    Node agent is disabled default.

  • Solution

    Enable node agent and sync node

    If there is a serverindex.xml_disabled file in the deployment manager configuration, remove serverindex.xml and rename serverindex.xml_disabled as serverindex.xml.

    Run SyncNode.bat from the node profile bin folder.

echo node agent disablement reversal
if exist "%Dmgr_Profile_Path%\config\cells\%Prod_Cell_Name%\nodes\%Node_Profile_Name%\serverindex.xml_disabled" (
echo Node agent disablement reversal
rename "%Dmgr_Profile_Path%\config\cells\%Prod_Cell_Name%\nodes\%Node_Profile_Name%\serverindex.xml" serverindex.xml_nonagent
rename "%Dmgr_Profile_Path%\config\cells\%Prod_Cell_Name%\nodes\%Node_Profile_Name%\serverindex.xml_disabled" serverindex.xml
) pushd "%Node_Profile_Path%"\bin
echo Sync node
call SyncNode.bat %DmgrHost% %DmgrPort% -username %DmgrUser% -password %DmgrPassword%
popd

References

Migrating to WebSphere 9的更多相关文章

  1. webSphere内存溢出

    有一个做了很长时间的项目,是用websphere做生产环境的,可是一旦加载的项目过多,webSphere就很傲娇的内存溢出,这是一个折腾了公司里某个前辈很久很久的问题,因为是测试版,所以各种官方文档说 ...

  2. 为什么WebSphere好好的,他就不干活了?

    “修理不好用的WebSphere,有时候要看运气.”这个是我接触过很过有历史的运维工程师经常说的一个梗;研发人员也经常说这个程序在我这里运行好好的,怎么到你那就不灵了?问题是你的,你自己解决. 声明一 ...

  3. MyEclipse 2016 CI 1支持远程WebSphere连接器

    MyEclipse 2016 CI 1有很多Web开发者会喜欢的新功能,包括Live Preview,带有Map支持和hot-swap功能的JavaScript调试.另外还新增支持远程WebSpher ...

  4. Set up Github Pages with Hexo, migrating from Jekyll

    Set up Github Pages with Hexo, migrating from Jekyll. 本文介绍用Hexo建立github pages, 其中包含了从Jekyll迁移过来的过程. ...

  5. 帆软报表FineReport中数据连接之Websphere配置JNDI连接

    以oracle9i数据源制作的模板jndi.cpt为例来说明如何在FineReport中的Websphere配置JNDI连接.由于常用服务器的JNDI驱动过大,帆软报表FineReport中没有自带, ...

  6. Migrating an Existing Website from SQL Membership to ASP.NET Identity

    Migrating an Existing Website from SQL Membership to ASP.NET Identity public class User : IdentityUs ...

  7. WebSphere MQ Explorer的sqlserver的jdbc

    一.IBM WebSphere MQ7.0的jdbc支持数据库有: DB2 Informix Informix_With_Date_Format Microsoft_SQL_Server Oracle ...

  8. IBM WebSphere MQ的oracle的jdbc

    一.IBM WebSphere MQ7.0的jdbc支持数据库有: DB2 Informix Informix_With_Date_Format Microsoft_SQL_Server Oracle ...

  9. Migrating an ASP.NET MVC application to ADFS authentication

    I recently built an ASP.NET application at work to help track internal use of our products. It's bee ...

随机推荐

  1. 简单属性margin和padding

    关于margin属性的介绍 margin:20px 上 右 下 左 都是20px margin:20px 40 px 上 下 20px 左 右 40px margin:20px 40px  60px ...

  2. pdo_mysql扩展以及测试

    1.进入 PHP 的软件包 pdo 扩展目录中(注:php的tar包解压目录) 2.配置和编译文件 进入 在PHP源码包中进入 cd /data/php-5.6.36/ext/pdo_mysql 执行 ...

  3. 超低功耗WiFi :ESP8089

    ESP8089是一个完整且自成体系的Wi-Fi网络解决方案.当ESP8089作为Wi-Fi适配器 时,可以将其与任何微控制器配合,无线网络接入可以实现在配合的任何一种处理器上p 网络连接只需通过SPI ...

  4. Java中使用OpenSSL生成的RSA公私钥

    RSA是什么:RSA公钥加密算法是1977年由Ron Rivest.Adi Shamirh和LenAdleman在(美国麻省理工学院)开发的.RSA取名来自开发他们三者的名字.RSA是目前最有影响力的 ...

  5. 从对集合数据去重到Distinct源码分析

    今天在写代码的时候要对数据进行去重,正打算使用Distinct方法的时候,发现这个用了这么久的东西,竟然不知道它是怎么实现的,于是就有了这篇文章. 使用的.net core2.0 1.需求 假如我们有 ...

  6. c#将List转换成DataTable

    前面写了一篇List<T>转换成DataTable,这里主要是完善了前面的代码. 同样使用了emit,我把代码整理后上传了git. 另外增加了特性的设计. 设计了三类特性ColumnTyp ...

  7. 请问在一个命令上加什么参数可以实现下面命令的内容在同一行输出。 echo "zhaokang";echo "zhaokang"

    请问在一个命令上加什么参数可以实现下面命令的内容在同一行输出. echo "zhaokang";echo "zhaokang" [root@zhaokang t ...

  8. LEFT JOIN个别问题

    SELECT a.loginuser, a.schoolid, count(b.id)FROM vhs_school AS aLEFT JOIN vhs_attence AS b ON a.schoo ...

  9. C++中一个0xC0000005访问冲突问题

    在冯.诺依曼结构CPU(如i386,ARM A8,A9)的保护模式或者哈佛结构(如8051, ARM M0,.. M3)的CPU下,C++编译器将放置常量的内存设置为只读模式或者放入只读内存中,如果出 ...

  10. 大数据学习--day17(Map--HashMap--TreeMap、红黑树)

    Map--HashMap--TreeMap--红黑树 Map:三种遍历方式 HashMap:拉链法.用哈希函数计算出int值. 用桶的思想去存储元素.桶里的元素用链表串起来,之后长了的话转红黑树. T ...