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 the Virtuozzo Hybrid Server 7 User’s Guide).
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 be running.
- The VM must not have snapshots.
- Windows VMs must have Virtuozzo guest tools and Linux VMs must have kernel headers installed.
- 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 1 Gbps.
- 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 virtual machines with open
prlctl entersessions and containers with IPSec connections.
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.
- Network settings configured from inside Windows VMs currently cannot be preserved during migration of such VMs.
- Containers with templates unsupported in Virtuozzo Hybrid Server 7 (i.e. not listed here) cannot be reinstalled with the
prlctl reinstallcommand after migration to Virtuozzo Hybrid Server 7.