Alternatives to Operating System-Level Virtualization
FreeBSD VPS v3 technology virtualizes servers on an operating system layer, including the kernel. The technology partitions a
single physical server into multiple small computational partitions. From the point of view of its owner, each partition
operates as though it is a physical server. 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 level of overhead and enables many more
virtual private servers to run on a single physical server than the alternatives. Approaches such as VMware workstation
virtual machine emulation, Xen machine para-virtualization, and/or User Mode Linux (UML) cannot achieve equal of density
levels. 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. But, it does enable different libraries and distributions of an operating system.
Using operating system-level virtualization may increase the response time of a Web server does increase as the numbers of
virtual environments. However, response times are acceptable (under two seconds). In comparison, emulation and
para-virtualization implementations can typically host fewer virtual environments per 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
- Network access
- RAM
- Shared memory
Number of processes
FreeBSD VPS v3 technology provides a set of nine finite resources which are controlled and limited on a per-partition
basis.
Overview of Alternatives
Following are alternatives to the FreeBSD VPS v3 technology. Each approaches, but does not match, the level of
virtualization and robustness offered by FreeBSD VPS v3:
- 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 FreeBSD environment on a single system. These instances operate simultaneously and without an intervention such as rebooting.
- Although the utility offers file system isolation, it does not offer any of the other features of other alternatives.
- For more, refer to the man pages included with the FreeBSD (or other Gnu-Unix) operating system.
- Linux VServer – 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 Website (http://www.opensolaris.org/os/community/zones/faq/).
Comprehensive Features Offered by FreeBSD VPS v3
The alternatives offer some, but not all, of the features of FreeBSD VPS v3. Only the FreeBSD VPS v3 implementation of
operating system-level virtualization offers all of the following features:
- File System Isolation
- Disk Quotas
- Memory Limit
- CPU Quotas
- Network
- Isolation
- Partition check pointing
- Live migration

|