This glossary is intended to define the terms used in this Installation Guide.
The term bare-metal refers to the underlying physical architecture of a computer. Running an operating system on bare-metal is another way of referring to running an unmodified version of the operating system on the physical hardware. An example of operating system running on bare metal is a normally installed operating system.
- Full virtualization
KVM uses full, hardware-assisted virtualization. Full virtualization uses hardware features of the processor to provide total abstraction of the underlying physical system (Bare-metal
) and creates a new virtual machine in which the guest operating systems can run. No modifications are needed in the guest operating system. The guest operating system and any applications on the guest are not aware of the virtualized environment and run normally. Para-virtualization requires a modified version of the Linux operating system.
- Fully virtualized
- Guest system
Also known as guests, virtual machines, virtual servers or domains.
- Hardware Virtual Machine
The host operating system runs virtualized guests.
The hypervisor is the software layer that abstracts the hardware from the operating system permitting multiple operating systems to run on the same hardware. The hypervisor runs on a host operating system allowing other virtualized operating systems to run on the host's hardware.
Short for input/output (pronounced "eye-oh"). The term I/O describes any program, operation or device that transfers data to or from a computer and to or from a peripheral device. Every transfer is an output from one device and an input into another. Devices such as keyboards and mouses are input-only devices while devices such as printers are output-only. A writable CD-ROM is both an input and an output device.
- Kernel SamePage Merging
Kernel SamePage Merging (KSM) is used by the KVM hypervisor to allow KVM guests to share identical memory pages. The pages shared are usually common libraries or other identical, high-use data. KSM allows for greater guest density of identical or similar guest operating systems by avoiding memory duplication.
For information on using KSM with Red Hat Enterprise Linux refer to Chapter 21, KSM
- Kernel-based Virtual Machine
KVM (Kernel-based Virtual Machine) is a Full virtualization
solution for Linux on AMD64 and Intel 64 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. The KVM hypervisor in Red Hat Enterprise Linux is managed with the libvirt API and tools built for libvirt,
KVM is a set of Linux kernel modules which manage devices, memory and management APIs for the Hypervisor module itself. Virtualized guests are run as Linux processes and threads which are controlled by these modules.
Red Hat Enterprise Linux KVM hypervisors can be managed by the Red Hat Enterprise Virtualization Manager as an alternative to libvirt.
A Logical Unit Number (LUN) is a number assigned to a logical unit (a SCSI protocol entity).
- MAC Addresses
The Media Access Control Address is the hardware address for a Network Interface Controller. In the context of virtualization MAC addresses must be generated for virtual network interfaces with each MAC on your local domain being unique.
Migration is the term for the process of moving a virtualized guest from one host to another. Migration can be conducted offline (where the guest is suspended and then moved) or live (where a guest is moved without suspending).
An offline migration suspends the guest then moves an image of the guest's memory to the destination host.
Live migration is the process of migrating a running guest from one physical host to another physical host.
Para-virtualization is only available in Red Hat Enterprise Linux 5. Para-virtualization uses software mechanisms to share devices and system resources with specially-designed kernels or newer kernels with the PV-opts features.
- Para-virtualized drivers
Para-virtualized drivers are device drivers that operate on fully virtualized Linux guests. These drivers greatly increase performance of network and block device I/O for fully virtualized guests.
- PCI passthrough
The KVM hypervisor supports attaching PCI devices on the host system to virtualized guests. PCI passthrough allows guests to have exclusive access to PCI devices for a range of tasks. PCI passthrough allows PCI devices to appear and behave as if they were physically attached to the guest operating system.
- Physical Functions
Physical Functions (PFs) are full PCIe devices that include the SR-IOV capabilities. Physical Functions are discovered, managed, and configured as normal PCI devices. Physical Functions configure and manage the SR-IOV functionality by assigning Virtual Functions
- Security Enhanced Linux
Short for Security Enhanced Linux, SELinux uses Linux Security Modules (LSM) in the Linux kernel to provide a range of minimum privilege required security policies.
- Single Root I/O Virtualization
SR-IOV is a standard for a type of PCI passthrough which natively shares a single device to multiple guests.
SR-IOV enables a Single Root Function (for example, a single Ethernet port), to appear as multiple, separate, physical devices. A physical device with SR-IOV capabilities can be configured to appear in the PCI configuration space as multiple functions, each device has its own configuration space complete with Base Address Registers (BARs).
SR-IOV uses two new PCI functions:
- Universally Unique Identifier
A Universally Unique Identifier (UUID) is a standardized numbering method for devices, systems and certain software objects in distributed computing environments. Types of UUIDs in virtualization include:
ext3 file system identifiers, RAID device identifiers, iSCSI and LUN device identifiers, MAC addresses and virtual machine identifiers.
- Virtual Functions
Virtual Functions (VFs) are simple PCIe functions that only process I/O. Each Virtual Function is derived from a Physical Function
. The number of Virtual Functions a device may have is limited by the device hardware. A single Ethernet port, the Physical Device, may map to many Virtual Functions that can be shared to virtualized guests.
- Virtual machines
A virtual machine is a software implementation of a physical machine or programming language (for example the Java Runtime Environment or LISP). Virtual machines in the context of virtualization are operating systems running on virtualized hardware.
Virtualization is a broad computing term for running software, usually operating systems, concurrently and isolated from other programs on one system. Most existing implementations of virtualization use a hypervisor, a software layer that controls hardware and provides guest operating systems with access to underlying hardware. The hypervisor allows multiple operating systems to run on the same physical system by giving the guest operating system virtualized hardware. There are various methods for virtualizing operating systems:
Hardware-assisted virtualization is the technique used for full virtualization with KVM (definition: Full virtualization
Para-virtualization is a technique used by Xen to run Linux guests (definition: Para-virtualization
Software virtualization or emulation. Software virtualization uses binary translation and other emulation techniques to run unmodified operating systems. Software virtualization is significantly slower than hardware-assisted virtualization or para-virtualization. Software virtualization, in the form of QEMU or BORCH, works in Red Hat Enterprise Linux, it's just slow.
Red Hat Enterprise Linux supports hardware-assisted, full virtualization with the KVM hypervisor.
- Virtualized CPU
A system has a number of virtual CPUs (VCPUs) relative to the number of physical processor cores. The number of virtual CPUs is finite and represents the total number of virtual CPUs that can be assigned to guest virtual machines.
Xen is not available as a hypervisor type for Red Hat Enterprise Linux 6 and newer. Xen is only supported for Red Hat Enterprise Linux 5 and newer.
Red Hat Enterprise Linux 5 supports the Xen hypervisor and the KVM hypervisor (refer to Kernel-based Virtual Machine
). Both hypervisors have different architectures and development approaches. The Xen hypervisor runs underneath a Red Hat Enterprise Linux operating system which acts as a host managing system resources and virtualization APIs.
Red Hat Enterprise Linux 6 is supported as a para-virtualized and fully-virtualized guest of Red Hat Enterprise Linux 5.4 (and newer) running the Xen hypervisor. Red Hat Enterprise Linux 6 is also supported as a guest of the Red Hat Enterprise Linux 5.4 (and newer) running the KVM hypervisor.