Revision 34 as of 2006-12-15 22:19:54

Clear message

What are VServers

The [http://linux-vserver.org Linux VServer Project] provides multiple Linux environments running inside a single Linux kernel.

You can think of it as a bit like running a new system inside a chroot, but with a different host name and IP address, a de-fanged root user, and configurable resource management. This is a similar feature to jails on FreeBSD and containers on Solaris 10+.

VServers are a different approach to the popular [http://www.xensource.com XEN] Hypervisor; with XEN you end up with a kernel for each virtual server; VServers do not. So, with VServer you have less (virtually no) overhead, on the other hand you also have fewer features - it is currently impossible to have a VServer with a different time set to the host system, for instance. However it is possible to run a different time zone, as that is a purely user-space feature. The design of UNIX in general mean that for the vast majority of applications, this virtualisation technique is perfectly adequate.

Note that Xen and VServer are orthogonal approaches - that is, it is perfectly possible and sometimes even sensible to run Xen virtual machines on a Linux system, then Linux VServers within those Xen machines.

Installation (u32)

A Linux-VServer kernel has been built on Edgy. The first step in the install process, adds my public key to apt's keyring, is optional. It just allows apt to check package signatures.

And reboot into the new kernel. <i>FLAVOR</i> is vserver-i386, vserver-generic, vserver-server, etc. cat /proc/version to see what flavor kernel you're running now.

The 2.6.17 Edgy kernel runs on Dapper just fine (I'm running it on all my servers right now). Occasionally dpkg may die claiming "error in postinst." It's just a bad interaction between older and newer kernel tools and, other than preventing the install from completing, it's harmless. Just purge and reinstall and it should be fixed.

You may want to run run <tt>ln -sf /vservers /etc/vservers/.defaults/vdirbase</tt> to specify where your vservers should reside (this puts them in /vservers). By default they are stored in /var/lib/vservers.

The git tree for the patched kernel can be downloaded from http://git.u32.net.

Create a new guest

/etc/vservers/newvserver-vars (man newvserver(1) for options):

This command create a new Ubuntu Dapper image. You can change "dapper" to "edgy" or whatever you want above. You can run virtually any Linux distribution as a guest (for instance, [http://www.gentoo.org/proj/en/vps/vserver-howto.xml gentoo]).

  • newvserver -v --hostname NAME --domain EXAMPLE.COM --interface ETHX --ip IPADDRESS

See [http://wiki.u32.net/index.php?title=Linux-VServer this page] for some tweaks to make your dapper guest a little more vserver-friendly.

Installation (Uniklu)

Installation is quite simple - you need:

  • Kernel with VServer patch
  • util-vserver
  • vserver-debiantools

You can install these packages if you add the following lines to your sources.list:

  • dapper

    deb      http://ubuntu.uni-klu.ac.at/ubuntu.uniklu/  dapper uniklu-vserver
    #deb-src http://ubuntu.uni-klu.ac.at/ubuntu.uniklu/  dapper uniklu-vserver
  • edgy (not needed, already in universe)

The uniklu archives are signed - if you want get rid of apt-get warnings: {{{$ wget http://ubuntu.uni-klu.ac.at/uniklu-debuild.pub $ sudo apt-key add uniklu-debuild.pub }}}

To install the VServer Kernel and utils enter:

  • dapper

    # apt-get install linux-image-2.6.15-(dapper_abi+1)-686
    # apt-get install util-vserver vserver-debiantools
  • edgy

    # apt-get install kernel-patch-vserver
    # apt-get install util-vserver

You should get the following revisions

  • dapper

    kernel

    -(dapper_abi+1)-2.6.15-(dapper_abi+1).(dapper_release)vs

    util-vserver

    >= 0.30.210-0uk

    vserver-debiantools

    >= 0.2.6

  • edgy

    kernel-patch-vserver

    2:2.0.1-4

    util-vserver

    0.30.210-10

    vserver-debiantools

    0.2.6

The vserver-debiantools do not work 100% but should help you setting your first vserver quickly - see [http://support.uni-klu.ac.at/VServer Uniklu VServer Info]

The Kernel is the standard Ubuntu Kernel with the Vserver patch applied.

  • dapper: Vserver patch >= 2.0.2-rc13 for kernel-2.6.15

  • edgy: patch from universe should be up2date

The Kernel and binaries are available for i386 and amd64

It is possible and supported to run 32bit i386 VServers on an amd64 VServer Kernel.

Distributed Remote Block Device (DRBD)

[http://www.drbd.org DRBD] can be used with VServer to build simple, robust and cheap HA solutions with disaster failover capabilty to a remote location.

Simply put your VServers on a DRBD and let heartbeat in another building takeover the DRBD and start your VServers.

DRBD utils and kernel modules for the VServer enabled kernels are available in the above archive:

apt-get install drbd0.7-module-2.6.15-(dapper_abi+1)-arch drbd0.7-utils 

Build Yourself

I've created a tgz of the diffs and build script i'm using for building the kernel debs.

{{{$ wget http://ubuntu.uni-klu.ac.at/ubuntu.uniklu/dists/dapper/uniklu-vserver/vserver-image-build.tgz $ tar -xzf vserver-image-build.tgz $ cd linux-vserver-2.6.15 $ ./kbuild.sh }}}

CategoryDocumentation CategoryCleanup