Chapter 1. KVM Installation and Requirements

Contents

1.1. The kvm package
1.2. Installing KVM
1.3. Hardware Requirements
1.4. Supported Guest Operating Systems

1.1. The kvm package

Originally, the kvm package also provided the KVM Kernel modules. Now, these modules are included with the Kernel and only userspace components are included in the current kvm package.

The kvm package provides qemu-kvm, the program that performs the actual emulation. In addition to the qemu-kvm program, the kvm package also comes with a monitoring utility (kvm-stat), firmware components, key-mapping files, scripts, and Windows drivers (/usr/share/qemu-kvm/win-virtio-drivers.iso).

Using the libvirt-based tools is the recommended way of managing VM Guests. Interoperability with other virtualization tools has been tested and is an essential part of Novell's support stance. All tools are provided by packages carrying the tool's name.

  • libvirt: A toolkit that provides management of VM Guests, virtual networks, and storage. libvirt provides an API, a daemon, and a shell (virsh).

  • Virtual Machine Manager: A graphical management tool for VM Guests.

  • vm-install: Define a VM Guest and install its operating system.

  • virt-viewer: An X viewer client for VM Guests which supports TLS/SSL encryption of x509 certificate authentication and SASL authentication.

Support for creating and manipulating file-based virtual disk images is provided by qemu-img. qemu-img is provided by the package virt-utils.

1.2. Installing KVM

KVM is not installed by default. To install KVM and all virtualization tools, proceed as follows:

  1. Start YaST and choose Virtualization+Installing Hypervisor and Tools.

  2. Select KVM and confirm with Accept.

  3. Confirm the list of packages that is to be installed with Install.

  4. Agree to set up a network bridge by clicking Yes. It is recommended using a bridge on a VM Host Server (virtual machine host), but if you prefer to manually configure a different network setup, you can safely skip this step by clicking No.

  5. After the setup has been finished, you can either reboot the machine as YaST suggests, or manually load the required kernel modules and start libvirtd to avoid a reboot:

    modprobe kvm-intel # on Intel machines only
    modprobe kvm-amd   # on AMD machines only
    rclibvirtd start

1.3. Hardware Requirements

Currently, Novell only supports KVM full virtualization on x86_64 hosts. KVM is designed around hardware virtualization features included in AMD (AMD-V) and Intel (VT-x) CPUs, virtualization features of chipsets, and PCI devices, such as an I/O Memory Mapping Unit (IOMMU) and Single Root I/O Virtualization (SR-IOV)).

You can test whether your CPU supports hardware virtualization with the following command:

egrep '(vmx|svm)' /proc/cpuinfo

If this command returns no output, your processor either does not support hardware virtualization, or this feature has been disabled in the BIOS.

The following websites identify processors which support hardware virtualization:

http://wiki.xensource.com/xenwiki/HVM_Compatible_Processors
http://en.wikipedia.org/wiki/X86_virtualization
[Note]

The KVM Kernel modules will not load if the CPU does not support hardware virtualization or if this feature is not enabled in the BIOS.

The general minimum hardware requirements for the VM Host Server are the same as outlined in Section “Hardware for AMD64 and Intel 64” (Chapter 2, Installation on x86, AMD64, Intel 64, and Itanium, ↑Deployment Guide). However, additional RAM for each virtualized guest is needed—it should at least be the same amount that is needed for a physical installation. It is also strongly recommended to have at least one processor core or hyper-thread for each guest.

1.4. Supported Guest Operating Systems

The following itemization lists guest operating systems tested and their support status offered by Novell. All operating systems listed are supported in both 32 and 64-bit x86 versions. Para-virtualized drivers (PV drivers) are listed where available.

[Important]

Guest images created under a previous SUSE Linux Enterprise version are not supported.

  • virtio-net: Virtual network driver.

  • virtio-blk: Virtual block device driver for para-virtualized block devices.

  • virtio-balloon: Memory driver for dynamic memory allocation. Allows to dynamically change the amount of memory allocated to a guest.

  • kvm-clock: Clock synchronization driver.

Supported KVM Guest Operating Systems on SUSE Linux Enterprise Server

SUSE Linux Enterprise Server 11 SP1

Virtualization Type:

Fully virtualized

PV drivers:

kvm-clock, virtio-net, virtio-blk, virtio-balloon

Support Status:

Fully Supported

SUSE Linux Enterprise Server 10 SP3

Virtualization Type:

Fully virtualized

PV drivers:

kvm-clock, virtio-net, virtio-blk, virtio-balloon

Support Status:

Fully Supported

SUSE Linux Enterprise Server 9 SP4

Virtualization Type:

Fully virtualized

Support Status:

Fully Supported

Note:

  • 32-bit Kernel: specify clock=pmtmr on Linux boot line

  • 64-bit Kernel: specify ignore_lost_ticks on Linux boot line

SUSE Linux Enterprise Desktop 11 SP1

Virtualization Type:

Fully virtualized

PV drivers:

kvm-clock, virtio-net, virtio-blk, virtio-balloon

Support Status:

Tech Preview

RedHat Enterprise Linux 4.x / 5.x

Virtualization Type:

Fully Virtualized

PV drivers:

See http://www.redhat.com/

Support Status:

Best Effort

Note:

  • Refer to the RHEL Virtualization guide for more information.

Windows XP SP3+ / Windows Server 2003 SP2+ / Windows Server 2008+ / Windows Vista SP1+ / Windows 7

Virtualization Type:

Best Effort

PV drivers:

virtio-net, virtio-blk, virtio-balloon

Support Status:

Best Effort

1.4.1. Availability of para-virtualized Drivers

To improve the performance of the guest operating system, para-virtualized drivers are provided when available. Although they are not required, it is strongly recommended to use them. The para-virtualized drivers are available as follows:

SUSE Linux Enterprise Server 11 SP1

included in Kernel

SUSE Linux Enterprise Server 10 SP3

http://drivers.suse.com/novell/Novell-virtio-drivers-2.6.27/sle10-sp3/install-readme.html

SUSE Linux Enterprise Server 9 SP4

not available

RedHat

available in RedHat Enterprise Linux 5.4 and newer

Windows

/usr/share/qemu-kvm/win-virtio-drivers.iso