When talking about virtualization, many people tend to forget that there is an important player besides VMware, Microsoft and Citrix XenServer. With a completely different approach to virtualization, Parallels Virtuozzo offers an alternative to the hypervisor. In this article you'll read how Parallels approach to virtualization differs from the others.
With Parallels Virtuozzo, the OS-virtualization approach consists of a virtualization layer on top of the standard host OS. On top of this OS-virtualization layer, isolated containers are created to utilize hardware and software with maximum efficiency.
To better understand OS virtualization, it is a good idea to analyze how hypervisor-based virtualization is used in Xen and Microsoft Hyper V. Hypervisor virtualization uses a thin Linux kernel base layer that has specific virtualization features on board. On top of the hypervisor, virtual machines are created.
The big challenge in this model is to access hardware without the need to virtualize all drivers for the hardware. Techniques such as paravirtualization offer a solution to do that. In full virtualization, however, all hardware must be virtualized first so that it can be assigned to VMs. In the VM itself, you'll run a complete copy of the operating system, as well as the application that you want to virtualize.
In operating system or OS virtualization as used by Virtuozzo, the approach to virtualization is different. At the base, there is a standard host operating system. When using Parallels Virtuozzo, this can be a Windows host as well as a Linux host. On top of that, there is the virtualization layer which runs as an application within the operating system.
This virtualization layer offers a proprietary file system and kernel service abstraction layer. These ensure isolation of resources between all virtual machines (which are referred to as containers in Virtuozzo). The virtualization layer makes sure that each container appears as a standalone server.
The big difference in OS virtualization is that complete virtual machines are not utilized. Instead, partial virtualization is used that creates a container, or an isolated application within the host operating system. The virtualization layer makes sure that it cannot interfere with other containers. The advantage of this approach is that there is no need to duplicate functionality. One operating system takes care of hardware access. Therefore, traditional performance problems that are related to hardware access by means of driver virtualization do not exist in the Virtuozzo approach.
There is one disadvantage though: This approach lacks the flexibility to virtualize different operating systems. On the other hand, this can be an advantage as well. Why should you want complex support for virtualization of a complete operating system when all you run is Windows or Linux servers?
Parallels Virtuozzo offers a completely different approach to virtualization. Where others try to do virtualization by offering a platform in which you can do a complete operating system installation, Virtuozzo does virtualization by offering isolated containers from within one operating system. This offers much better efficiency, especially if you need to work with one operating system only.
About the author: Sander van Vugt is an author and independent technical trainer, specializing in Linux since 1994. Vugt is also a technical consultant for high-availability (HA) clustering and performance optimization, as well as an expert on SUSE Linux Enterprise Desktop 10 (SLED 10) administration.