What is Server Virtualization?

Server virtualization technology allows one physical server to create several virtual servers.

These virtual servers can perform the same tasks ordinary servers can, without requiring each virtual server to have its own physical resources. Each fulfills the assigned function, unaware of other virtual servers running on the same hardware.

Numerous virtual machines are associated with a single physical server. Virtualization software divides the physical components from the virtual environments – a hypervisor. The hypervisor represents the management layer between the underlying physical resources and the virtual environments running on them.

That is the power of a virtualized server.

what is server virtualization


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.


Advantages & Benefits of Server Virtualization

Before virtualization, you would install an operating system (OS) on top of the hardware, making it directly linked to the server. This meant that if you needed more than one server, each had to have its own separate hardware.

On average, dedicated servers use only 15% of their resources during normal operation.

Considering that you have to pay for each server, as well as its power usage, space, cooling, and maintenance, it could be inefficient to dedicate an entire server to a task.

Before virtualization, there was wasted electricity and hardware resources, as well as inefficiency in instances of software or hardware repairs. Therefore, there was a need to boost resource utilization and maintain separation between the client’s operating systems for security purposes.

The solution? Virtualization.

Types of Server Virtualization

There are three (3) approaches to server virtualization based on the isolation they provide:

  1. Full virtualization or virtual machine model
  2. Paravirtual machine model
  3. Virtualization at the OS level

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.

Operating System Layer

Virtualization at the OS level is a feature of an operating system which has a kernel that allows the existence of multiple user-space instances. We call this type of virtualization containerization and these user-space instances containers (partitions, virtual environments or jails).

Programs can run inside the container but are restricted only to the content of the container and devices assigned to that container. Unlike the primary OS, these user-space instances believe they have all available resources but are limited to the resources allocated to the container.

As this level of virtualization uses the same OS and kernel as the host, it can only differ from its host by the version of OS. Therefore it is limited as it can’t have a different OS than its host.

Virtualization of a server into containers

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 Hypervisors

Type 1 or bare-metal hypervisors are installed directly on the physical hardware of the host machine, providing a layer between the hardware and an OS. On top of this layer, you can install many virtual machines. The machines are not connected in any way and can have different instances of operating systems and act as different application servers.

example of virtual machines on a server

Management Console

System administrators and advanced users control the hypervisor remotely through an interface called a management console.

With it, you can connect to and manage instances of operating systems. You can also turn servers on and off, transfer operating systems from one server to another (in case of downtime or malfunction) and perform many other operations.

The Type 1 hypervisor is highly secure since it doesn’t have an attack surface of an underlying operating system (host). Also, it controls and assigns the resources allocated to each virtual machine based on its usage to avoid wasting resources.

Examples of Type 1 hypervisors include VMware ESXi, KVM, Oracle VM, Citrix XenServer, Microsoft Hyper-V, and others.

Type 2 Hypervisors

Unlike Type 1, the Type 2 hypervisor is installed on top of an existing operating system. This allows the 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.


Although a VM is isolated, the primary OS is still directly connected to the hardware. This makes it less secure than Type 1 hypervisors.

In environments where security is paramount, this type of hypervisor may not suit your needs. However, end-users and clients with small- businesses may find this type of environment more fitting.

Having a hosted hypervisor allows more than one instance of an operating system to be installed. However, you should be careful with resource allocation. In the case of Type 2 hypervisors, over-allocation may result in your host machine crashing.

Examples of Type 2 hypervisors include VMware Workstation, KVM, Oracle VM VirtualBox, Microsoft Virtual PC, Red Hat Enterprise Virtualization and others.

hypervisors on virtual machines

Example Uses of Type 2 Hypervisors

A common practice is to use virtual machines to experiment with new software and test for potential bugs.

This can be done safely as you have isolated the guest machine and it can’t harm your primary OS. Also, you may use a virtual machine to run software that requires a specific operating system (for example, Windows specific software which cannot be used on a macOS).

Conclusion

After reading this article, you should understand what server virtualization is and how it works.

Keep in mind the needs and resources you have before deciding on the type of virtualized server. There are many options to choose from, so be sure to choose wisely.