Chapter 7. Virtualization
7.1. KVM
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 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”).
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.
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.
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.
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).
KVM can now virtualize Intel's performance monitoring unit (PMU) to allow virtual machines to use performance monitoring.
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.
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.
- 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.
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.
/usr/share/seabios/bios-pm.bin
file for the VM bios instead of the default /usr/share/seabios/bios.bin
file.
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.
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 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
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
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.
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.