Migrate cells to new host machines using the command-line tool
This task describes how to migrate each profile in a cell configuration from a previous version of WAS to WAS v9.0 hosted on a different machine. The cell configuration consists of a deployment manager with one or more nodes, a web server, and an application client. All ports are migrated forward into the new configuration. Before starting, the review WebSphere Migration Knowledge Collection.
Note that this procedure will NOT work to migrate WAS from one OS, such as AIX, to another OS, such as Linux. This procedure only works if source OS matches the target OS.
Tasks
- On all hosts, set maximum number of open files to 10000 or greater. If the number of open files is too low, this can cause a variety of migration failures.
- On the source hosts back up the deployment manager and all nodes
cd /_dmgr_profile/bin
backupConfig.sh /path/to/old_dmgr.zip -username wasadmin -password mypass -nostop
cd _appserver_root/v70node01/bin
backupConfig.sh /path/to/old_appserver.zip -username wasadmin -password mypass -nostop- Install WAS ND v9.0 onto each target host in a new directory.
Install on a system where the OS and architecture matches the source profile. Once we have generated the remote migration jar, it will work on any system which matches the operating system and architecture. The archive generated contains operating system specific code that only executes on this architecture.
- From the target host, create the remote migration .jar file.
This file contains the files necessary to run the WASPreUpgrade command on a system which does not have WAS v9.0 installed.
- Create the remote migration .jar.
cd $WAS_HOME/bin/migration/bin
createRemoteMigrJar.bat(sh) -targetDir <dir_for_the_remote_migration_jar>This creates the following file:
WAS_V90_OS.arch_RemoteMigrSupport.jar
For example:
WAS_V90_windows.amd64_RemoteMigrSupport.jar
- Send the .jar file to the system where your source profile resides.
- Extract the file to a temporary location.
- Change directories to the bin directory in the temporary location.
We are now ready to run the WASPreUpgrade command against the source profile. However, do not issue this command until we are told to do so in a later step.
- On the target host, create the target deployment manager profile.
The v9.0 cell and node names must match the cell and node names in the source configuration, otherwise the migration will fail.
cd v9_install_root/bin/ manageprofiles.sh -create \ -profileName v70toV90dmgr01 \ -templatePath /opt/WebSphereV90/profileTemplates/management \ -serverType DEPLOYMENT_MANAGER \ -nodeName currentDmgrNodeName \ -cellName currentCellName \ -hostName mydmgrhost.company.com- Save the current deployment manager configuration to the migration backup directory.
The WASPreUpgrade command does not change the old configuration.
- Run the WASPreUpgrade command with the -machineChange true parameter to save the current deployment manager configuration to a migration backup directory. For example:
cd /path/to/remote/migration.jar/migration/bin/
./WASPreUpgrade.sh /mybackup_old_host/v70toV90dmgr01 /opt/WebSphereV70 -oldProfile 70dmgr01 -machineChange truewhere mybackup_old_host is the directory to which the profile configuration files are copied in preparation for the migration to the new host.
If we are migrating from v8.0 to v9.0 and your profile is a deployment manager, v8.0 profile is stopped when WASPreUpgrade runs. The deployment manager is only started before WASPreUpgrade completes if we provide -keepDmgrEnabled true on the command line or specify the corresponding option in the Migration wizard.
If we specify -machineChange true, we must update the job manager URL for all resources (such as other deployment managers or application servers) managed by the job manager function of the v8.0 deployment manager after the migration..
- Review warnings or errors in the console output and WASPreUpgrade logs. After the WASPreUpgrade command is complete, check the console output for Failed with errors or Completed with warnings messages. Then, check the following log files for any warnings or errors:
- mybackup_old_host/v70toV90dmgr01/logs/WASPreMigrationSummary.log
- mybackup_old_host/v70toV90dmgr01/logs/WASPreUpgrade.timestamp.log
- mybackup_old_host/v70toV90dmgr01/logs/WASPreUpgrade.trace
If there are errors, fix the errors and run the WASPreUpgrade command again. Check whether the warnings affect any other migration or runtime activities on v9.0.
If the command completed successfully, it is not necessary to check the logs for errors or warnings.
- Archive the backup directory created by the WASPreUpgrade command.
Do not use the Windows archive tool because it is not compatible with a WAS migration.
- Use the archive tool of our choice to create a compressed file of the backup directory. For example:
cd /mybackup_old_host
/opt/WebSphereV70/java/bin/jar -cf v70toV90dmgr01.jar v70toV90dmgr01/- Move the archived file to the target machine.
- Create a directory on the target machine and extract the archived file to the new directory. For example:
mkdir /mybackup_new_host
cd /mybackup_new_host
/opt/WebSphereV90/java/bin/jar -xf v70toV90dmgr01.jarwhere mybackup_new_host is the directory to which we are migrating the files.
- From the target host, restore the previous deployment manager configuration that we saved in the migration backup directory.
If we use the options shown in the example, all ports are carried forward, and all applications are installed.
cd v9_install_root/bin/
WASPostUpgrade.sh /mybackup_new_host/v70toV90dmgr01 -profileName v70toV90dmgr01 -oldProfile 70dmgr01 -resolvePortConflicts incrementCurrent -backupConfig TRUE -keepDmgrEnabled TRUE -username wasadmin -password mypasswhere mybackup_new_host is the directory from which the source profile configuration files are migrated.
To continue to use the old profile after it is migrated, specify the -clone TRUE parameter. If we specify a clone migration for the deployment manager, we must also clone all of its federated nodes.
- Review warnings or errors in the console output and WASPostUpgrade logs. After the WASPostUpgrade command is complete, check the console output for Failed with errors or Completed with warnings messages. Then, check the following log files for any warnings or errors:
- mybackup_new_host/v70toV90dmgr01/logs/WASPostMigrationSummary.log
- mybackup_new_host/v70toV90dmgr01/logs/WASPostUpgrade.target profile name.timestamp.log
- mybackup_new_host/v70toV90dmgr01/logs/WASPostUpgrade.target profile name.trace
If there are errors, fix the errors and run the WASPostUpgrade command again. Check whether the warnings affect any other migration or runtime activities on v9.0.
If the configuration was migrated correctly but any applications were not installed, we can run the WASMigrationAppInstaller command to install only the applications that were not migrated. See WASMigrationAppInstaller command.
If the command completed successfully, it is not necessary to check the logs for errors or warnings.
After the WASPostUpgrade command completes successfully, do not start the new deployment manager. We must complete a few more steps before starting the new deployment manager.
- Save the v9.0 migrated deployment manager configuration to a file by running the backupConfig command on the v9.0 deployment manager.
If we encounter a node migration failure, we can restore the cell configuration to the point before the failure. We can apply remedial actions and the attempt the node migration again.
- Change to the deployment_manager_profile_root/bin directory
- Run the backupConfig command with the appropriate parameters and save the v9.0 profile configuration to a file. For example:
version_9_profile_root/profiles/v70toV90dmgr01/bin/backupConfig.sh /mybackup_new_host/v70toV90dmgr01backupMigratedDmgrOnly.zip -username wasadmin -password mypass
where mybackup_new_host is the location where the configuration restore points are stored.
- Stop and disable the deployment manager on the old host.
- Stop the deployment manager on the old host.
- Disable the deployment manager on the old host. To disable this deployment manager, we must rename the associated serverindex.xml file as indicated in the following information:
- Old name
- $PROFILE_ROOT/config/cells/cell/nodes/deployment_manager_node/serverindex.xml
- New name
- $PROFILE_ROOT/config/cells/cell/nodes/deployment_manager_node/serverindex.xml_disabled
- Start the v9.0 deployment manager on the new host.
- Change to the new v9.0 deployment_manager_profile_root/bin directory.
- Run the startManager command.
- While the deployment manager is running, check the SystemOut.log file for warnings or errors.
IBM recommends using the High Performance Extensible Logging. Check the warnings to see if they affect any node migration or runtime activities when the v9.0 deployment manager is started.
- Ensure that the v9.0 deployment manager starts successfully.
- Manually synchronize the old nodes to the new v9.0 deployment manager.
Ensure that the v9.0 deployment manager on the new host is running. We must log into the machine containing the old nodes and run the syncNode command.
- Stop the node agent.
- Obtain the deployment manager host and port number and update...
node_agent_profile_root/properties/wsadmin.properties
Set:
com.ibm.ws.scripting.host = newhost
- com.ibm.ws.scripting.port = new port
- Run:
cd node_agent_install_root/bin
syncNode.sh myV90DmgrHost.mycompany.com 8879 -username wasadmin -password mypass- Start the node agent if synchronization is successful.
- Migrate application client installations.
If the source WebSphere Application client is Version 7.0, we also must run the WASPreUpgrade and WASPostUpgrade commands to migrate the existing security settings.
- Identify all client hosts that we must migrate.
- Install the WebSphere v9.0 application client.
- Run the v9.0 WASPreUpgrade command to save the Application client security settings to a migration backup directory. For example:
/opt/AppClientV90/bin/WASPreUpgrade.sh /mybackup_client/v70clientToV90 /opt/AppClientV70
- Run the v9.0 WASPostUpgrade command to restore the Application client security settings to the new v9.0 client. For example:
/opt/AppClientV90/bin/WASPostUpgrade.sh /mybackup_client/v70clientToV90
- Migrate nodes.
Important: These steps apply to cross-machine migrations only. If we are not completing a cross-machine migration of a node, see the information about migrating nodes in Migrate cells using the command-line tools. Ensure that the v9.0 deployment manager is running. For each node that we plan to migrate to v9.0, perform the following steps.
For the migration to be successful, use the same source node name but a different temporary cell name for each node that we migrate to v9.0 or later.
- Install WAS v9.0 onto each target host. See documentation about installing an application-serving environment.
- Create the target node profile. Run the manageprofiles command with the appropriate parameters to create a new managed profile. For example:
cd v9_install_root/bin
./manageprofiles.sh -create \
-profileName node1 \
-templatePath /opt/WebSphereV90/profileTemplates/managed \
-nodeName currentNode1Name \
-cellName tempCellName \
-hostName mynode1host.company.com- Use the remote migration .jar file that we created for migrating the deployment manager to make the WASPreUpgrade command available on the current node machine.
This step needs be done only if the source node and deployment manager are not on the same machine, and this step can be done only if the machine architecture is the same. See step 3 of this scenario, Create the remote migration .jar file.
- Run the WASPreUpgrade command with the -machineChange true parameter to save the current node configuration to a migration backup directory. Choose a new directory for the backup files. For example:
<path to remote migration jar>/migration/bin/WASPreUpgrade.sh /mybackup_old_host/v70toV90node1 /opt/WebSphereV70 -oldProfile 70node1 -machineChange true
- Check the WASPreUpgrade console output for error and warning messages. We might find the following messages: "Failed with errors" or "Completed with warnings". Also, look in the following log files for error or warning messages:
- myback_old_host/v70toV90node1/logs/WASPreMigrationSummary.log
- myback_old_host/v70toV90node1/logs/WASPreUpgrade.timestamp.log
- myback_old_host/v70toV90node1/logs/WASPreUpgrade.trace
If the WASPreUpgrade command is successful, we do not need to check the log files for error or warning messages.
- Use the archive tool of our choice to create a compressed file of the backup directory that was created by the WASPreUpgrade command. For example:
cd /mybackup_old_host
/opt/WebSphereV70/java/bin/jar -cf v70toV90node1.jar v70toV90node1/- Move the archived file to the target machine.
- Create a directory on the target machine and extract the archived file to the new directory. For example:
mkdir /mybackup_new_host
cd /mybackup_new_host
/opt/WebSphereV90/java/bin/jar -xf v70toV90dmgr01.jarwhere mybackup_new_host is the directory from which the profile configuration files are migrated.
- Stop the application servers on the old node, then stop the node agent on the old node.
- Stop and disable the node on the old host. Ensure that we do not use the node on the old host. To disable the node, we must rename the associated serverindex.xml file as indicated in the following information:
- Old name
- $PROFILE_ROOT/config/cells/cell/nodes/node/serverindex.xml
- New name
- $PROFILE_ROOT/config/cells/cell/nodes/node/serverindex.xml_disabled
- Run the WASPostUpgrade command to restore the saved node configuration into the new v9.0 managed profile. For example:
v9_install_root/bin/WASPostUpgrade.sh /mybackup_new_host/v70toV90node1 -profileName v70toV90node1 \
-oldProfile 70node1 \
-resolvePortConflicts incrementCurrent \
-backupConfig TRUE \
-includeApps TRUE \
-username wasadmin \
-password mypassIf we cloned the deployment manager, we must also clone all federated nodes. Specify the -clone TRUE parameter and the new deployment manager host name and SOAP or RMI port. Do not clone federated nodes unless the deployment manager was cloned.
v9_install_root/bin/WASPostUpgrade.sh / mybackup_new_host/v70toV90node1 -profileName v70toV90node1 -oldProfile 70node1 -resolvePortConflicts incrementCurrent -backupConfig TRUE -includeApps TRUE -username wasadmin -password mypass -clone TRUE -newDmgrHostName myV90DmgrHost.mycompany.com -newDmgrSoapPort 8879
- Check the WASPostUpgrade console output for the following messages. We might find the following messages: "Failed with errors" or "Completed with warnings". Also, look in the following log files for errors or warning messages:
- mybackup_new_host/v70toV90node1/logs/WASPostMigrationSummary.log
- mybackup_new_host/v70toV90node1/logs/WASPostUpgrade.target_profile.timestamp.log
- mybackup_new_host/v70toV90node1/logs/WASPostUpgrade.target_profile.trace
If the WASPostUpgrade command fails, we might need to restore the v9.0 deployment manager from the backup configuration file. If the WASPostUpgrade command processing ran the syncNode command, then the deployment manager is aware that the node has been migrated. The node cannot be migrated again until the deployment manager has been restored to the state before the node migration.
If the configuration was migrated correctly but any applications were not installed, we can run the WASMigrationAppInstaller command to install only the applications that were not migrated. See WASMigrationAppInstaller command.
- Check the v9.0 deployment manager SystemOut.log file for error or warning messages.
IBM recommends using the High Performance Extensible Logging (HPEL) log and trace infrastructure . We view HPEL log and trace information using the logViewer .
- Start the migrated v9.0 node agent.
- Check the v9.0 deployment manager and node SystemOut.log for error or warning messages.
- Optional: Synchronize the cell if the auto-synchronization process is not enabled.
- Start the appropriate application servers on v9.0 migrated node.
- Run the backupConfig command and save the v9.0 profile configuration to a file. For example:
version_9_profile_root/v70toV90node1/bin/backupConfig.sh /mybackup_new_host/v70toV90node1.zip -username wasadmin -password mypass -nostop
Each time we run the backupConfig command on a specific node, use a new backup file name.
- Save the deployment manager configuration using the backupConfig command. On the v9.0 deployment manager host, change to the deployment_manager_profile_root/bin directory. Run the backupConfig command and save the v9.0 profile configuration to a file. For example:
version_9_profile_root/v70toV90dmgr01/bin/backupConfig.sh /mybackup_new_host/v70toV90dmgr01backupMigratedDmgrPlusNodeX.zip -username wasadmin -password mypass
For each node that we migrate, back up the v9.0 deployment manager configuration to a new backup file.
- Repeat the previous steps for additional nodes.
- Migrate plug-ins for web servers.
- Ensure that the v9.0 deployment manager is running.
- Update the version of the web server plug-in used in the cell.
- For all application servers in the cell to be served by the web server, create a new web server definition
The WAS ND v9 supports several different web servers, as described in the system requirements. For installation information, see the documentation for your web server type and version.
We used the migration tools to migrate the cell configurations from a previous version of WAS to new host machines that run WAS v9.0.
Migrate cells using the command-line tools WASPreUpgrade command WASPostUpgrade command WASMigrationAppInstaller command manageprofiles command Migrate web server configurations backupConfig command restoreConfig command Migration Toolkit on WASdev