Recovering or moving nodes with the addNode -asExistingNode command

You can use the -asExistingNode option of the addNode command to recover and move nodes of a deployment manager. Using the -asExistingNode option, federate a new custom node to a deployment manager as an existing node. During federation, the product uses information in the deployment manager master configuration to transform the custom node into the existing node.

Before you begin

This topic assumes that a WebSphere® Application Server Network Deployment product has a deployment manager with one or more managed nodes.

About this task

Use the -asExistingNode option of the addNode command to quickly recover a damaged node, to move a node to a product installation on a different computer but at the same path, to move a node to a product installation on a different operating system or with a different path, or to create cells from a template cell.

The following procedures describe how to use the -asExistingNode option:

Avoid trouble: Other addNode options for node configuration are incompatible with this -asExistingNode option. Do not use -asExistingNode with the following incompatible options:
  • -includeapps
  • -includebuses
  • -startingport
  • -portprops
  • -nodeagentshortname
  • -nodegroupname
  • -registerservice
  • -serviceusername
  • -servicepassword
  • -coregroupname
  • -excludesecuritydomains

When the addNode command is run with the -asExistingNode option, the product does not check for or resolve conflicts among ports. You must verify that the ports associated with a node do not conflict with ports that are already in use on the target host.

Procedure

  • Recover an existing managed node of a deployment manager.

    You can recover an existing damaged node using the -asExistingNode option of the addNode command. For example, if a computer failure results in an unavailable node but node information remains on the deployment manager, you can use the -asExistingNode option to recreate the unavailable node.

    1. Ensure that the existing damaged node is not running. Stop the node agent and any application servers that reside on the node.
    2. Remove the original profile, and create a profile to replace the damaged node and give it the same profile path, profile name, and node name as the unavailable node. Or, you can create the profile on a different computer from the original node, if your original computer is unavailable and you have configured a new computer with the same host name.

      For example, suppose the myNode01 node that has the profile name AppSrv01 stops functioning. To replace it with a new node, create an application server profile named AppSrv01 for node myNode01.

    3. Run the addNode command with the -asExistingNode option from a command line at the bin directory of the damaged application server profile.

      The name of the new node must match the name of the node where you run addNode with the -asExistingNode option.

      1. Open a command prompt and change to the application server profile bin directory. For example, for the application server profile AppSrv01, go to the profile_root/AppSrv01/bin directory.
      2. Run the addNode command with the -asExistingNode option to replace the application server node with the new node. The following example command assumes that security is enabled and that the product requires you to enter a user name and password. For dmgr_host and dmgr_port, specify the host name and port number of the deployment manager.
        addNode dmgr_host dmgr_port -asExistingNode -username user_name -password password
      Restriction: Previously installed JCA adapters are not stored as part of the WebSphere configuration. After you replace a node, reinstall JCA adapters to enable them to work in the new environment.
    4. Synchronize all the other active nodes in the cell.
      • The easiest and most efficient way to synchronize active nodes is to allow automatic synchronization to run. By default, automatic synchronization is enabled and nodes synchronize themselves at their configured interval.
      • If automatic synchronization is not enabled, you can synchronize the nodes explicitly.
        1. Click System administration > Nodes.
        2. On the Nodes page, select the unsynchronized nodes and click Synchronize.

        If you have more than five unsynchronized nodes, only synchronize five nodes at a time.

    To recover a managed node using a deployment manager administrative console, see the topic on adding, managing, and removing nodes.

  • Move a node to a product installation on a different computer but at the same path.

    You can use the -asExistingNode option to move a node to a different computer, provided the following settings are the same on the different computer:

    • WebSphere Application Server installation directory
    • Profile name
    • Profile directory
    • Node name

    This procedure involves three different profiles:

    • The deployment manager profile is the profile for the deployment manager. Run the changeHostName command from the deployment manager profile.
    • The source profile is the original profile from which you want to move.
    • The destination profile is the profile that you want to move to on the different computer.
    1. Ensure that the node you want to move, the source profile, is not running. Stop the node agent and any application servers that reside on the node.
    2. Change the host name of the node within the master configuration present at the deployment manager.

      Perform the following steps, which involve the deployment manager profile:

      1. Open a command prompt and change to the deployment manager profile bin directory. For example, if the deployment manager profile is named Dmgr01, go to the profile_root/Dmgr01/bin directory.
      2. Run wsadmin Jython commands that change the host name of the node. The following example commands assume that security is enabled and that the product requires you to enter a user name and password. For new_host_name, specify the host name of the target computer.
        wsadmin -lang jython -userName user_name -password password
        
        AdminTask.changeHostName('[-hostName new_host_name -nodeName node_name]')
        
        AdminConfig.save()
        
        quit
    3. Move the node from the product installation on the source computer to the product installation on the target computer.

      Perform the following steps, which involve the destination profile, on the target computer:

      1. Install WebSphere Application Server in a directory that has the same name as the product installation directory on the source computer.
      2. Create a custom profile that has the same profile name, profile directory, and node name as the profile for the node that you want to move. When creating the custom profile, select to federate the node later. Do not select to federate the node during profile creation.
      3. Open a command prompt and change to the application server profile bin directory. For example, if the application server profile is named AppSrv01, go to the profile_root/AppSrv01/bin directory.
      4. Run the addNode command with the -asExistingNode option to replace the application server node with the node that you want to move. The following example command assumes that security is enabled and that the product requires you to enter a user name and password. For dmgr_host and dmgr_port, specify the host name and port number of the target deployment manager.
        addNode dmgr_host dmgr_port -asExistingNode -username user_name -password password
      Restriction: Previously installed JCA adapters are not stored as part of the WebSphere configuration. After you move a node, reinstall JCA adapters to enable them to work in the new environment.
    4. Use the administrative console of the target deployment manager or wsadmin to enable servers on the node to run properly.
      1. Start the node. This step involves the destination profile.
      2. Update the virtual hosts (host aliases) to include the target host name of the application server node.
      3. Start the application servers of the node.
    5. If the node uses a Secure Sockets Layer (SSL) certificate, change the default certificate to contain the host name of the node.

      See the topic on creating SSL certificates to replace existing certificates in a node.

    6. Synchronize all the other active nodes in the cell.

    You might need to update the configurations of other infrastructure components, such as web servers, that are statically configured to use application servers residing on specific hosts.

  • Move a node to a product installation on a different operating system or with a different path.

    You can use the -asExistingNode option to move a node to a product installation on a different computer with the same operating system, but different host name and path. You can also use the option to move a node to a product installation on a different computer that has a different operating system but compatible configuration files; for example, from an AIX operating system to a Windows operating system.

    Restriction:
    • Applications that use Scheduler only work with the same host name. Because the host name is embedded in each scheduled task, tasks that exist before you move a node will not work properly, but tasks created after the move will work properly. After you move a node, reschedule any scheduled tasks that existed when you moved the node.
    • You cannot move nodes between product installations on z/OS and non-z/OS operating systems.
    • Previously installed JCA adapters are not stored as part of the WebSphere configuration. After you move a node, reinstall JCA adapters to enable them to work in the new environment.

    This task assumes that the WebSphere Application Server installation directory and profile directory on the computer that has the node you want to move (source computer) is different from the directories on the target computer. However, the node profile name and node name must be the same on both the source and target computers.

    To complete this task, perform the steps in the Move a node to a product installation on a different computer but at the same path task, except change the product installation and profile paths of each node in the variable maps on the deployment manager configuration before moving the node to the target computer. For example:

    1. In a deployment manager administrative console, click Environment > WebSphere variables.
    2. On the WebSphere Variables page, select the node scope and then click the WAS_INSTALL_ROOT variable.
    3. On the settings page for the WAS_INSTALL_ROOT variable, change the Value setting to specify the new product installation path and save the change.
    4. On the WebSphere Variables page, with the node scope selected, click the USER_INSTALL_ROOT variable.
    5. On the settings page for the USER_INSTALL_ROOT variable, change the Value setting to specify the new profile installation path and save the change.
    6. Repeat these steps as needed to change the product installation and profile paths of each node so that the paths are correct for the target computer.

    For this task, the product installation and profile directories do not need to be the same on the target computer as on the source computer.

  • Create a cell from a template cell.

    You can quickly create a cell from an existing cell using the -asExistingNode option of the addNode command. The new cell must have the same name as the template cell.

    Restriction:
    • Scheduler application does not work with multiple environments. Because the host name is embedded in each scheduled task, tasks that exist before you move a node will not work properly, but tasks created after the move will work properly. After you move a node, reschedule any scheduled tasks that existed when you moved the node.
    • You must assess whether different resources, such as data sources, are required for each environment.
    • Previously installed JCA adapters are not stored as part of the WebSphere configuration. After you move a node, reinstall JCA adapters to enable them to work in the new environment.

    If security is enabled, you likely must regenerate new keys and tokens for a new cell.

    1. Create and configure a cell to be the template cell that you want to use for new product installations.
    2. Make a copy of the deployment manager profile configuration using the backupConfig command. You will use this copy of the configuration to restore the deployment manager configuration in the new installation.
    3. Copy the template cell to a new product installation.

      For each new environment to be provisioned, complete the following steps:

      1. Install WebSphere Application Server.
      2. Create the deployment manager and application server node profiles. The application server profiles must have the same node name as the template cell.
      3. Restore the deployment manager profile configuration using the restoreConfig command. Update the deployment manager host name using wsadmin in local mode. If the profile path or the product installation path has changed, modify the variables.xml file of the deployment manager node to reflect the new paths. Update additional properties files as needed. Properties files that you might need to update include, for example, wsadmin.properties and soap.client.props.
      4. Customize each node configuration on the deployment manager profile. For example, change the following settings:
        • Host name
        • Ports
        • Product installation directory
        • Profile directories
        • Security configuration
      5. Run addNode -asExistingNode for each node. You can run the command concurrently from each node.
        1. Open a command prompt and change to the application server profile bin directory. For example, if the application server profile is named AppSrv01, go to the profile_root/AppSrv01/bin directory.
        2. Run the addNode command with the -asExistingNode option to replace the application server node with the node on the target cell. The following example command assumes that security is enabled and that the product requires you to enter a user name and password. For dmgr_host and dmgr_port, specify the host name and port number of the target deployment manager.
          addNode dmgr_host dmgr_port -asExistingNode -username user_name -password password
    4. Use the administrative console of the new deployment manager or wsadmin to enable servers for each node to run properly.
      1. Start the node. Run the startNode command from the node profile.
      2. Update the virtual hosts (host aliases) to include the host name of the application server node.
      3. Start the application servers of the node.
    5. If the cell uses a Secure Sockets Layer (SSL) certificate, replace the self-signed root certificate in the root keystore, DmgrDefaultRootStore.

      See the topic on creating SSL certificates to replace existing certificates in a cell.

    6. Synchronize all the other active nodes in the cell.

What to do next

Examine the nodes in the target installation to ensure that the node configuration operates properly. If necessary, delete profiles of the source installation.