Intro to Server Virtualization: Hypervisor vs. Paravirtualization
Consider a server in your data center that has multiple CPU’s, and each CPU has multiple cores. The computer’s memory slots can hold gigabytes of memory modules. It has a single operating system installed and probably just a single application that is providing services to your business such as a Web Server, MS Exchange, or Middleware. Research suggests that the vast majority of servers are less than 10% utilized.
Problem: Virtual machine degradation in a virtualized environment can occur in a few different ways, such as a sharp decline in application or server response times. The challenge is determining when the problems started and the cause.
Solution: VM monitoring software will enable you to look at the changes that were made over time and so you can pinpoint & diagnose past performance issues in your virtualized infrastructure.
HypervisorThe Hypervisor is a software structure used to fully emulate computer hardware in software. The software layer creates virtual CPUs and virtual Memory by intercepting the input/output from the Operating System before it reaches the physical hardware. Virtual Hard Disk Drives are created by mapping disk read and writes to a single file or LUN. Read and writes to the Networking software stack are intercepted and redirected to virtual network adapters.
This form of server virtualization, also called full hardware virtualization, is the most popular and wide spread virtualization in the marketplace right now.
ParavirtualizationThe concept of Paravirtualization is very similar to that of the hypervisor principle. A software hypervisor is installed on a physical server and a guest OS is installed into the environment. The difference is that the guest OS needs to “know” that it is virtualized to take advantage of the functions. Operating systems require extensions to make API calls to the hypervisor.
Not every operating system or application can support being paravirtualized and not every server virtualization vendor supports running operating systems in a paravirtualized format. The guest OS / program will be aware that it operates in a shared medium at some level, and although it may not be visible to the user, it will be to the system administrator.
Market ImpactVirtualization has been available for many years, starting with the IBM mainframe in OS/390 and moving through many forms, but the most well known implementation today is Citrix which allows for emulation of most (but not all) Windows applications in a central server. The enterprise server market has been able to take advantage of virtualization for some time. However, it is not until the past decade that wide spread adoption has been realized.
Comparing Paravirtualization and Hypervisor approaches as fundamental technology is notoriously difficult. Hypervisor virtualization is the current market trend because full hardware virtualization has a better support for operating system and is simpler to deploy and operate.
Operating systems that support Paravirtualization interfaces need custom kernel adjustments. If compiled manually (where possible), guest operating systems with Hypervisor support require more maintenance and configuration. This additional costs and complexity, combined with the marginal performance gains, means Paravirtualization remains a niche product in the server virtualization market.
Hypervisor vs. Paravirtualization: Reliability and UsefulnessWhile not a major differentiator, the reliability and usefulness of Paravirtualization compared to full server virtualization options should be considered:
Paravirtualization reliability can be hampered due to the complexity involved in running a modified OS kernel to perform the Hypervisor interactions. In many instances, the OS vendor, who may be reluctant to develop more products, must support this kernel modification.
Reliability of Hypervisors is very high. Due to the lack of modification of the guest operating system, there is less complexity that equates to higher reliability and greater acceptance from Operating System vendors.
Paravirtualized operating system options are limited and therefore there are fewer options to provide a solution. The range of options available can limit the effective usefulness. On the other hand, Paravirtualization imparts performance increases over full hardware virtualization.
Compared with Hypervisors, the large range of usable guest operating systems and the lack of guest operating system customizations, full hardware virtualization provides a greater range of usefulness.
Ultimately, neither Paravirtualization nor full hardware virtualization exposes reliability or usefulness issues in the other. Each has their advantages and disadvantages.
SummaryThe IT industry is a continuous cycle of improvement and it’s likely that Paravirtualization will return in the future in some new form. Today, the most important element of a virtualized environment is that we can manage all elements of the server platform in software and to deliver better management and monitoring.
Possibly the single greatest success of virtualization has been the development of products that can manage the virtualized systems, like SolarWind's Virtualization Manager. The virtualization software layer means that simple software changes can expose core data and information about the performance and status of our Operating Systems. And that management capability is driving new operational benefits to businesses.