Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

Chapter 7. Virtualization

7.1. KVM

KVM scalability enhancements

KVM scalability enhancements in Red Hat Enterprise Linux 6.3 include:

  • The maximum supported virtual guest size increased from 64 to 160 virtual CPUs (vCPUs).
  • The maximum supported memory in a KVM guest increased from 512 GB to 2 TB.
KVM support for new Intel and AMD processors

KVM in Red Hat Enterprise Linux 6.3 includes support for:

  • Intel Core i3, i5, i7 and other processors formerly code named Sandy Bridge,
  • and new AMD family 15h processors (code named Bulldozer).
The new CPU model definitions in KVM provide the necessary new processor enablement to KVM host and the virtualized guests. This ensures that KVM Virtualization derives the performance benefits associated with the new processors, and takes advantage of the new instructions in the latest CPUs.
KVM Steal Time support

Steal time is the time that a virtual CPU waits for a real CPU while the hypervisor is servicing another virtual processor. KVM virtual machines can now calculate and report steal time, visible through tools like top and vmstat, which provides a guest with accurate CPU utilization data.

The KVM steal time feature provides accurate data to a guest regarding CPU utilization and virtual machine performance. Large amounts of steal time indicates that the virtual machine performance is curtailed by the CPU time assigned to the guest by the hypervisor. The user can relieve the performance issues caused by CPU contention by running fewer guests on the host or by increasing the CPU priority of the guest. The KVM steal time value provides users with data to allow them to take the next step in improving their application run-time performance.
Improved access to qcow2 disk images

KVM in Red Hat Enterprise Linux 6.3 improved the access to qcow2 disk images (qcow2 is the default format) by making it more asynchronous, thus avoiding vCPU stalls and enhancing the overall performance during disk I/O.

New qemu-guest-agent subpackage

The qemu-guest-agent package can be installed on virtual guest systems to provide the qemu-ga service. The qemu-ga service starts automatically (launching the /usr/bin/qemu-ga daemon) if the /dev/virtio-ports/org.qemu.guest_agent.0 file exists. The daemon can be used to respond to a variety of requests for information and actions on the guests and it is currently encapsulated by libvirt on Red Hat Enterprise Linux 6 systems.

The qemu-ga daemon is used by libvirt to request that the guest VM suspend to disk or suspend to RAM. In addition to suspend operations, the daemon can respond to shutdown commands and file system freeze requests during a virtual machine live snapshot (to get a consistent disk state).
Performance monitoring in KVM guests

KVM can now virtualize Intel's performance monitoring unit (PMU) to allow virtual machines to use performance monitoring.

Note that the -cpu host flag must be set when using this feature.
With this feature, Red Hat virtualization customers running Red Hat Enterprise Linux 6 guests can use the CPU's PMU counter while using the performance tool for profiling. The virtual performance monitoring unit feature allows virtual machine users to identify sources of performance problems in their guests, thereby improving the ability to profile a KVM guest from the host.
This feature is a Technology Preview in Red Hat Enterprise Linux 6.3 and is only supported with guests running Red Hat Enterprise Linux 6.
Dynamic virtual CPU allocation

KVM in Red Hat Enterprise Linux 6.3 now supports dynamic virtual CPU allocation, also called vCPU hot plug, to dynamically manage capacity and react to unexpected load increases on their platforms during off-peak hours.

The virtual CPU hot-plugging feature gives system administrators the ability to dynamically adjust CPU resources in a guest. Because a guest no longer has to be taken offline to adjust the CPU resources, the availability of the guest is increased.
This feature is a Technology Preview in Red Hat Enterprise Linux 6.3. Currently, only the vCPU hot-add functionality works. The vCPU hot unplug feature is not yet implemented.
Virtio-SCSI capabilities

KVM Virtualization's storage stack has been improved with the addition of virtio-SCSI (a storage architecture for KVM based on SCSI) capabilities. Virtio-SCSI provides the ability to connect directly to SCSI LUNs and significantly improves scalability compared to virtio-blk. The advantage of virtio-SCSI is that it is capable of handling hundreds of devices compared to virtio-blk which can only handle 28 devices and exhausts PCI slots.

Virtio-SCSI is now capable of inheriting the feature set of the target device with the ability to:
  • attach a virtual hard drive or CD through the virtio-scsi controller,
  • pass-through a physical SCSI device from the host to the guest via the QEMU scsi-block device,
  • and allow the usage of hundreds of devices per guest; an improvement from the 28-device limit of virtio-blk.
This feature is a Technology Preview in Red Hat Enterprise Linux 6.3.
Support for in-guest S4/S3 states

KVM's power management features have been extended to include native support for S4 (suspend to disk) and S3 (suspend to RAM) states within the virtual machine, speeding up guest restoration from one of these low power states. In earlier implementations guests were saved or restored to or from a disk or memory that was external to the guest, which introduced latency.

Additionally, guests can be awakened from the S3 state with events from a remote keyboard through SPICE.
This feature is a Technology Preview and is disabled by default in Red Hat Enterprise Linux 6.3. To enable it, select the /usr/share/seabios/bios-pm.bin file for the VM bios instead of the default /usr/share/seabios/bios.bin file.
The native, in-guest S4 (suspend to disk) and S3 (suspend to RAM) power management features support the ability to perform suspend to disk and suspend to RAM functions in the guest (as opposed to the host), reducing the time needed to restore a guest by responding to simple keyboard input. This also removes the need to maintain an external memory-state file. This capability is supported on Red Hat Enterprise Linux 6.3 guests and Windows guests running on any hypervisor capable of supporting S3 and S4.
SR-IOV support for NIC

Red Hat Enterprise Linux 6.3 introduces SR-IOV support for network interface controllers. This feature allows a NIC on a KVM host to be shared by KVM guests. For more information on SR-IOV, refer to Chapter 13. SR-IOV in the Virtualization Host Configuration and Guest Installation Guide. For information on SR-IOV on the be2net driver, refer to Chapter 2, Device Drivers.

TSC scaling in KVM for AMD-V

Red Hat Enterprise Linux 6.3 adds support for Time Stamp Counter (TSC) scaling to KVM for AMD Virtualization (AMD-V). This feature is capable of emulating a given TSC frequency on a KVM guest.

Support for perf-kvm

Support for the perf-kvm tool, which provides the ability to monitor guest performance from host, has been added. For more information, refer to the perf-kvm man page.

7.2. SPICE

USB 2.0 redirection support

Spice builds on KVM USB 2.0 host adapter emulation support, and enables remote USB redirection support that allows virtual machines running on servers to use remotely plugged USB devices on the client side.

7.3. libvirt

Controlling up/down link states

libvirt is now capable of controlling the state (up or down) of a link of the guest virtual network interfaces. This allows users to perform testing and simulation as though plugging and unplugging the network cable from the interface. This feature also lets users isolate guests in case any problems arise.

Added support for the latest Intel and AMD processors

In Red Hat Enterprise Linux 6.3, libvirt has been updated to add support for the latest Intel Core i3, i5, i7 and other Intel processors, and family 15h microarchitecture AMD processors. With this update, libvirt now utilizes the new features these processors include.