Jump to section

What is a hypervisor?

Copy URL

A hypervisor is software that creates and runs virtual machines (VMs). A hypervisor, sometimes called a virtual machine monitor (VMM), isolates the hypervisor operating system and resources from the virtual machines and enables the creation and management of those VMs.

The physical hardware, when used as a hypervisor, is called the host, while the many VMs that use its resources are guests.

The hypervisor treats resources—like CPU, memory, and storage—as a pool that can be easily reallocated between existing guests or to new virtual machines.

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.

The hypervisor gives each virtual machine the resources that have been allocated and manages the scheduling of VM resources against the physical resources. The physical hardware still does the execution, so CPU is still executing CPU instructions as requested by the VMs, for example, while the hypervisor manages the schedule.

Multiple different operating systems can run alongside each other and share the same virtualized hardware resources with a hypervisor. This is a key benefit of virtualization. Without virtualization, you can only run 1 operating system on the hardware. 

There are many choices for hypervisors from traditional vendors and open source. VMware is a popular choice for virtualization, and offers the ESXi hypervisor and vSphere virtualization platform.

Kernel-based Virtual Machine (KVM) is an open source option and is built into the Linux® kernel. Additional options include Xen, which is open source, and Microsoft Hyper-V. 

There are 2 different types of hypervisors that can be used for virtualization: type 1 and type 2 hypervisors.

Type 1

A type 1 hypervisor, also referred to as a native or bare metal hypervisor, runs directly on the host’s hardware to manage guest operating systems. It takes the place of a host operating system and VM resources are scheduled directly to the hardware by the hypervisor. 

This type of hypervisor is most common in an enterprise data center or other server-based environments.

KVM, Microsoft Hyper-V, and VMware vSphere are examples of a type 1 hypervisor. KVM was merged into the Linux kernel in 2007, so if you’re using a modern version of Linux, you already have access to KVM. 

Type 2

A type 2 hypervisor is also known as a hosted hypervisor, and is run on a conventional operating system as a software layer or application.

It works by abstracting guest operating systems from the host operating system. VM resources are scheduled against a host operating system, which is then executed against the hardware. 

A type 2 hypervisor is better for individual users who want to run multiple operating systems on a personal computer. 

VMware Workstation and Oracle VirtualBox are examples of a type 2 hypervisor. 

At a high level, containers and VMs seem similar. They are both packaged computing environments that combine various IT components and isolate them from the rest of a system. The important distinction is in how they scale and their portability. 

A container is a set of 1 or more processes that are isolated from the rest of the system. The container allows the process to access only the resource requests that have been specified. These resource limits ensure that the container is able to run on a node that has enough capacity.

VMs contain their own operating system (OS), allowing them to perform multiple resource-intensive functions at once. The increased resources available to VMs allow them to abstract, split, duplicate, and emulate entire servers, OSs, desktops, databases, and networks

A hypervisor also allows you to run multiple operating systems in VMs, but containers are only able to run a single type of operating system. A container running on a Linux server, for example, is only able to run a Linux operating system. 

Containers are sometimes thought of as a replacement for hypervisors, though this isn’t exactly accurate since containers and virtualization meet different needs.

A VM provides an environment that is isolated from the rest of a system, so whatever is running inside a VM won’t interfere with anything else running on the host hardware.

Because VMs are isolated, even if a VM is compromised, the entire system shouldn’t be impacted. 

However, if the hypervisor itself is hacked that can cause problems for all of the VMs that the hypervisor manages, leaving the data in each VM vulnerable. 

Security protocols and requirements may vary based on the type of hypervisor.

A hypervisor provides the foundation for your virtualization platform. Red Hat® has supported virtualization development for a long time—improving the KVM hypervisor and contributing to KVM and oVirt since both communities were founded.

Red Hat OpenShift® Virtualization, a feature of Red Hat OpenShift, allows IT teams to bring virtual machines (VM) into containerized workflows. By running a VM within a container, teams can deploy and manage VMs side-by-side with containers, all on a single platform. This allows organizations to benefit from their existing investments in virtualization, while taking advantage of the simplicity and speed of a modern application platform.

Existing virtual machines can be migrated from other platforms onto the OpenShift application platform through the use of free, intuitive migration tools. The resulting VMs will run alongside containers on the same Red Hat OpenShift nodes.

Keep reading

Article

Containers vs VMs

Linux containers and virtual machines (VMs) are packaged computing environments that combine various IT components and isolate them from the rest of the system.

Article

What is a virtual machine (VM)?

A virtual machine (VM) is an isolated computing environment created by abstracting resources from a physical machine.

Article

What is KVM?

Kernel-based virtual machines (KVM) are an open source virtualization technology that turns Linux into a hypervisor.

More about virtualization

Products

Modernize existing applications with Red Hat OpenShift Virtualization, included with Red Hat OpenShift Container Platform.

A platform that virtualizes hardware and organizes those resources into clouds.

Resources

Podcast

Command Line Heroes Season 4, Episode 5:
"Smarter phones: Journey to the palm-sized computer"

Report

Global investment bank leverages OpenShift to manage its global footprint of virtual machines

Training

Free training course

Virtualization and Infrastructure Migration Technical Overview