Migrating to Different Hypervisor
- Migrating to Different Hypervisor
Stratosphere uses a variety of hypervisors: VMware ESX, Red Hat KVM and Citrix Xenserver. Each has unique properties and features. Because of this uniqueness, virtual machines and volumes created on one cannot be used on another without first being converted. Minus a tool to perform such a task, the process of converting instances and volumes from one format to another will require several steps.
If you want to convert an instance currently running on KVM to now run on Xenserver, you would migrate by doing the following:
Take note of all the properties that make up the server you wish to convert.
- Operating system and version used
- Service type of the instance
- IP address of the instance
- Password of the instance
- Volumes attached and sizes thereof
- Key pair associated with instance
- Security group associated with instance
You can gather all that information from the instance's details page.
If you plan to make an exact duplicate, create a new instance on the hypervisor of choice using the same parameters. You can, if you wish, chose to use a different service type or create data volumes with different sizes. However, when creating your new volumes, make certain that they are large enough to accommodate all of the data you plan to migrate from your original volume.
It is important to note that your new instance will have a different address. You may need to contact your DNS provider to record this change.
After you have created the replacement instance, compare the details before you proceed.
The next step is to make certain the two instances (the original and the replacement) can communicate. Since they both are associated with the same security group, this is a fairly simple task. Begin by opening the security group for editing.
Assuming you have not set CIDR rules to open TCP globally (0.0.0.0/0)--always a bad practice, you will need to open some between the two instances. For simplicity, create new ingress rules opening all TCP ports between just those two instances as illustrated below. Create a rule for both instances. This will allow you to communicate at will between the two, from either instance.
Test the communications between the two. Using Linux instances as our example, ssh into the original. From the original, ssh to the replacement.
If you can successfully login, you should now be able to migrate information from one server to another.
The easiest way to replicate data would be to perform an "rsync" which will copy all the specified data from the source to the target.
For detailed instructions for using the rsync command, go HERE
The time it will take to copy all the information between the two instances will vary depending upon the amount of data and the location of the remote instance. Also: You will also have to perform additional rsyncs to keep the data on the new server current up until you are ready to cut over.
Once everything has been migrated from the original server to the replacement, you still may need to perform a few additional tasks in order to make it production ready. Some of these tasks could be:
- Applications may need to be reinstalled on the new instance.
- DNS may need to be changed to reflect the new instance's adddress
- Software clients may need to be reconfigured to point to the new instance
- Firewall rules may need to be reconfigured to allow access to or from the new instance
- VPNs may need to be reconfigured to allow access to the new instance