Overview of the virtualization for servers:
By abstracting or segregating a computer's hardware from any software that runs on it, server virtualization works. Through the use of a hypervisor, a unique piece of software, this abstraction is accomplished.
Its main purpose is to provide a virtualization layer that separates physical resources like CPU/Processors, RAM, and other resources from virtual instances. Use the virtualization program to simulate the physical resources after installing the hypervisor on your host machine, then create another virtual server on top of it. By sharing resources across the servers that make up the parent server, each of these virtual servers can run a different operating system and carry out activities.
Types of Server Virtualization:
There are Six significant kinds of enterprise virtual server : full-virtualization, para-virtualization, and OS-level virtualization.
Full Virtualization: Full virtualization employs hypervisors, a form of software that communicates directly with the physical server's hard disk and CPU. The hypervisor keeps track of the resources on the physical server and ensures that each virtual server is entirely separate from different virtual servers. It also transfers the help of an actual server onto the correct virtual server when it runs applications. The most significant drawback to using complete virtualization is that each hypervisor is a separate processor with its requirements. This can cause slowdowns in applications and reduce server performance.
Para-Virtualization: In contrast to full virtualization, para-virtualization is a way to have the entire network working as a unit. Since every operating system running that is on virtual servers can be aware of others in para-virtualization. The hypervisor does not have to use more processing power to control the operating systems.
OS-Level Virtualization: Unlike full and para-virtualization, OS-level virtualization does not rely on a hypervisor. It is a virtualization feature included in the operating system for physical servers and performs all hypervisor functions. However, all virtual servers have to run the same operating system as part of this method of virtualization for servers.
Hypervisor Virtualization: Between the operating system and the hardware, there is a layer known as a hypervisor or VMM (virtual machine monitor). It offers the features and services required for the efficient operation of several operating systems.
In addition to handling the queuing, dispatching, and returning of the hardware requests, it recognizes traps and responds to privileged CPU commands. The hypervisor is topped by a host operating system that controls and manages the virtual machines.
Hardware-Assisted Virtualization: In terms of functionality, it is comparable to Full Virtualization and Paravirtualization, with the exception that it needs hardware support. By relying on the hardware extensions of the x86 architecture, a large portion of the hypervisor overhead caused by trapping and simulating I/O operations and status instructions executed within a guest OS is dealt with.
Unmodified OS can be used to handle hardware access requests, privileged and protected operations, and communication with the virtual machine as the hardware support for virtualization would be used.
Kernel level Virtualization: It runs a different Linux kernel and views the associated virtual machine as a user-space process on the physical host rather than using a hypervisor. As a result, managing several virtual machines on a single host is simple. For connection between the virtual machine and the regular Linux kernel, a device driver is utilized.
Support for processors is needed for virtualization ( Intel VT or AMD – v). The display and execution containers for the virtual machines are modified versions of the QEMU process. Kernel-level virtualization resembles server virtualization in many ways.