Introduction to Hypervisor
The virtualization software that creates VMs and performs the hardware abstraction that allows multiple VMs to run concurrently is known as a hypervisor. It runs on the initial physical machine and used to create VMs and allocate resources. From an application’s point of view, the VM provides the look and feel of a real physical server, including all its components, such as CPU, memory, and network interface. VMs and containers increase the overall efficiency and cost-effectiveness of a server by maximizing the use of the available resources.
Three Kinds of Server Virtualization.
- Full virtualization,
- para-virtualization and
- OS-level virtualization.
They all share a few common traits; the physical server is called the host.
Types of Hypervisors
There are two main hypervisor types, referred to as
- “Type 1” (or “bare metal”) and
- “Type 2” (or “hosted”).
A Type 1 hypervisor
Some Examples of the most popular hypervisors in the server virtualization market includes;
- VMware vSphere, ESXi
- Microsoft Hyper-V,
- Citrix XenServer, and
- Red Hat Kernel-based Virtual Machine (KVM)
A bare-metal hypervisor (Type 1) is a software that is installed directly on top of a physical server as shown in image 1, where the hypervisor is seating directly on the hardware.
There is no software or any operating system in between, hence the name bare-metal hypervisor.
A Type 1 hypervisor provides excellent performance and stability since as it does not run inside Windows or any other operating system for that matter.
Type 1 hypervisors are OS in themselves, a very basic one on top of which a virtual machine is run.
The physical hardware the hypervisor is running on serves virtualization purposes only. You cannot use it for anything else and they are mainly found in enterprise environments.
Once you boot up a physical server with a bare-metal hypervisor installed, it displays a command prompt screen and when you connect a monitor to the server, what you get to see are some of the hardware and network details. This consists of the CPU type, the amount of memory, the IP address and the MAC address.
The type 1 hypervisors may look quite different but they all allow for simple server configuration which consists of; changing the date and time, IP address, password, etc.
To create virtual instances, you need a management console set up on another machine. Using the console, you can connect to the hypervisor on the server, and manage your virtual environment. A management console can be web-based or a separate software package you install on the machine for which you want remote management. One action you can perform includes moving virtual machines between physical servers, manually or automatically. This move is based on resource needs of a VM at a given moment and happens without any impact to the end-users. Properly configured management software moves virtual machines to a working server as soon as an issue arises. The detection and restoration procedure takes place automatically and seamlessly.
One of the best features of type 1 hypervisors is that they allow for over-allocation of physical resources. With type 1 hypervisors, you can assign more resources to your virtual machines than you have available. For example, if you have 128GB of RAM on your server and eight virtual machines, you can assign 24GB of RAM to each of them. This totals to 192GB of RAM, but VMs themselves will not actually consume all 24GB from the physical server at a time. The VMs think they have 24GB when in reality they only use the amount of RAM they need to perform particular tasks. The hypervisor allocates only the amount of necessary resources for an instance to be fully functional. This is one of the reasons all modern enterprise data centers, use type 1 hypervisors.
A Type-2 hypervisor
This type of hypervisor runs inside of an operating system of a physical host machine. Therefore, we call type 2 hypervisors – hosted hypervisors. As opposed to type 1 hypervisors that run directly on the hardware, hosted hypervisors have an operating system installed on the hardware (Windows, Linux, macOS). Type 2 hypervisors are typically found in environments with a small number of servers. What makes them convenient is that you do not need a management console on another machine to set up and manage virtual machines. You can do all of this on the server where you install the hypervisor. They are not any different from the other applications you have in your operating system.
When you launch a virtual machine, you get another window to perform all tasks. Hosted hypervisors essentially also act as management consoles for virtual machines, you can perform any task using the built-in functionalities. There is no need to install separate software on another machine to create and maintain your virtual environment. You simply install and run a type 2 hypervisor as you would any other application within your OS. With it, you can create snapshots or clone your virtual machines, import or export appliances, etc. Note of caution though, Bare-metal hypervisors can dynamically allocate available resources depending on the current needs of a particular VM while a type 2 hypervisor occupies whatever you allocate to a virtual machine.
When you assign 8GB of RAM to a VM for example, that amount will be taken up even if the VM is using only a fraction of it. If the host machine has 32GB of RAM and you create three VMs with 8GB each, you are left with 8GB of RAM to keep the physical machine running. Creating another VM with 8GB of ram would crash your system. This is critical to keep in mind, to avoid over-allocating resources and crashing the host machine.
Type 2 hypervisors are convenient for testing new software and research projects.
It is possible to use one physical machine to run multiple instances with different operating systems to test how an application behaves in each environment or to create a specific network environment.
You only need to make sure that there are enough physical resources to keep both the host and the virtual machines running.
Examples include VMware Workstation, or Fusion on the Mac, Oracle’s VirtualBox. All these other operating systems are running on my windows 10 professional edition.