- What is KVM?
- How does KVM work?
- Implementing KVM
- Migrating to a KVM-based virtual infrastructure
- KVM features
- Security
- Storage
- Hardware support
- Memory management
- Live migration
- Performance and scalability
- Scheduling and resource control
- Lower latency and higher prioritization
- Managing KVM
- KVM and Red Hat
- Red Hat Virtualization: Complete open source server virtualization
- Features and benefits
- Red Hat Virtualization at a glance:
What is KVM?
Kernel-based Virtual Machine (KVM) is an open source virtualization technology built into Linux®. Specifically, KVM lets you turn Linux into a hypervisor that allows a host machine to run multiple, isolated virtual environments called guests or virtual machines (VMs).
KVM is part of Linux. If you’ve got Linux 2.6.20 or newer, you’ve got KVM. KVM was first announced in 2006 and merged into the mainline Linux kernel version a year later. Because KVM is part of existing Linux code, it immediately benefits from every new Linux feature, fix, and advancement without additional engineering.
How does KVM work?
KVM converts Linux into a type-1 (bare-metal) hypervisor. All hypervisors need some operating system-level components—such as a memory manager, process scheduler, input/output (I/O) stack, device drivers, security manager, a network stack, and more—to run VMs. KVM has all these components because it’s part of the Linux kernel. Every VM is implemented as a regular Linux process, scheduled by the standard Linux scheduler, with dedicated virtual hardware like a network card, graphics adapter, CPU(s), memory, and disks.
Implementing KVM
Long story short, you have to run a version of Linux that was released after 2007 and it needs to be installed on x86 hardware that supports virtualization capabilities. If both of those boxes are checked, then all you have to do is load 2 existing modules (a host kernel module and a processor-specific module), an emulator, and any drivers that will help you run additional systems.
But implementing KVM on a supported Linux distribution—like Red Hat Enterprise Linux—expands KVM’s capabilities, letting you swap resources among guests, share common libraries, optimize system performance, and a lot more.
Migrating to a KVM-based virtual infrastructure
Building a virtual infrastructure on a platform you’re contractually tied to may limit your access to the source code. That means your IT developments are probably going to be more workarounds than innovations, and the next contract could keep you from investing in clouds, containers, and automation. Migrating to a KVM-based virtualization platform means being able to inspect, modify, and enhance the source code behind your hypervisor. And there’s no enterprise-license agreement because there’s no source code to protect. It’s yours.
KVM features
KVM is part of Linux. Linux is part of KVM. Everything Linux has, KVM has too. But there are specific features that make KVM an enterprise’s preferred hypervisor.
Security
KVM uses a combination of security-enhanced Linux (SELinux) and secure virtualization (sVirt) for enhanced VM security and isolation. SELinux establishes security boundaries around VMs. sVirt extends SELinux’s capabilities, allowing Mandatory Access Control (MAC) security to be applied to guest VMs and preventing manual labeling errors.
Storage
KVM is able to use any storage supported by Linux, including some local disks and network-attached storage (NAS). Multipath I/O may be used to improve storage and provide redundancy. KVM also supports shared file systems so VM images may be shared by multiple hosts. Disk images support thin provisioning, allocating storage on demand rather than all up front.
Hardware support
KVM can use a wide variety of certified Linux-supported hardware platforms. Because hardware vendors regularly contribute to kernel development, the latest hardware features are often rapidly adopted in the Linux kernel.
Memory management
KVM inherits the memory management features of Linux, including non-uniform memory access and kernel same-page merging. The memory of a VM can be swapped, backed by large volumes for better performance, and shared or backed by a disk file.
Live migration
KVM supports live migration, which is the ability to move a running VM between physical hosts with no service interruption. The VM remains powered on, network connections remain active, and applications continue to run while the VM is relocated. KVM also saves a VM’s current state so it can be stored and resumed later.
Performance and scalability
KVM inherits the performance of Linux, scaling to match demand load if the number of guest machines and requests increases. KVM allows the most demanding application workloads to be virtualized and is the basis for many enterprise virtualization setups, such as datacenters and private clouds (via OpenStack®).
Scheduling and resource control
In the KVM model, a VM is a Linux process, scheduled and managed by the kernel. The Linux scheduler allows fine-grained control of the resources allocated to a Linux process and guarantees a quality of service for a particular process. In KVM, this includes the completely fair scheduler, control groups, network name spaces, and real-time extensions.
Lower latency and higher prioritization
The Linux kernel features real-time extensions that allow VM-based apps to run at lower latency with better prioritization (compared to bare metal). The kernel also divides processes that require long computing times into smaller components, which are then scheduled and processed accordingly.
Managing KVM
It’s possible to manually manage a handful of VM fired up on a single workstation without a management tool. Large enterprises use virtualization management software that interfaces with virtual environments and the underlying physical hardware to simplify resource administration, enhance data analyses, and streamline operations. Red Hat created Red Hat Virtualization for exactly this purpose.
KVM and Red Hat
We believe in KVM so much that it’s the sole hypervisor for all of our virtualization products, and we’re continually improving the kernel code with contributions to the KVM community. But since KVM is part of Linux, it’s already included in Red Hat Enterprise Linux.
Red Hat Virtualization: Complete open source server virtualization
Red Hat® Virtualization is a mature, reliable platform for traditional virtualization workloads built with the foundation to modernize your virtualization, your way. Backed by the powerful Red Hat Enterprise Linux®, Red Hat Virtualization provides ease of use, agility, and more security for virtualized, resource-intensive workloads.
With Red Hat Virtualization, you can:
- Virtualize any Linux or Windows application.
- Standardize compute, storage, and networking resources.
- Improve workload performance, efficiency, and application density.
- Deploy an agile environment to bring products to market faster.
- Build a strategy to containerize your virtual machines with a bridge to Red Hat OpenShift® and OpenShift Virtualization.
Features and benefits
Red Hat Virtualization can be deployed using your existing infrastructure and easily integrates with other Red Hat products to bring modern applications to market faster.
Red Hat Virtualization at a glance:
- An enterprise virtualization platform for business-critical, modernized workloads built on Red Hat nterprise Linux and fully supported by Red Hat
- Integration with Red Hat OpenShift allows you to manage VMs running across both platforms
- Built from open standards and application programming interfaces (APIs) with an active community of contributors
- Red Hat Migration and Modernization Solutions facilitate workload migration to Red Hat Virtualization
- Pairs with a complete portfolio of training and consulting services
- Red Hat Virtualization Manager provides a centralized management system with a search-driven graphical user interface.
- The system dashboard includes a global-use overview of CPUs, memory, storage host resources.
- Manage and control virtual machines running in Red Hat OpenShift Container Platform directly from Red Hat Virtualization.
- Red Hat Virtualization Manager, deployed and managed as an appliance, provides built-in high availability for the management plane.
- Secure virtualization (sVirt) and Security-Enhanced Linux (SELinux) technologies, both inherited from Red Hat Enterprise Linux, are incorporated to help secure and harden the hypervisor against attacks aimed at the host or virtual machines (VMs).
- VMs can be configured for high availability in case of host failure.
- Hosts can be configured for power- and storage-based fencing for high availability.
- Red Hat Virtualization fully supports third-party tools through a REST API that backs up, restores, and replicates VMs and infrastructure data.
- Integration with OpenShift Virtualization modernizes virtualized workloads to containers while maintaining visibility of VMs running in both Red Hat Virtualization and Red Hat OpenShift.
- Red Hat Virtualization integrates with OpenStack® to ease traditional workload migration to private clouds or to design applications that span virtual and private cloud environments.
- Integration with Red Hat Ansible® Automation Platform streamlines administration and operations by configuring infrastructure and resources, such as hosts, VMs, networks, and storage.
- Red Hat Virtualization natively supports Red Hat Gluster® Storage, and Gluster storage-node management is available through the Red Hat Virtualization administrator portal.
- Host Red Hat OpenShift Container Platform or the Red Hat OpenStack Platform control plane on Red Hat Virtualization.
- A RESTful API automates management and programming configurations.
- Simple Network Management Protocol (SNMP) allows Red Hat Virtualization Manager to integrate with third-party monitoring systems.
- An advanced service-level agreement manager allows administrators to define host and VM policies for underlying infrastructure resources, which can also be used to guarantee service quality.
- Additional memory and CPU resources can be added without disrupting applications.
- A resource optimizer automatically balances existing VMs within a cluster.
- Full support is provided for Red Hat Enterprise Linux 5, 6 , 7, and 8.
- Support is available for Windows Server 2008, 2008 R2, 2012 (32- and 64-bit), and 2016, as well as desktop systems Windows 7, 8, 8.1, and 10 (32- and 64-bit).
- Vendor support is provided for SUSE Linux Enterprise Server 10, 11, and 12.
- Determine migration effort and risk for modernizing VM workloads with Red Hat Migration and Modernization Solutions and consolidate workloads where they work best for your business—on VMs or containers.
- Red Hat Virtualization Manager—or a command-line tool—can help migrate workloads from VMware vCenter to Red Hat Virtualization.
Icon-Red_Hat-Media_and_documents-Quotemark_Open-B-Red-RGB
We see a clear ROI (return on investment) from our use of Red Hat Virtualization, not only from the hardware savings, but also from personnel efficiencies due to how fast we can spin up clusters and deploy virtual machines. And our software licensing costs are dramatically less with Red Hat Virtualization.
Lead Engineer
UNIX/Linux Engineering Group, Qualcomm
Icon-Red_Hat-Media_and_documents-Quotemark_Open-B-Red-RGB
As an operation that functions 365 days a year with a plane always in the sky, high availability is key for the safety of our operation and ultimately our customers. Red Hat Virtualization now enables us to have a single-pane view to what is going on in the whole environment, which we didn’t have before.
Richard Dawson
UNIX and Linux Infrastructure Consultant, British Airways