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, reducing attack surface. 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. Hypervisors share computing, storage, and memory resources.
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.
Choosing a Hypervisor
There are a few things to keep in mind when selecting a hypervisor.
- Needs. Understand the needs of every person who will be impacted. Take into consideration the scalability, usability, and reliability of the solution. Ensure that the product delivers enough performance for your company.
- Cost. Is the hypervisor built into a larger solution or does it come with licensing fees? Make sure you’re aware of exactly what you’re getting and at what cost.
- Ecosystem. Does the solution support the guest operating systems you use? Will the product require specialists to maintain and troubleshoot? Is there ample documentation and support?
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.