What is Server Virtualization
Virtualization means creating IT resources as logical resources rather than separate physical resources. By using specially designed software, an administrator can creates many virtual systems within a single physical system. Each virtual server acts like a unique physical device, capable of running its own OS.
Server virtualization is usually implemented with hypervisor technology, but hypervisor method is not the only method for virtualization.
What is Hypervisor?
Hypervisor is a software or firmware component that can virtualize physical system resources. A hypervisor is also known as a Virtual Machine Manager (VMM). The hypervisor separates the OS from the hardware by taking the responsibility of manage distribution of CPU, memory, GPU, and other hardware. Each operating system controlled by the hypervisor is called a Guest OS, and if the hypervisor’s has an operating system, is called the Host OS.
There are two types of Hypervisors:
Type 1 hypervisor runs on the system hardware without an OS — A “bare metal” embedded hypervisor. (Microsoft Hyper-V, VMware vSphere, Citrix Xen). It has directly access to all hardware and features. The type 1 hypervisor is to run multiple operating systems on the same computer without the overhead of a host OS and it provides advantage like portability and hardware abstraction without host OS dependencies. Thus, carrying to virtual servers from hardware to hardware is safer and effortless. In addition, virtual server performance is high and it can be fully utilized from the capacity of the physical server.
The type 1 hypervisor structure is divided two parts. These are Microkernelized hypervisor and Monolithic hypervisor.
Microkernelized hypervisor, such as Hyper-V, works with parent partition to perform functions except CPU and memory management. The parent partition is also a virtual machine. It hosts the independent hardware vendor drivers required by the virtual machines, so that no third-party code runs in the hypervisor and only standard drivers are required for the hardware. Thus, the microkernelized hypervisor support much more varied physical server because of that drivers provided by the parent partition. The greatest benefit of this type of hypervisors is that size is too low (about 1,1.5 MB) and virtual machines can access physical equipment via parent partition so that it’s make it much safer.
Monolithic hypervisor, such as VMware ESX Server, does not have a parent partition. It handle all hardware access for their partitions. These hypervisors have to host drivers for all hardware that they access, including storage, network, and input devices. Monolithic hypervisors are installed on the hardware directly, and virtual servers access hardware via hypervisor directly, so they must also include drivers for the physical hardware. This is reduced the number of supported hardware and virtualization stacks are part of the hypervisor, therefore its size take up a lot of space. Also, there are third party codes and it can cause attack from outside easily.
Type 2 hypervisor runs on a Host OS that provides virtualization services. (Oracle VirtualBox, VMware Workstation). Type 2 hypervisor can still run multiple operating systems at a time, but it doesn’t have direct access to the hardware and therefore has more overhead when running a guest. This means that the guest OS will not run at its full potential and if your host crashes, you won’t have access to your guests either. It is the type of hypervisor used in simple test environments.
Note : If you want to virtualize your physical servers, it’s CPU should support virtualization otherwise you can not virtualize your physical servers.
VPS & VDS
VPS (Virtual Private Server) is an operating system-level virtualization. All VPSs on that server must use the operating system installed on the main server and they all look like small particles that work in tandem with this operating system.Since the entire CPU and RAM sharing is done in software in the VPS, if there is a problem in the main server or one of the VPSs has excessive CPU or RAM usage, all VPSs in the server are affected.
VDS (Virtual Dedicated Server) is an operating hardware-level virtualization. VDSs become totally independent small servers. Each can have a different operating system, each of use resources completely independent. VDSs are used only allocated CPU and RAM, so that VDSs do not affect each other.