15. Virtualization

15.1. Kernel-based Virtual Machine

Red Hat Enterprise Linux 6 includes full support for the Kernel-based Virtual Machine (KVM) hypervisor on the AMD64 and Intel 64 architectures. KVM is integrated into the Linux kernel, providing a virtualization platform that takes advantage of the stability, features, and hardware support inherent in Red Hat Enterprise Linux.

15.1.1. Memory enhancements

  • Transparent Hugepages increase the memory page size from 4 kilobytes to 2 megabytes. Transparent Hugepages provide significant performance advantages on systems with highly contended resources and large memory workloads. Additionally, Red Hat Enterprise Linux 6 provides support for utilizing Transparent Hugepages with KSM.
  • Extended Page Table age bits enables a host to make smarter choices for swapping memory under memory pressure and allows swapping of Transparent Hugepages by breaking the extended pages into smaller pages.

15.1.2. Virtualized CPU features

  • Red Hat Enterprise Linux 6 supports up to 64 virtualized CPUs for a single virtualized guest.
  • CPU extensions present on the host processor can now be utilized by virtualized guests. Support for these instruction sets allow virtualized guests to take advantage of modern processor instruction sets and hardware features.
  • The new x2apic virtual Advanced Programmable Interrupt Controller (APIC) improves virtualized x86_64 guest performance by allowing direct guest APIC access and removing the overhead of emulated access.
  • New user space notifiers allow the caching of CPU registers, avoiding the computationally expensive actions of preserving register states of unused components during context switches.
  • Read copy update (RCU) kernel locking is now uses enhanced symmetric multiprocessing support. RCU kernel locking provides greater performance for networking functions and multi-processing systems.

15.1.3. Storage

  • The QEMU emulated block driver features support for fully asynchronous I/O, preadv and pwritev functions. These functions increase performance for storage devices using the QEMU emulated block driver.
  • The QEMU Monitor Protocol (QMP) allows applications to communicate with the QEMU Monitor correctly. QEMU provides a text-based format that can be easily parsed and support for asynchronous messages and capabilities negotiation.
  • Indirect ring entries (spin locks) for the para-virtualized (virtio) driver improve block I/O performance and allows more concurrent I/O operations.
  • Virtualized storage devices can now be added and removed (hot plugged) from guests during runtime.
  • Support for block alignment storage topology awareness. Underlying storage hardware features and physical storage sector sizes (for example, 4KB sectors) are presented to guests. This feature requires compatible storage device information and commands. Guest topology awareness allows virtualized guests to optimize file system layouts and improved performance of applications using I/O optimizations.
  • Performance enhancements for the qcow2 virtualized image format.

15.1.4. Networking

  • The vhost-net feature moves various network functions from the QEMU user space into the kernel. vhost-net uses fewer context switches and vmexit calls. These enhancements improve performance of SR-IOV devices, directly assigned network device and other network devices.
  • MSI-X support which increases the number of interrupts available to network devices. MSI-X support increases the performance of compatible hardware.
  • Virtualized network devices can now be hot plugged and hot removed from running guests. Network boot using gpxe fora more advanced PXE network booting.

15.1.5. Kernel SamePage Merging

The KVM hypervisor in Red Hat Enterprise Linux 6 features Kernel SamePage Merging (KSM), allowing KVM guests to share identical memory pages. Page sharing reduces memory duplication and makes running more similar guest operating systems on a given host practical.

15.1.6. PCI passthrough

PCI passthrough (direct assignment) devices can now be hot plugged and hot removed from running guests.

15.1.7. SR-IOV

SR-IOV now supports a raw socket mode. Previously networking interrupts were handled through software bridging in tap mode. SR-IOV supports assigning logical network interfaces to guests.
SR-IOV, previously, did not support migration. The vhost-net abstraction provides SR-IOV with transparent assignment and allows migration with non-identical systems.

15.1.8. virtio-serial

The para-virtualized serial device (virtio-serial) provides a simple communication interface between the host's user space and the guest's user space. virtio-serial can be used for communication where networking is not be available or unusable.

15.1.9. sVirt

sVirt is a new feature included with Red Hat Enterprise Linux 6.0 that integrates SELinux and virtualization. sVirt applies Mandatory Access Control (MAC) to improve security when using virtualized guests. sVirt improves security and hardens the system against bugs in the hypervisor that might be used as an attack vector for the host or to another virtualized guest.

15.1.10. Migration

  • Guest ABI stability provides enhanced migration support. Guests PCI device numbers are preserved during migration and identical PCI device positions are presented after migrating the guest.
  • Migration now accounts for CPU models. CPU models allow guests to take advantage of new processor instruction sets. Guests can be migrated to hosts with a compatible CPU model.
  • The vhost-net feature allows guests using SR-IOV to migrate to non-identical host configurations that also use SR-IOV devices.
  • Enhancements to the migration protocol.

15.1.11. Guest device ABI stability

As part of the new qdev device model, the guest ABI is now stable and will be kept consistent for newer releases. The devices and device arrangements on guests will remain consistent in future updates. This feature resolves issues with some operating system activation processes.

Note

Red Hat Enterprise Linux 6 includes components providing functionality for the Simple Protocol for Independent Computing Environments (SPICE) remote display protocol. These components are only supported for use in conjunction with Red Hat Enterprise Virtualization products and are not guaranteed to have a stable ABI. The components will be updated to synchronize with functional requirements of Red Hat Enterprise Virtualization products. Migration to future releases may require manual operations on a per-system basis.

15.2. Xen

Red Hat Enterprise Linux 6 is supported as a Xen guest for the x86 and the AMD 64 and Intel 64 architectures. The para-virtualized operations (pv-ops) are included in the Red Hat Enterprise Linux 6 kernel. The default Red Hat Enterprise Linux 6 kernel can be used as a Xen para-virtualized guest and as a Xen full virtualized guest on Red Hat Enterprise Linux 5 hosts. Red Hat Enterprise Linux 6 includes the para-virtualized drivers for fully virtualized Xen guest installations.
Red Hat Enterprise Linux 6 is not supported as a Xen host.

Note

The Virtualization Guide details the process to install, configure and manage the virtualization technologies in Red Hat Enterprise Linux 6.

15.3. virt-v2v

Red Hat Enterprise Linux 6 features the new virt-v2v tool, enabling system administrators to convert and import virtual machines created on other systems such as Xen and VMware ESX. virt-v2v provides a migration path for Xen guests running on a Red Hat Enterprise Linux 5 hypervisor.