Introduction
Server virtualization is the process of creating multiple server instances from one physical server. Each server instance represents an isolated virtual environment. Within each virtual environment, you can run a separate operating system.In this article you will learn all about server virtualization and why you should utilize this powerful technology.
What is Server Virtualization?
Before virtualization, you would install an operating system on top of the hardware, making it directly linked to the server. This meant that each server had to have its own separate hardware.On average, dedicated servers use only 15% of their resources during normal operation. Although running your application on bare metal servers has some advantages over virtualization, in many cases it is a waste of resources. Furthermore, software or hardware failures often required hands-on repair on all the servers.Therefore, there was a need to boost resource utilization and maintain separation between the clients’ operating systems for security purposes.Server virtualization was introduced as a solution to the issues mentioned above. A virtualization software allowed you to “break up” your physical server into multiple virtual ones. By doing so, you can utilize your physical resources to the fullest, without investing in more hardware.How Does Server Virtualization Work?
To create virtual server instances you first need to set up a virtualization software. This essential piece of software is called a hypervizor. Its main role is to create a virtualization layer that separates CPU / Processors, RAM and other physical resources from the virtual instances.Note: To learn more about hypervizors, refer to our article What Is A Hypervisor? Types Of Hypervisors 1 & 2.
Types of Server Virtualization
There are three (3) approaches to server virtualization based on the isolation they provide:- Full virtualization or virtual machine model
- Paravirtual machine model
- Virtualization at the OS level
Note: A hypervisor is also called a Virtual Machine Monitor (VMM). The hardware on which it is installed is labeled as the host machine. The virtual resources, created and managed by the hypervisor, are known as virtual or guest machines.
Virtual Machine Model Or Full Virtualization
In a full virtual machine model, the hypervisor completely isolates guest machines. It shares the hardware of the host machine but runs as if being on a completely autonomous computer, unaware of the hypervisor and its role. These VMs see themselves as self-reliant and efficient. Therefore you do not need to adapt or specially modify their instances of operating systems.Paravirtual Machine
When you need multiple virtual machines and have flexible resource sharing, a fully virtualized environment may not be necessary. In this case, a paravirtualized environment may better suit the situation.The paravirtual model eliminates the need for the VM to trap privileged instructions, making it more time efficient and less intrusive to the system. The operating systems acknowledge the existence of a hypervisor and communicate directly with it by sending comments known as hypercalls.For this communication to take place, both the hypervisor and the operating systems are specialized to exchange hypercalls. Consequently, paravirtualization requires a paravirtualized hypervisor and operating systems. These are modified by implementing an API (application programming interface) to enable them to communicate through hypercalls.Note: Did you know there’s a Cloud that doesn’t run on a hypervisor? Learn more about Bare Metal Cloud.
Operating System Layer

Types of Hypervisors
Two types of hypervisors are used to create virtual environments:- Type 1 hypervisors (native/bare metal hypervisors)
- Type 2 hypervisors (hosted hypervisors)
Type 1 Hypervisor

Type 2 Hypervisor
Unlike type 1, a type 2 hypervisor is installed on top of an existing operating system. This allows users to utilize their personal computer or server as a host for virtual machines. Therefore, you have the underlying hardware, an operating system serving as a host, a hypervisor and a guest operating system.Note: The guest machine is not aware of its part of a larger system and all actions you run on it are isolated from the host.
