Zero-Downtime Migration
Using the zero-downtime migration technology, you can migrate paused and running virtual machines and running Containers from one Virtuozzo host to another with zero downtime. The zero-downtime migration technology has the following main advantages over the standard one:
- The migration time is greatly reduced. In fact, the migration eliminates the service outage or interruption for end users.
- The process of migrating a virtual machine or Container to another host is transparent for you and the Container applications and network connections. This means that no modifications of system characteristics and operational procedures inside the Container are performed on the source and destination servers.
- The virtual machine or Container is restored on the destination server in the same state as it was at the beginning of the migration.
- You can move virtual machines and Containers running applications that you do not want to be rebooted during the migration.
Note: Zero-downtime migration is not supported for virtual machines and Containers with open sessions established with the prlctl enter command and Containers with IPSec connections.
Migration requirements and restrictions
When performing a zero-downtime migration, take into account the requirements and restrictions below:
- Before performing zero-downtime migration, it is recommended to synchronize the system time on the source and destination servers, for example, by means of NTP (http://www.ntp.org). The reason for this recommendation is that some processes running in virtual machines and Containers might rely on the system time being monotonic and thus might behave unpredictably if they see an abrupt step forward or backward in the time once they find themselves on the new server with different system clock parameters.
- Your network must support data transfer rates of at least 1 Gb/s.
- The source and destination servers must belong to the same subnetwork.
- The CPUs on the source and destination servers must be manufactured by the same vendor, and the CPU capabilities on the destination server must be the same or exceed those on the source server.
- Virtual machine and Container disks can be located on local disks, shared NFS and GFS2 storages, and ISCSI raw devices.
Migration process overview
The process of migrating virtual machines and Containers using the zero-downtime migration technology includes the following main steps:
- Once you start the migration, Virtuozzo checks whether the destination server meets all migration requirements and the virtual machine or Container can be migrated to this server.
- All virtual memory and disks of the virtual machine or Container are migrated to the destination server.
- The virtual machine or Container on the source server is suspended.
- The changed memory pages and virtual disk blocks, if any, are migrated to the destination server.
- The virtual machine or Container is resumed on the destination server.
The virtual machine or Container continues running during steps 1 and 2 and is not available to the end user during steps 3-5. But since the amount of memory pages and virtual disk blocks changed during step 2 is small, the service outage time for the end user is almost imperceptible.
Migrating virtual machines and Containers
Depending on whether you are migrating a virtual machine or Container, the command-line options you pass to the pmigrate slightly differ. For example, you can migrate Container 101 from the local server to the destination server destserver.com by executing the following command on the local server:
# pmigrate c 101 c --online destserver.com
Enter password:
Connection to destination server (192.168.1.57) is successfully established
...
Successfully completed
At the same time, to migrate the MyVM virtual machine to the same destination server destserver.com , you can run this command on the local server:
# pmigrate v MyVM v destserver.com
Migrate the VM MyVM to test.com
...
The VM has been successfully migrated.
As you can see, to migrate a virtual machine, you skip the --online option and use the v option to specify that you are migrating a virtual machine.
Notes:
1. For more information on options you can use with the pmigrate utility, see the Virtuozzo 6 Command Line Reference Guide.
2. After migration, the moved virtual machine may not be accessible over the network for several minutes due to latencies in the network equipment reconfiguration (for example, when switches need to update their dynamic VLAN membership tables).
|