PDFs


This page applies to an earlier version of the AppDynamics App IQ Platform.
See the latest version of the documentation.


Skip to end of metadata
Go to start of metadata

On this page:

This topic describes how to migrate a Controller from a physical or virtual machine to a new physical machine.  

Before Starting

Migrating the Controller often results from the need to move the Controller to new hardware in response to increased load. Before starting, make sure that the new hardware meets the AppDynamics requirements as described in Controller System Requirements. Specifically, review the Controller hardware performance profiles and the hardware requirements per profile information to verify that the target Controller hardware meets the RAM size and Disk I/O requirements. 

The old and new Controller host machines must use the same processor architecture, ia32 or x86_64, and the same operating system.

Before you migrate the Controller, back up the Controller and the Platform Administration Application database. See Controller Data Backup and Restore for more information. 

You need to acquire new license files for the new Controller hardware since licenses are tied to the machine MAC addresses. Send the MAC addresses to salesops@appdynamics.com and request new license file or two new files if upgrading to an HA pair.

Migrate by Copying the Data Directory

The following instructions take you through the steps to install the Controller to a new machine and migrate the Controller data from an old machine. The Controllers do not need to be the same version, but the new Controller must be a later version. 

The migration occurs in two phases. The first phase consists of preliminary steps that do not require a Controller shut down and can be done at any time. The second phase requires the Controller to be shut down and should be done during a service window to avoid disruption. 

Prepare the New Machine

  1. Install the Controller on the new machine.
  2. Apply the license for the new machine. See Before Starting for more information. 
  3. Stop the new Controller with the following command: bin/stopController.sh. 
  4. Remove all files and directory from the new Controller's data directory, <controller_home>/db/data, except the following:
    • mysql
    • performance_schema

Migrate the Controller

  1. In the command line, navigate to the controller/bin directory.
  2. Shut down the old Controller
  3. Copy all the files and directories from the MySQL data directory on the old host to the MySQL data directory on the new host except the following:
    • ddl_log.log
    • mysql
    • performance_schema
    • <hostname>.pid
    • slow.log
  4. If the AppDynamics version on the new Controller is later than the old Controller, re-run the Controller installer to upgrade the database you just copied to the latest schema version.
  5. Migrate the Controller agent's access key.
    Copy <Controller home>/appserver/glassfish/domains/domain1/appagent/<version>/conf/controller-info.xml from the old Controller host to the new Controller host.
  6. Merge any manual customizations you have made to configuration files from the original Controller directory to the equivalent directory on the new machine. You may have made manual customizations to one or more of the following files:
    • <controller_home>/db/db.cnf
    • <controller_home>/appserver/glassfish/domains/domain1/config/domain.xml
    • <controller_home>/appserver/glassfish/domains/domain1/config/ and any other customizations in this directory. In particular, customizations to keystore.jks and cacerts.jks need to be propagated to the new Controller. 
    • <controller_home>/appserver/glassfish/domains/domain1/appagent/ver4.1.X.Y/conf/cacerts.jks

    • <controller_home>/appserver/glassfish/domains/domain1/applications/controller/controller-web_war/WEB-INF/flex/services-config.xml (if using SSL)
  7. If SSL traffic terminates at the Controller instead of at another destination, such as a reverse proxy, update the default keystore with the SSL certificate you use. 
  8. Start the new Controller.
  9. Modify your network configuration so that the traffic previously directed to your old Controller now goes to the new Controller. Depending on your data center topology, this may require modifying load balancer rules or changing DNS records so that the hostname for the old Controller machine now points to the IP address of the new Controller machine. 
  10. Verify that the Controller UI is reachable at the new address.

Migrating by Copying the Entire Controller Directory

Instead of migrating a data directory to a new Controller installation, as described in the previous section, it is possible to migrate a Controller between machines by copying the entire Controller directory.

However, there are two requirements to performing the migration this way:

  • The new machine must have the same IP address and host name as the old machine.
  • The new machine must have the exact same directory structure as the old installation location.
To migrate by copying the Controller directory to a new machine
  1. In the command line, navigate to the controller/bin directory.
  2. Shut down the old Controller. Shutting down the Controller before copying its data ensures that all data will be moved to the new machine. For details see Start or Stop the Controller.
  3. Copy the Controller home directory from the old machine to the new machine. Copy the directory into the exact same directory structure.
    1. Migrate the Controller agent's access key.
      Copy <Controller home>/appserver/glassfish/domains/domain1/appagent/<version>/conf/controller-info.xml from the old Controller host to the new Controller host.
  4. If SSL traffic arrives at the Controller instead of at another destination, such as a reverse proxy, update the default keystore. 
  5. Start the new Controller.
  6. Modify your network configuration so that the traffic previously directed to your old Controller now goes to the new Controller. Depending on your data center topology, this may require modifying load balancer rules or changing DNS records so that the hostname for the old Controller machine now points to the IP address of the new Controller machine. 

(warning) IMPORTANT: Do not start the Controller on the old machine again!

Controller Migration FAQ

After moving the data to the new machine, why do I get a 443, permission denied error?

This can happen if port 443 is bound to some other application. Change the HTTPS port, for example, from 443 to 5443.

Can I take a hot backup and use that for the new machine?

You can perform the migration with data from either a hot or cold backup, but it is important to get the backup of the data directory from <controller_home>/db. However, AppDynamics strongly recommends that you perform a cold backup of the data.

A hot backup will not bring the Controller down for a long time, but you will still lose the data when you migrate. This is because hot backup will only have the data from the point that the hot backup started and not when it ended.

Do I need a new license if moving the Controller from a virtual to a physical environment?

If the physical machine has the same MAC address, you can reuse the license. If that is not the case, contact your AppDynamics representative or salesops@appdynamics.com to request a new license.

  • No labels