At its most basic, a hypervisor is the manager of a software-hardware stack. The term hypervisor is derived from the word supervisor.
When people ask, “what is a hypervisor?” most would automatically answer by listing products, such as VMware or Microsoft Hyper-V. These two are the dominant vendors, but there is much more to hypervisors and virtualization than these leading products. In this article, we’ll take an in-depth look at what hypervisors are used for and the different types that are available.
At a deeper level, a hypervisor is a process – consisting of software, hardware or firmware – that runs on physical hosts to create virtual machines (VMs). These VMs act as independent application servers, though in fact, they share the host’s CPU cycles, memory and bandwidth. The hypervisor spins up, provisions and retires them as required. This action of spinning up, provisioning and retiring is the “manager” role mentioned above.
Hypervisors have multiple usage cases, including the virtualization of servers, applications, storage and desktops.
Type 1 vs. Type 2 Hypervisors
There are two primary types of hypervisors that operate in the data center, Type 1 and Type 2. What are they, and which usage cases are they best suited for?
The hypervisor plays a key role in managing the virtualized environment.
Type 1 is a command set that is embedded into a physical layer of the host computer. From there, the hypervisor spins up and spins down virtual machines as needed and dynamically assigns host computer resources to the VMs.
Type 2 hypervisors are more limited in scope, often running from a single computer. This type runs from the host computer software layer, where you can create virtual machines as different processes. Like Type 1, Type 2 can define different operating systems in its VMs.
“Vs.” is a misnomer really, since the two types have different use cases. And they are not always clearly distinct from one and other.
For example, Linux KVM and FreeBSD bhyve (pronounced “beehive”) are general operating systems that run their hypervisors as kernel modules. The software-enabled hypervisors enable the host OS to effectively run as a Type 1 hypervisor that can virtualize different OSes. Yet they are still general-purpose operating systems, which defines them as Type 2.
So, what are the usual differences between the two types, and when would you choose one over the other?
Type 1: Native/Bare-Metal Hypervisors
Type 1 bare-metal hypervisors support highly scalable virtualization because they run directly on the hardware layer, which is often embedded in firmware. Additional terms for Type 1 are native or embedded hypervisors because of their hardware location.
End-users cannot add Type 1 hypervisor software to an existing computer as they can with Type 2. Type 1 hypervisors are embedded into specialized server firmware, and the resulting host enables the virtualized production environment.
Unlike Type 2 that runs from the host OS, Type 1 is independent of the host operating system. The hypervisor directly accesses the host servers that made a way to win on the features and hardware. From there, Type 1 hypervisors issue commands that control host resources and manage the VMs.
The ability to directly assign host resources makes Type 1 hypervisors highly scalable and enables them to create multiple virtualized machines with a choice of virtualized operating systems.
In both cases, Type 1 hypervisors are characterized by efficient resource sharing, dynamic resource usage, low latency, and high bandwidth communication between VMs and host (sometimes VM to VM), and a global view of network management.
Although this article is primarily about Type 1 and Type 2 hypervisors in the data center, embedded hypervisors also exist within a wide variety of large embedded systems. Embedded systems include complex environments like a metro area’s traffic lights or a robotic factory’s controllers.
Type 1 Hypervisor Virtualization
Type 1 hypervisors are the primary mechanism behind virtualized networks. (Type 2 hypervisors offer a different set of services that rarely scale into production environments.)
- Consolidate systems: Because physical hardware can easily support multiple PMs, this reduces the cost of new equipment and server resources. Virtualization’s original driver is server consolidation and is still its largest use case. IT also uses it for desktop virtualization and storage.
- Optimize physical resources: Buying separate servers for different applications is expensive, time-consuming and takes up data center space. Type 1 hypervisors allow IT to better utilize server hardware, thus lowering CapEx, freeing up data center real estate and minimizing energy usage.
- Better resource allocation: Most Type 1 hypervisors allow admins to manually set resource allocation by application priority. Most of them also automate resource allocation as needed, which results in dynamic and efficient resource allocation in the virtualized environment.
- Maintain high availability: These hypervisors do not simply virtualize machines, they also protect high-availability with native durability and redundancy. For example, a failover cluster supports virtualized node environments for continued availability if a node goes down.
- Better test/dev: Type 2 hypervisors allow admins to isolate systems for testing production environments. Developers can also deploy dedicated virtualized environments in their own environment, and use cloned production data for testing.
Type 1 Hypervisor Vendors
These hypervisor products include virtualization industry leaders VMware ESX/ESXi and Microsoft Hyper-V, as well as hypervisors from Citrix and Oracle VM Server. The latter includes SPARC and x86 versions.
Type 2: Hosted Hypervisors
Type 2 hosted hypervisors perform software virtualization. They run as a software application on top of a host OS, and are more like installed applications than hardware-based Type 1. Most Type 2 users take advantage of this simpler hypervisor to run VMs on a single computer without the complex deployment and management requirements of a Type 1.
Type 2 runs from the host operating system, and virtualizes instances as software processes. It supports multiple guest operating systems but cannot directly access the host hardware or its resources. This results in higher overhead, which is why a Type 2 hypervisor is unlikely to run a large and dynamic virtualized network.
Type 2 Hypervisor Deployment and Performance
This type is also simple to deploy and manage. For example, users can install Type 2 VMware Workstation directly into an existing Windows instance. In contrast, Type 1 hypervisor management requires admin expertise and time.
And since Type 2 hypervisors run with extra overhead, they are not as high-performance as Type 1. They operate within the existing operating system, so virtualization performance is constrained by working within the software layer. Other running applications will take more resources away from the hypervisor, which will further slow down VM performance.
This is not an issue with simple, popular Type 2 usage cases, such as running a Windows instance on top of a Mac operating system. But it will not be adequate for high-performance scenarios, such as scaling multiple VMs and trying to create a virtual network.
Type 2 Hypervisor Vendors
· Higher performance
· Lower resource usage
· Firmware location is more secure
· Runs virtualized production environments
· Requires active administration
· Much simpler to set up
· Easier to manage
· Software-based virtualization is compatible with wide range of hardware
· Does not require dedicated admin
· Test multiple operating systems within Windows, OS X, or Linux environments
· Type 1 may support a few drivers, but Type 2 has full access to Windows or Linux drivers