- Linux-VServer
Infobox Software
name =
caption =
developer = Herbert Pötzl (Community Project)
operating_system = Linux 2.6 and 2.4
platform =x86 ,x86 64 , SPARC/64, PA-RISC, S390/x, MIPS/64, ARM, PowerPC/64
genre = OS-level virtualization
license = GNU GPL v.2
website = [http://linux-vserver.org/ Linux-VServer.org]Linux-VServer is a
virtual private server implementation done by addingoperating system-level virtualization capabilities to the Linux kernel. It is developed and distributed asopen source software , licensed under the terms of theGNU General Public License (GPL).The project was started by Jacques Gélinas. It is now maintained by Herbert Pötzl of
Austria and is not related to theLinux Virtual Server project, which implements networkload balancing .Linux-VServer is a jail mechanism in that it can be used to securely partition resources on a computer system (such as the
file system , CPU time, network addresses and memory) in such a way that processes cannot mount adenial-of-service attack on anything outside their partition.Each partition is called a "security context", and the virtualized system within it is the "virtual private server". A
chroot -like utility for descending into security contexts is provided. Booting a virtual private server is then simply a matter of kickstartinginit in a new security context; likewise, shutting it down simply entails killing all processes with that security context. The contexts themselves are robust enough to boot manyLinux distribution s unmodified, includingDebian and Fedora Core.Virtual private servers are commonly used in
web hosting services, where they are useful for segregating customer accounts, pooling resources and containing any potential security breaches. To save space on such installations, each virtual server's file system can be created as a tree ofcopy-on-write hard link s to a "template" file system. The hard link is marked with a special filesystem attribute and when modified, is securely and transparently replaced with a real copy of the file.Linux-VServer provides two branches, stable (2.2.x), and devel (2.3.x) for 2.6-series kernels and a single stable branch for 2.4-series. A separate stable branch integrating the
grsecurity patch set is also available.Similar virtualization mechanisms
Other implementations of
operating system-level virtualization technology areOpenVZ , Parallels Virtuozzo Containers, the FreeBSD jail mechanism,Solaris Containers , andFreeVPS (an early fork of Linux-VServer).Advantages
* Virtual servers share the same
system call interface and do not have any emulation overhead.
* Virtual servers do not have to be backed by opaquedisk image s, but can share a common file system and common sets of files (through copy-on-write hard links). This makes it easier to back-up a system and to pool disk space amongst virtual servers.
* Processes within the virtual server run as regular processes on the host system. This is somewhat more memory-efficient and I/O-efficient than whole-system emulation, which cannot return "unused" memory or share a disk cache with the host and other virtual servers.
* Processes within the virtual server are queued on the same scheduler as on the host, allowing guests processes to run concurrently on SMP systems. This is not trivial to implement with whole-system emulation.
* Networking is based on isolation rather than virtualization, so there is no additional overhead for packets.Disadvantages
* Requires that the host kernel be patched.
* All virtual servers share the same kernel and potentially share related bugs and security holes.
* No clustering orprocess migration capability is included, so the host kernel and host computer is still a single point of failure for all virtual servers.
* Networking is based on isolation, not virtualization. This prevents each virtual server from creating its own internal routing or firewalling setup.
* Some system calls (mostly hardware-related: e.g.real-time clock ) and parts of the /proc and /sys filesystems are left unvirtualized.
* Does not allow disk I/O bandwidth to be allocated on a per-virtual server basis.External links
* [http://linux-vserver.org Project homepage]
* [http://www.13thfloor.at/vserver/project/ Official releases]
* [http://linux-vserver.org/Linux-VServer-Paper Implementation paper]
Wikimedia Foundation. 2010.