It is the division of physical server into several virtual servers and this division is mainly done to improvise the utility of server resource. In other word it is the masking of resources that are located in server which includes the number & identity of processors, physical servers & the operating system. This division of one physical server into multiple isolated virtual servers is done by server administrator using software. The virtual environment is sometimes called the virtual private-servers.
In this process, the server resources are kept hidden from the user. This partitioning of physical server into several virtual environments; result in the dedication of one server to perform a single application or task.
Usage of Server Virtualization
This technique is mainly used in web-servers which reduces the cost of web-hosting services. Instead of having separate system for each web-server, multiple virtual servers can run on the same system/computer.
The primary uses of server virtualization are:
- To centralize the server administration
- Improve the availability of server
- Helps in disaster recovery
- Ease in development & testing
- Make efficient use of server resources.
Approaches To Virtualization:
For Server Virtualization, there are three popular approaches.
- Virtual Machine model
- Para-virtual Machine model
- Operating System (OS) layer Virtualization
Server virtualization can be viewed as a part of overall virtualization trend in the IT companies that include network virtualization, storage virtualization & management of workload. This trend brings development in automatic computing. Server virtualization can also used to eliminate server sprawl (Server sprawl is a situation in which many under-utilized servers utilize more space or consume more resources than can be justified by their workload) & uses server resources efficiently.
- Virtual Machine model: are based on host-guest paradigm, where each guest runs on a virtual replica of hardware layer. This technique of virtualization provide guest OS to run without modification. However it requires real computing resources from the host and for this a hypervisor or VM is required to coordinate instructions to CPU.
- Para-Virtual Machine model: is also based on host-guest paradigm & uses virtual machine monitor too. In this model the VMM modifies the guest operating system's code which is called 'porting'. Like that of virtual machine, similarly the Para-virtual machine is also capable of executing multiple operating systems. The Para-virtual model is used by both Xen & UML.
- Operating System Layer Virtualization: Virtualization at OS level functions in a different way and is not based on host-guest paradigm. In this model the host runs a single operating system kernel as its main/core and transfers its functionality to each of the guests. The guest must use the same operating system as the host. This distributed nature of architecture eliminated system calls between layers and hence reduces overhead of CPU usage. It is also a must that each partition remains strictly isolated from its neighbors because any failure or security breach of one partition won't be able to affect the other partitions.
Advantages of Server Virtualization
- Cost Reduction: Server virtualization reduces cost because less hardware is required.
- Independent Restart: Each server can be rebooted independently and that reboot won't affect the working of other virtual servers.