There are three ways to create virtual servers: full virtualization, para-virtualization and OS-level virtualization. They have little in common. Physical server is called host. Virtual servers are called guest. Virtual servers behave in the same way as physical machines. In each system, it uses its own resources unlike any other approach to resource allocation of a physical server in accordance with the requirements of virtual servers.
Full virtualization using special software is called a hypervisor. The hypervisor interacts directly with the physical server’s CPU and disk space. It serves as a platform for operating systems, virtual servers. The hypervisor provides complete independence and autonomy of each virtual server to other virtual servers running on the same physical machine. Each guest server has its own operating system – may even happen that, one guest server running on Linux, and the other on Windows.
Hypervisor monitors the physical server resources. In the process of application of virtual servers, hypervisor distributes physical machine resources between the virtual servers. For the hyper visor, it need data processing, which means that part of the computing power of a physical server and related resources should be reserved for the hyper visor program. This can have a negative impact on overall server performance and slow down your application.
With para-virtualization, it uses a slightly different approach. Unlike the full virtualization, servers, guest systems with para-virtualization can feel the presence of each other. Para-virtualization hypervisor is to manage guest operating systems that does not require large computational resources, since every operating system receives information about the needs of other operating systems hosted on the same physical server. The whole system is functioning as a whole.
The method, which uses virtualization at the OS level, generally does not include the use of a hypervisor. Instead, the virtualization capabilities are part of the hosting operating system, which performs all the functions of the hypervisor with full virtualization. The biggest limitation of this approach is that all guest servers must run on the same operating system. Each virtual server remains independent of all others, but it cannot use these servers, different operating systems and harmonize them. Since all the guest operating system should be the same, such an environment is called homogeneous.
What is the best method? It depends primarily on the needs of network administrators. If all the physical servers, network administrators are working for the same operating system, it could best run OS-level virtualization. Compared with other methods of system-level virtualization, operating system virtualization is faster and more efficient. On the other hand, if the administrator uses dedicated hosting servers with several different operating systems, it is best to choose para-virtualization. One of the potential drawbacks of systems with para-virtualization is limited software support. The method is relatively new and few companies offer programs that carry out its implementation. Many companies use full virtualization, but now there is a growing interest in para-virtualization, and eventually the latter could displace full virtualization.