Linux VPS - Alternatives to Operating System-Level Virtualization
Linux VPS technology virtualizes servers on an operating system (or kernel) layer. The technology partitions a single physical server into multiple small computational partitions. From the point of its owner, each partition operates as though it is a physical server. For UNIX-like operating systems, this technology provides an advanced extension of the standard chroot mechanism.
The operating system level architecture has low overhead that helps to maximize efficient use of server resources. Due to a single-kernel approach, this type of virtualization introduces only a negligible overhead and enables hundreds of virtual private servers to run on a single physical server. In contrast, approaches such as VMware workstation virtual machine emulation, Xen machine para-virtualization, and/or User Mode Linux (UML), cannot achieve such a high level of density. This is due to the overhead required by multiple kernels. Operating system-level virtualization does not enable you to run different operating systems (or kernels).Different libraries and distributions of an operating system are possible.
To be fair, using operating system-level virtualization means the response time of a Web server does increase as the numbers of virtual environments are increased. However, response times are acceptable (under two seconds) on a physical server with 75 Gigabytes (GB) of Random Access Memory (RAM) when over 100 virtual environments are operating on the server. In comparison, emulation and para-virtualization implementations can typically host only approximately 10 virtual environments on a 75 GB physical server.
As there is a single kernel which maintains all the partitions, isolation and resource management become critical. Without proper isolation security can be compromised, and without proper resource management an application from one partition can abuse resources and thus cause a denial of service (DoS) for other partitions. The following are examples of finite resources which must be controlled and limited on a per-partition basis:
- CPU time
- Disk space
- I/O bandwidth
- Network access
- RAM
- Shared memory
- Locked pages
- Number of processes
- Socket buffers
Linux VPS technology provides a set of more than twenty finite resources which are controlled and limited on a per-partition basis.
Overview of Alternatives
Following are alternatives to Linux VPS technology:
- Chroot
- A UNIX command-line program to be used for process management. The program enables you to run and tightly control different
instances of the RHEL environment on a single system. These instances operate simultaneously and without an intervention such
as rebooting.
Although the program offers file system isolation, it does not offer any of the other features of other alternatives.
For more, refer to the manual pages included with the RHEL (or other Gnu-Unix) operating system.
- Linux Vserver
- An open-source software distributed by the Linux-VServer Project (http://linux-vserver.org/Welcome_to_Linux-VServer.org)
under the terms of the Gnu Public License (GPL). The software provides kernel-level virtualization for GNU/Linux systems by
enabling multiple virtual units running on the same kernel.
- FreeBSD Jail
- A utility provided by the FreeBSD operating system (http://www.freebsd.org/). The utility manipulates operating system
chroot capabilities to provide discrete, secure partitions. For more, refer to the operating system man pages or, for details
regarding the utility refer to Chapter Four of the FreeBSD Architecture Handbook
(http://www.freebsd.org/doc/en_US.ISO8859-1/books/arch-handbook/jail.html).
- Containers (or Zones)
- The Solaris Enterprise System (http://www.sun.com/software/solaris/) provides support for isolated, virtual environments
within one physical server. These environments are referred to as zones or containers. For more, refer to the Zones and
Containers FAQ located on the Open Solaris Web site (http://www.opensolaris.org/os/community/zones/faq/).
- Virtuozzo
- A solution which provides isolated partitions at the operating system level. For more, refer to the SWSoft Web site
(http://www.parallels.com/en/products/virtuozzo).
Features offered by Linux VPS
The alternatives offer some, but not all, of the features of Linux VPS. Only the Linux VPS implementation of operating
system-level virtualization offers all of the following features:
- File System Isolation
- Disk Quotas
- I/O Rate Limiting
- Memory Limit
- CPU Quotas
- Network
- Isolation
- Partition check pointing
- Live migration

|