To understand how to install CloudMigrator in a multi-server environment, it is useful to understand the architecture and how CloudMigrator operates in a multi-server environment.
Multi-server CloudMigrator can be setup on in-house servers or can be setup using any of the cloud hosting providers such as Google Cloud Compute, Microsoft Azure and Amazon EC2. Installation is straightforward as long as the servers are all installed within the same network and some simple rules are followed when cloning any slave services.
If you have any problems installing CloudMigrator, please refer to the installation issues article.
Multi-Server Connection Issues
If you have problems getting a multi-server environment setup, or issues with communication between servers, check the troubleshooting checklist.
The user interface is the central point of administration for CloudMigrator in both single and multi-server modes. Migrations are started and stopped from the interface, and feedback on the progress of the migration is provided through the interface. The user interface is always installed to the same server as the master service. In CloudMigrator 3.0 you have the choice of a browser interface or a desktop application.
The master service is the main point of control for migration processes. The user interface communicates with the master service to start and stop migrations. The master service allocates individual user migrations to slave services and provides control and load balancing of user migrations. The master service is always installed to the same server as the user interface.
Only one master service per network should be installed.
Please note that the Master Server's name shouldn't be longer than 15 characters
Slave services perform the actual migration of data from the source and destination platforms. They are controlled by the master service. A slave service can also be installed on the same server as the master service in a simple setup but in a multi-server configuration this is not recommended. Usually they are installed on many servers to provide massive scalability for CloudMigrator. You must have at least one slave service in the system to perform migrations.
Slave services are installed within the same network as the master server, whether that be on a migration farm built within your own network infrastructure or built on Google Cloud Compute, Microsoft Azure or Amazon EC2.
Source and Destination Platforms
The source and destination platforms are your platforms where your data is being migrated from and to. CloudMigrator supports the widest range of source and destination platforms for migration from almost any platform.
The following components make up and are used by CloudMigrator
- Desktop Application and Master Service
- Slave Service
- SQL Server Express 2014
Performing a Multi-Server Installation
The most common way to setup CloudMigrator in a multi-server environment is as follows:
- Install the user interface and master service on a server
- Install many secondary services on many servers
Following installation of one or more services you should start CloudMigrator and check that the services can communicate with each other. To do this perform the following:
- Open CloudMigrator (available from the start menu)
- Ensure multi-server migrations are enabled
- Open the Remote Migration Connections dialog from the tools menu (Desktop: CloudMigrator Service Manager > Remote Connections, or Web: Burger Icon > Remote Connections)
- Check your servers are connected. If you have installed slave servers and they are not visible then refer to the multi-server troubleshooting section.
- For more information about the Remote Connections dialog, see the documentation.
When CloudMigrator is running and servers are connected, you are ready to complete configuration or start a migration.
You should install a master service before installing slave services.
Ensure that master and slave systems can communicate via their DNS names. This may require adding HOST file references, in environments without working DNS.
How a Multi-Server Migration Works
When a multi-server migration is ran the following takes place:
- CloudMigrator allocates the migration to the master service
- The master service allocates user migrations to the slave servers depending on their configuration and current capacity
- The slave servers process the migrations and report back status during a migration and when it completes
- When a migration completes on a slave service, it will automatically run another migration if there are more to be ran
- If for any reason a slave service fails to run a migration, if the slave service or slave server crashes or is restarted, then the migrations being processed on that slave will be allocated to another slave
- When the migration completes reports are generated on the master server