Indeed, Red Hat’s move from shouldn't be a problem for organizations that already run Xen virtual machines (VMs). The vendor still supports Red Hat Enterprise Linux (RHEL) 5, which uses Xen. But for users who want to switch to KVM, RHEL 6 includes tools to make the Xen-to-KVM virtual machine migration process easier.
New virtualization features in RHEL 6
This Xen-to-KVM migration tool, virt-v2v, provides an easy-to-use interface for converting Xen VMs to KVM. The tool moves VM image files from Xen or VMware ESX environments by directly accessing the file system and changing the necessary parameters. (The difference between Xen and KVM image files is fairly small.) Virt-v2v can also add the proper Virtio drivers in the converted VM.
Another tool in RHEL 6, libguestfs, makes it easy to access and modify VM disk image files. The libguestfs is a driver that allows admins to mount the file system directly in a VM to change the guest’s parameters.
RHEL 6 also includes modifications that increase support for virtualization. These options aren’t visible to most users, but they can make a huge difference. The KVM emulation layers are less prominent in RHEL 6, which means that more direct work can be accomplished. The Virtio tools are also improved and can help VMs utilize hardware more efficiently. The new features allow VMs to be serviced faster, and help optimize internal resource usage.
One of the most important additions to RHEL 6 is Pacemaker, a high-availability cluster resource manager. Pacemaker is important for virtualization because it makes virtual machines independent of the underlying hardware. Along with live migration -- a default component in KVM -- high availability helps administrators avoid problems associated with downtime.
The move from Xen to KVM doesn’t change everything, though. Virtual machine management remains basically the same in RHEL 6, because Xen and KVM use the same management interface, which is based on libvirt. So the familiar Virtual Machine Manager and the shell-based virsh tools are still available for RHEL 6.
This was first published in March 2011