Linux Virtualization Concepts: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 44: Line 44:


''virtio'' is a package
''virtio'' is a package
Also see [[Virtualization_Concepts#Paravirtualization|paravirtualization]] and [[Virtualization_Concepts#Paravirtualized_Devices|paravirtualized devices]].


=Storage and Virtualization=
=Storage and Virtualization=

Revision as of 22:25, 23 June 2017

External

Internal

Generic Virtualization Concepts

Virtualization Concepts

Virtualization Solutions from Red Hat

RHEL 7 includes a hypervisor and a number of virtualization tools, which allows running guest operating systems, so it can function as a virtualization platform. However, the solution supports a limited number of guests per host and a limited range of guest types. Red Hat Virtualization is an enterprise virtualization solution based on the KVM technology, offering more features than Red Hat Enterprise Linux. Red Hat OpenStack Platform support OpenStack clouds.

KVM (Kernel-based Virtual Machine)

KVM is a hypervisor that only runs on systems with hardware supporting virtualization extensions. It is built into the standard RHEL 7 kernel, and it can run Linux, Windows, Solaris and BSD guests. KVM is integrated with the Quick Emulator (QEMU). KVM is managed with the libvirt API. The virtual machines are executed as multi-threaded Linux processes controlled by tools built in top of libvirt. KVM supports overcommitting, kernel same-page merging (KSM), disk I/O throttling, automatic NUMA balancing and virtual CPU hot add.

Xen

Xen can do full virtualization on systems that support virtualization extensions, but can also work as hypervisor on the machines that don't.

Quick Emulator (QEMU)

QEMU Guest Agent

The QEMU guest agent runs on the guest operating system and makes it possible for the host machine to issue commands to the guest operating system.

RHEL 7 Virtualization Administration Guide

libvirt

libvirt is a package providing a hypervisor-independent C-based API that can be used to manage KVM as well as Xen. libvirt's clients are the virtualization management tools. The management tools do not need to be on the same physical machine as the machines on which the hosts are running.

libvirt provides access to management of virtual machines on a host. The API can be used to provision, create, modify, monitor, control, migrate and stop virtual machines. Resources such as CPUs, memory, storage, networking and non-uniform memory access (NUMA) partitions can be listed with libvirt. libvirt delegates management operations to the hypervisor, so only operations supported by the hypervisor can be performed with libvirt.

virsh, the primary command-line virtualization management tool, is baed on libvirt.

virtio

virtio is a package

Also see paravirtualization and paravirtualized devices.

Storage and Virtualization

Networking and Virtualization

Security and Virtualization

KVM virtual machines use SELinux and sVirt to enforce security.

sVirt

sVirt is a technology included in RHEL 7 to integrate SELinux and virtualization. It applies Mandatory Access Control (MAC) to improve security when using virtual machines.

Steal Time

"Steal time" is the percentage of time a virtual CPU waits for real CPU while the hypervisor is servicing another virtual processor.

A high value means the physical CPU is overcommitted and more physical CPU should be allocated to the environment - or the VM should be moved on a different physical server. The steal time is reported by vmstat st.

RHEL 7 Virtualization Resource Limits

RHEL capabilities and limits
RHEL KVM virtualization capabilities and limits