4. Migrating VMs and Containers from Virtuozzo 6 to Virtuozzo Hybrid Server 7¶
You can migrate older Virtuozzo 6 virtual machines (online) and containers (offline only) to Virtuozzo Hybrid Server 7 servers. During migration, such VMs and containers will be converted in the Virtuozzo Hybrid Server 7 format. In particular, VM devices will be replaced by those supported in Virtuozzo Hybrid Server 7 (for a list of VM hardware supported in Virtuozzo Hybrid Server 7, see Virtual Machine Hardware).
Before migrating Virtuozzo 6 virtual machines, take into account the following requirements and restrictions:
The hardware node must be running the latest version of Virtuozzo 6 (or at least 6.0.11-3466).
The VM must have a guest OS installed.
The VM must not have snapshots.
The VM must be running.
The container must be stopped.
Windows VMs may have Virtuozzo guest tools, and Linux VMs must have installed kernel headers and kernel-devel packages.
The system time must be synchronized on the source and destination servers, for example, by means of NTP (http://www.ntp.org). The reason is that certain processes running in virtual machines may rely on system time being steady and might behave unpredictably when resumed on a destination server where time is different.
The network must support data transfer rates of at least 1Gbps.
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 of the destination server must be the same or exceed those on the source server.
VM disks can be located on local disks, shared NFS and GFS2 storages, and iSCSI raw devices.
Live migration is not supported for both VMs and containers. However, you can use hot VM migration, which involves the following:
Sending disk data in the background while the VM runs and stopping the VM to finish the migration and conversion on the destination server.
Restarting the VM with a guest OS on the destination server.
To migrate a running VM or a stopped or suspended container from Virtuozzo 6 to Virtuozzo Hybrid Server 7, run the following command on the Virtuozzo 6 server.
# prlctl migrate <VM_or_CT_name> root@<VZ7_server_IP_address_or_hostname>
If you need to migrate a container from a Virtuozzo 6 server with local storage to a Virtuozzo Storage cluster based on Virtuozzo Hybrid Server 7, use the following command:
prlctl migrate <CT_name> root@<VZ7_server_IP_address_or_hostname>/<CT_UUID>.
Migration from Virtuozzo 6 to Virtuozzo Hybrid Server 7 implies VM and container downtime that depends on network bandwidth, virtual machine RAM size, and server load. To reduce downtime, it is recommended to at least perform migration when the server load is minimal.
During migration, a virtual machine is copied to the destination server and converted to the Virtuozzo Hybrid Server 7 format. After a successful migration, the original Virtuozzo 6 VM is unregistered and the
.migrated suffix is added to its directory name. If conversion fails, the migrated VM is deleted from the destination server and you can try again. If the second attempt also fails, you need to enable a legacy VM debug mode on the destination Virtuozzo Hybrid Server 7 server (see Enabling Legacy VM Debug Mode), make another migration attempt, send the problem report, and contact the technical support team. With the debug mode enabled, the migrated VM will not be deleted from the destination Virtuozzo Hybrid Server 7 server after conversion failure. It will remain stopped or running with disabled network to let the technical support team study the memory dump and find out the reason for failure.
Note the following:
Network settings configured from inside Windows VMs currently cannot be preserved during migration of such VMs.
VNC is enabled in VMs before migration so that the technical support team can locate the issue if migration fails.
Parallels guest tools, if such exist, are automatically removed from VMs during conversion, and then Virtuozzo guest tools are installed.
Containers with templates unsupported in Virtuozzo Hybrid Server 7 (i.e. not listed in Virtuozzo Hybrid Server Supported Guest Operating Systems Guide) cannot be reinstalled with the
prlctl reinstallcommand after migration to Virtuozzo Hybrid Server 7.