天天看点

Migrating to WebSphere 9

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 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\"
           

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
           

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
           

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
           

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"

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, coexisting, and interoperating
  • IBM Knowledge Center - Troubleshooting migration
  • IBM Knowledge Center - Migrating a large WebSphere Application Server, Network Deployment configuration with a large number of applications

非常感谢阅读!如有不足之处,请留下您的评价和问题。

请“推荐”本文!

继续阅读