5.17. kvm


Kernel-based Virtual Machine (KVM) is a full virtualization solution for Linux on x86 hardware.
KVM is a Linux kernel module built for the standard Red Hat Enterprise Linux kernel. KVM can run multiple unmodified, virtualized guest Windows and Linux operating systems. KVM is a hypervisor which uses the libvirt virtualization tools (virt-manager and virsh).
  • By default, KVM virtual machines created in Red Hat Enterprise Linux 5.5 have a virtual Realtek 8139 (rtl8139) network interface controller (NIC). The rtl8139 virtual NIC works fine in most environments, but may suffer from performance degradation issues on some networks for example, a 10 GigE (10 Gigabit Ethernet) network.
    One workaround for this issue is switch to a different type of virtual NIC, for example, Intel PRO/1000 (e1000) or virtio (a virtual I/O driver for Linux that can talk to the hypervisor).
    To switch to e1000:
    1. Shutdown the guest OS
    2. Edit the guest OS definition with the command-line tool virsh:
      virsh edit GUEST
      
    3. Locate the network interface section and add a model line as shown:
      <interface type='network'>
      	...
      	<model type='e1000' />
      </interface>
      
    4. Save the changes and exit the text editor
    5. Restart the guest OS
    Alternatively, if you're having trouble installing the OS on the virtual machine because of the rtl8139 NIC (for example, because you're installing the OS over the network), you can create a virtual machine from scratch with an e1000 NIC. This method requires you to have at least one virtual machine already created (possibly installed from CD or DVD) to use as a template.
    1. Create an XML template from an existing virtual machine:
      virsh dumpxml GUEST > /tmp/guest.xml
      
    2. Copy and edit the XML file and update the unique fields: virtual machine name, UUID, disk image, MAC address, etc. NOTE: you can delete the UUID and MAC address lines and virsh will generate a UUID and MAC address.
      cp /tmp/guest.xml /tmp/new-guest.xml
      vi /tmp/new-guest.xml
      
    3. Locate the network interface section and add a model line as shown:
      <interface type='network'>
      	...
      	<model type='e1000' />
      </interface>
      
    4. Create the new virtual machine:
      virsh define /tmp/new-guest.xml
      virsh start new-guest
      
  • Currently, KVM cannot disable virtualization extensions on a CPU while it is being taken down. Consequently, suspending a host running KVM-based virtual machines may cause the host to crash. (BZ#509809)
  • The KSM module shipped in this release is a different version from the KSM module found on the latest upstream kernel versions. Newer features, such as exporting statistics on the /sys filesystem, that are implemented upstream are not in the version shipped in this release.
  • The mute button in the audio control panel on a Windows virtual machine does not mute the sound. BZ#482570
  • Hot-unplugging of PCI devices is not supported in this release. This feature will be introduced in a future update. (BZ#510679)
  • When migrating KVM guests between hosts, the NX CPU feature setting on both source and destination must match. Migrating a guest between a host with the NX feature disabled (i.e. disabled in the BIOS settings) and a host with the NX feature enabled may cause the guest to crash. (BZ#516029)
  • the application binary interface (ABI) between the KVM userspace (e.g. qemu-kvm) and the KVM kernel modules may change in future updates. Using the latest upstream qemu-kvm package is unsupported due to ABI differences. (BZ#515549)
  • Devices using the qlge driver cannot be assigned to a KVM guest using KVM's PCI Device Driver assignment. (BZ#507689)
  • the use of the qcow2 disk image format with KVM is considered a Technology Preview. (BZ#517880)
  • 64-bit versions of Windows 7 do not have support for the AC'97 Audio Codec. Consequently, the virtualized sound device Windows 7 kvm guests will not function. (BZ#563122)
  • Hotplugging emulated devices after migration may result in the virtual machine crashing after a reboot or the devices no longer being visible. (BZ#507191)
  • Windows 2003 32-bit guests with more than 4GB of RAM may crash on reboot with the default qemu-kvm CPU settings. To work around this issue, configure a different CPU model on the management interface. (BZ#516762)
  • The KVM modules from the kmod-kvm package do not support kernels prior to version 2.6.18-159.el5. Error messages similar to the following will be returned if attempting to install these modules on older kernels:
    FATAL: Error inserting kvm_intel
    (/lib/modules/2.6.18-155.el5/weak-updates/kmod-kvm/kvm-intel.ko): Unknown
    symbol in module, or unknown parameter (see dmesg)
    
    (BZ#509361)
  • the kvm package has incorrect dependencies related to the libgcrypt package. Consequently, if the libgcrypt package installed on a system is earlier than version 1.4.4, the qemu-kvm process may refuse to start, returning a libgcrypt initialization error message. To work around this issue, update libgcrypt to the version provided by Red Hat Enterprise Linux 5.5. (BZ#503118)
  • The KVM modules available in the kmod-kvm package are loaded automatically at boot time if the kmod-kvm package is installed. To make these KVM modules available after installing the kmod-kvm package the system either needs to be rebooted or the modules can be loaded manually by running the /etc/sysconfig/modules/kvm.modules script. (BZ#501543)
  • Some Linux-based guests that use virtio virtual block devices may abort during installation, returning the error message: unhandled vm exit: 0x31 vcpu_id 0 To work around this issue, consider utilizing a different interface (other than virtio) for the guest virtual disk. (BZ#518081)
  • RHEL5.x virtualization relies on etherboot for remote booting. Etherboot is an implementation of the pxe standard, but lacks some features that are present in the new gpxe boot technology which is not shipped with RHEL. It is possible to use the gpxe roms with RHEL 5.4. As an example, gpxe roms can be used to interpret requests generated by Microsoft RIS or WDS. All components present in RHEL5.4 are capable of booting gpxe roms. The roms can be obtained directly from http://rom-o-matic.net/, or other sources like the Fedora Project. BZ#509208
  • The Preboot eXecution Environment (PXE) boot ROMs included with KVM are from the Etherboot project. Consequently, some bug fixes or features that are present on the newer gPXE project are not available on Etherboot. For example, Virtual Machines (VMs) cannot boot using Microsoft based PXE (ie. Remote Installation Services (RIS) or Windows Deployment Services (WDS)). (BZ#497692)
  • The following QEMU / KVM features are currently disabled and not supported: (BZ#512837)
    • smb user directories
    • scsi emulation
    • "isapc" machine type
    • nested KVM guests
    • usb mass storage device emulation
    • usb wacom tablet emulation
    • usb serial emulation
    • usb network emulation
    • usb bluetooth emulation
    • device emulation for vmware drivers
    • sb16, es1370, and ac97 sound card emulation
    • bluetooth emulation
Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.