What is a Hypervisor?
A beginner's guide to a Hypervisor
A hypervisor is what makes virtualization technology possible. A hypervisor is a layer of software that allows a host machine to host multiple virtual machines. Let's look at the definition of virtualization to get a clearer understanding of what hypervisors do.
A hypervisor manages the partitioning of host hardware into separate virtual machines and runs these virtual machines. Another name for a hypervisor is a virtual machine monitor or VMM.
Most operating systems run directly on hardware. Normally to access another operating system, you would need more hardware to install it on or you would have to partition a hard drive with the new operating system and boot to it. The machine would still only be able to one operating system at a time. Virtualization allows for the creation of virtual resources. Operating systems, servers, and desktops can share the same physical hardware at the same time. Each partition in the hardware can run an isolated virtual machine. What makes this possible is a hypervisor.
The physical hardware used by a hypervisor is called the host machine, and the hypervisor can divide this for use among multiple guest operating systems. A hypervisor will treat the physical resources that it manages as a pool. This pool of CPU, memory, and storage can be allocated to existing guests or new virtual machines as needed.
Types of Hypervisors
Type 1 Hypervisor
Type 1 hypervisors are also known as bare metal hypervisors because they run directly on the hardware of the host machine. This type of hypervisor replaces the standard operating system that would normally be installed on the hardware to allow for the hosting of multiple operating systems.
This type of hypervisor is normally used by enterprise data centers and by cloud computing providers. There are a few reasons why type 1 hypervisors work better than type 2 hypervisors in certain environments:
- They interact directly with the hardware instead of through an extra operating system layer, allowing for more efficient use of resources
- They allow for over-allocation of physical resources, assigning more resources than actually available to guest machines, but only allocating what the guests can actually use
- They allow for easy disaster recovery because if one machine fails, guests can be moved quickly to working hardware
Type 1 hypervisor software includes KVM, Microsoft Hyper-V, and VMware vSphere. All Linux kernels after 2007 include KVM which means modern Linux distributions contain a built-in type 1 hypervisor.
Type 2 Hypervisor
This type of hypervisor runs as an application on top of an operating system and is also called a hosted hypervisor. It abstracts the guest operating systems from the host operating system and allows guests to access resources on the machine through the operating system instead of directly.
Type 2 hypervisors are usually found in environments that need a smaller number of virtual machines because they aren't as efficient as a type 1 hypervisor. Here are some reasons you might use a type 2 hypervisor instead of a type 1 hypervisor:
- They are much easier to set up and manage because they act like any other application on an operating system
- They are compatible with a wide range of hardware because they work through the operating system
- They don't require an admin to manage
Type 2 hypervisor software includes VMware Workstation, Parallels Desktop, and Oracle VirtualBox.
Benefits of Hypervisors
There are quite a few benefits to running a virtual machine from either type of hypervisor:
- Guest virtual machines are isolated by a hypervisor. If one virtual machine gets infected with malware or crashes, it doesn't affect the hardware or any other virtual machine running on the hardware
- New virtual machines can be created a lot more quickly than configuring physical software
- Guest operating systems can run on a variety of hardware because the hypervisor abstracts the guest operating system away from the physical hardware
- Hypervisors allow for more efficient use of hardware resources by allowing multiple virtual machines to run on the same physical machine
- Virtual machines are portable and can be expected to function the same when moved from environment to environment
Hypervisors Versus Containers
Hypervisors are sometimes confused with containers. They perform some similar and different functions.
A hypervisor allows an operating system to run in an isolated environment on top of hardware or inside another operating system.
A container takes this one step further and allows you to run an application in an isolated environment from other applications on an operating system and uses a container engine to host these applications.
A hypervisor is a software that makes virtualization possible. It can do this by replacing an operating system and partitioning the hardware for use by isolated virtual machines or by running inside a host operating system like a standard application. There are many benefits to the use of hypervisors including more efficient use of resources, quicker disaster recovery, and portability.
Discover how Illumio Core prevents the spread of breaches with real-time application dependency mapping and security segmentation.