Chapter 16. Virtualization

Hyper-V guests work properly with VHDX files

Previously, when running Red Hat Enterprise Linux as a guest on a Microsoft Hyper-V hypervisor with a large dynamic Hyper-V virtual hard disk (VHDX) attached and using the ext3 file system, a call trace in some cases appeared and made it impossible to shut down the guest. With this update, Red Hat Enterprise Linux guests on Windows Hyper-V handle VHDX files correctly, and the described problem no longer occurs. (BZ#982542)

The hv_netvsc module works correctly with Hyper-V

Due to a race condition, the hv_netvsc module previously in some cases terminated unexpectedly when it was unloading. This caused a kernel crash on Red Hat Enterprise Linux guests running on the Microsoft Hyper-V hypervisor. The race condition has been removed, which prevents the described kernel crashes from occurring. (BZ#1118163)

Guests shut down correctly when processing interrupts

Prior to this update, if processes that generate interrupts were active during the guest shut down sequence, the virtio driver in some cases did not correctly clear the interrupts. As a consequence, the guest kernel became unresponsive, which prevented the shut down from completing. With this update, the virtio driver processes interrupts more effectively, and guests now shut down reliably in the described scenario. (BZ#1199155)

Consistent save times for taking guest snapshots

Prior to this update, saving a KVM guest snapshot involved overwriting the state of the virtual machine using copy-on-write operations. As a consequence, taking every snapshot after the first one took an excessive amount of time. Now, the guest state written in the active layer is discarded after the snapshot is taken, which avoids the need for copy-on-write operations. As a result, saving subsequent snapshots is now as quick as saving the first one. (BZ#1219908)

The at program works correctly with virt-sysprep

When using the virt-sysprep utility to create a Red Hat Enterprise Linux guest template, the at program in the resulting guest could not be used. This update ensures that virt-sysprep does not delete /var/spool/at/.SEQ files in these guests, and at now works as expected. (BZ#1229305)

Failed logical volume creation no longer deletes existing volumes

Previously, when attempting to create a logical volume in a logical-volume pool that already contained a logical volume with the specified name, libvirt in some cases deleted the existing logical volume. This update adds more checks to determine the cause of failure when creating logical volumes, which prevents libvirt from incorrectly removing existing logical volumes in the described circumstances. (BZ#1232170)

Domain information from LIBVIRT-MIB.txt is loaded correctly

Previously, the LIBVIRT-MIB.txt file in the libvirt-snmp package did not fully comply with the formatting rules of the Simple Network Management Protocol (SNMP). As a consequence, SNMP software could not load the file and thus failed to read the domain information it provides, such as exposed variables, their ranges, or certain named values. This update ensures that LIBVIRT-MIB.txt is fully compliant with SNMP formatting rules, and the file is now loaded as expected. (BZ#1242320)

System log is no longer flooded with error messages about missing metadata

Prior to this update, the libvirt library was logging the VIR_ERR_NO_DOMAIN_METADATA error code with the error priority, rather than the 'debug' severity usual for this kind of message. As a consequence, if the metadata APIs were used heavily while metadata entries were missing, the system log was flooded with irrelevant messages. With this update, the severity of VIR_ERR_NO_DOMAIN_METADATA has been lowered to debug, thus fixing this problem. (BZ#1260864)

Guests with strict NUMA pinning boot more reliably

When starting a virtual machine configured with strict Non-Uniform Memory Access (NUMA) pinning, the KVM module could not allocate memory from the Direct Memory Access (DMA) zones if the NUMA nodes were not included in the configured limits set by the libvirt daemon. This led to a Quick Emulator (QEMU) process failure, which in turn prevented the guest from booting. With this update, the cgroup limits are applied after the KVM allocates the memory, and the QEMU process, as well as the guest, now starts as expected. (BZ#1263263)

Kernel panics caused by struct kvm handling are fixed

When creating a KVM guest, the struct kvm data structure corresponding to the virtual machine was in some cases not handled properly. This caused corruption in the kernel memory and triggered a kernel panic on the host. Error conditions during guest creation are now treated properly, which prevents the described kernel panic from occurring. (BZ#1270791)

Limited KSM deduplication factor

Previously, the kernel same-page merging (KSM) deduplication factor was not explicitly limited, which caused Red Hat Enterprise Linux hosts to have performance problems or become unresponsive in case of high workloads. This update limits the KSM deduplication factor, and thus eliminates the described problems with virtual memory operations related to KSM pages. (BZ#1262294)

Hyper-V daemon services are no longer unavailable on slowly-booting Red Hat Enterprise Linux 6 guests

Prior to this update, if a Red Hat Enterprise Linux 6 guest running on a Hyper-V hypervisor took a long time to boot, the hypervkvpd, hypervvssd, and hypervfcopy Hyper-V daemons in some cases failed to start due to a negotiation timeout. As a consequence, the guest could not use the services provided by these daemons, including online backup, file copy, and network settings. This update ensures that the Hyper-V daemons start properly in the described scenario, which makes the affected services available as expected. (BZ#1216950)

Starting guests when using macvtap and Cisco VM-FEX no longer fails

Prior to this update, on hosts using macvtap connections to Cisco Virtual Machine Fabric Extender (VM-FEX) network cards, starting a virtual machine failed with the following error message:
internal error missing IFLA_VF_INFO in netlink response
This bug has been fixed, and starting guests on the described hosts now works as expected. (BZ#1251532)

Faster startup for virt-manager on hosts with many network interfaces

On hosts with very large numbers of bridged, VLAN, or bond interfaces, starting the virt-manager utility previously took a very long time. This update optimizes the netcf query that caused this delay, which significantly improves the start-up speed of virt-manager on the described systems. (BZ#1235959)