Chapter 1 About Oracle Linux KVM

This chapter provides a high-level overview of the Kernel-based Virtual Machine (KVM) feature on Oracle Linux, the user space tools that are available for installing and managing a standalone instance of KVM, and the differences between KVM usage in this mode and usage within a managed environment provided by Oracle Linux Virtualization Manager.

1.1 Description of the Oracle Linux KVM Feature

The KVM feature provides a set of modules that enable you to use the Oracle Linux kernel as a hypervisor. KVM supports both x86_64 and aarch64 processor architectures and is supported on Oracle Linux 7 and Oracle Linux 8 systems using either RHCK or any UEK release since Unbreakable Enterprise Kernel Release 4.

By default, KVM is built into the Unbreakable Enterprise Kernel (UEK) release. KVM features are actively developed and might vary depending on platform and kernel release. If you are using Unbreakable Enterprise Kernel you should refer to the release notes for the kernel release that you are currently using to obtain information about features and any known issues or limitations that may apply. See Unbreakable Enterprise Kernel Documentation for more information.

For enterprise or clustered KVM deployments on Oracle Linux, consider using Oracle Linux Virtualization Manager which is a server virtualization management platform. Through its Administration or VM portals, you can configure, monitor, and manage an Oracle Linux KVM environment, including hosts, virtual machines, storage, networks, and users. Oracle Linux Virtualization Manager also provides a REST API for managing your Oracle Linux KVM infrastructure, allowing you to integrate Oracle Linux Virtualization Manager with other management systems or to automate repetitive tasks with scripts. Find out more at https://docs.oracle.com/en/virtualization/oracle-linux-virtualization-manager/.

1.2 Guest Operating System Requirements

The following guest operating systems can be used when installed within a standalone instance of KVM.

Linux Guest Operating Systems

Table 1.1 

Linux Operating System

32-bit Architecture

64-bit Architecture

Oracle Linux 6

Yes*

Yes

Oracle Linux 7

Not available

Yes

Oracle Linux 8

Not available

Yes

Red Hat Enterprise Linux 6

Yes*

Yes

Red Hat Enterprise Linux 7

Not available

Yes

Red Hat Enterprise Linux 8

Not available

Yes

CentOS 6

Yes*

Yes

CentOS 7

Not available

Yes

CentOS 8

Not available

Yes

SUSE Linux Enterprise Server 12 SP5

Not available

Yes

SUSE Linux Enterprise Server 15 SP1

Not available

Yes

Ubuntu 16.04

Not available

Yes

Ubuntu 18.04

Not available

Yes

Ubuntu 20.04

Not available

Yes


Important

* cloud-init is unavailable for 32-bit architectures

You can download Oracle Linux ISO images and disk images from Oracle Software Delivery Cloud: https://edelivery.oracle.com/linux.

Microsoft Windows Guest Operating Systems

Table 1.2 

Microsoft Windows Operating System

32-bit Architecture

64-bit Architecture

Microsoft Windows Server 2019

Not available

Yes

Microsoft Windows Server 2016

Not available

Yes

Microsoft Windows Server 2012 R2

Not available

Yes

Microsoft Windows Server 2012

Not available

Yes

Microsoft Windows Server 2008 R2 SP1

Not available

Yes

Microsoft Windows Server 2008 SP1

Yes

Yes

Microsoft Windows 10

Yes

Yes

Microsoft Windows 8.1

Yes

Yes

Microsoft Windows 8

Yes

Yes

Microsoft Windows 7 SP1

Yes

Yes


Note

Oracle recommends that you install the Oracle VirtIO Drivers for Microsoft Windows in Windows virtual machines for improved performance for network and block (disk) devices and to resolve common issues. The drivers are paravirtualized drivers for Microsoft Windows guests running on Oracle Linux KVM hypervisors.

For instructions on how to obtain and install the drivers, see Chapter 5, Oracle VirtIO Drivers for Microsoft Windows.

Oracle Solaris Guest Operating System

Oracle Solaris 11.4 can be used as a guest operating system when installed within a standalone instance of KVM.

Oracle Solaris 11.4.33 (Oracle Solaris 11.4 SRU 33) is the minimum version that provides VirtIO driver support.

For best results, follow these recommendations:

  • Use at least a two-core configuration for the Oracle Solaris VM.

  • Use the most current QEMU system type (Custom Emulated Machine = pc-i440fx-4.2) for the Oracle Solaris VM.

You can download Oracle Solaris ISO images and disk images from Oracle Software Delivery Cloud: https://edelivery.oracle.com/.

1.3 System Requirements

Although most systems running Oracle Linux 7 or Oracle Linux 8 are capable of using KVM, there are some general hardware requirements and guidelines that you should follow to run a guest on a host system.

  • Bare metal host.  KVM is supported when it is run on a bare metal host. Nested virtualization scenarios are not supported for KVM.

  • CPU.  The host system CPU must have virtualization features Intel (VT-x) or AMD (AMD-V) enabled. If these are not available, you should check that virtualization is enabled in the system firmware BIOS or UEFI. There should be at least one processor core or thread available for each virtual machine that you intend to run on the system, and at least one processor core or thread should be available for the host operating system.

  • Memory.  A minimum of 2 GB RAM must be available to the host operating system. RAM required for each virtual machine should be physically available for each virtual machine that you configure and run.

  • Storage.  The minimum disk space, usually 6 GB, required for the host operating system should be met. Each virtual machine requires it's own storage for the guest operating system and for swap usage. You should cater to around 6 GB, at minimum, per virtual machine that you intend to create, but you should consider the purpose of the virtual machine and scale accordingly.

1.4 About Virtualization Packages

Oracle Linux provides several virtualization packages that enable you work with KVM. You can install virtualization packages from the Oracle Linux yum server or from the Unbreakable Linux Network (ULN). Packages are provided from various upstream projects, including:

In most cases, the following packages are the minimally required for a virtualization host:

  • libvirt: This package provides an interface to KVM, as well as the libvirtd daemon for managing guest virtual machines.

  • qemu-kvm: This package installs the QEMU emulator that performs hardware virtualization so that guests can access host CPU and other resources.

  • virt-install: This package provides command line utilities for creating and provisioning guest virtual machines.

  • virt-viewer: This package provides a graphical utility that can be loaded into a desktop environment to access the graphical console of a guest virtual machine.

As an alternative to installing virtualization packages individually, you can install virtualization package groups.

The Virtualization Host package group contains the minimum set of packages that are required for a virtualization host. If your Oracle Linux system includes a GUI environment, you can also choose to install the Virtualization Client package group.