Installation on Debian

From Linux-VServer

Revision as of 21:50, 5 October 2007 by (Talk)

Jump to: navigation, search

This guide is written against Debian Etch (4.0). This release includes kernel linux-image-vserver-686, so no manual patching is needed. Hence, Installation on Debian Etch is pretty easy and straightforward.

If you need to compile your own kernel, you need to apply the vserver-version.patch. Details at 2007/Apr/25


Packages installation

The packages required by Linux-VServer are:

  • linux-image-vserver-686 - This is the actual kernel
  • util-vserver - These are the utilities used to administer the guests
  • vserver-debiantools - These are special Vserver tools for Debian, used to create and duplicate Debian guest systems.
  • ssh - This is probably already installed, but just in case it isn't

All the packages you need can be obtained via

apt-get install linux-image-vserver-686 util-vserver vserver-debiantools ssh

so run this as root and reboot. To check out wherever everything went fine you may run

uname -r

and check that kernel version is something like 2.6.18-4-vserver-686. That's it. Now let's create a virtual machine.

Virtual machine creation

On a Debian system, creation of guests is done via the newvserver command. The syntax for this command is:
(note: newvserver is deprecated and should not be used. please use vserver <name> build ... instead *Bertl*)

newvserver --vsroot /var/lib/vservers/ --hostname [Hostname] \
--domain [Domain] --ip [IP Address]/[CIDR Range] \
--dist etch --mirror [Debian Mirror] --interface [Net Interface]

(the backslashes at the end of the lines mean that it continues onto the next line. You may copy it as-is [with the backslashes], or put the whole command on one line [and exclude the backslashes], as is done below. Also, the -- separate the different parts of the command. First are generic vserver ... build options, the second part are options specific to the chosen method (debootstrap), the third part are options which will be passed directly to debootstrap.)

The command line arguments are:

  • vsroot - This is where the files for the guests are kept. On a default installation, this will be at /var/lib/vservers. Alternatively, some people create a separate partition for their vservers.
  • Hostname - The hostname of the system (eg. test1)
  • Domain - The domain of the system. This is usually the same as the domain you chose for the host system (eg. dan-network.local. This doesn't need to be real, it's only used internally.)
  • IP Address- The IP address for the guest system (eg.
  • CIDR Range - The CIDR Range for your local network. For a 10.x.x.x network, this is usually /8. For a 172.16.x.x network, this is usually /16. For a 192.168.x.x network, this is usually /24. If your network is subnetted, this will be different. When in doubt, choose /8 :)
  • Dist - The distribution to use. For the purposes of this exercise, we use etch.
  • Debian Mirror - The Debian mirror you use (when in doubt, choose
  • Interface - Your network interface, if it's not eth0 (eg. eth1).

So, let's make a test server. The settings for our test guest are like so:

vserver test1 build -m debootstrap --hostname \
--interface eth1: -- -d etch -m \
-- --resolve-deps --arch i386

For all options to vserver build, see

vserver - build --help

In particular, --rootdir gives the desired location of the vserver.

newvserver --vsroot /var/lib/vservers/ --hostname test1 --domain \
--ip --dist etch --mirror --interface eth1

(note: newvserver is deprecated and should not be used. please use vserver <name> build ... instead *Bertl*)

Virtual machine operation

To start VM just created, run

vserver test1 start

To get into it, type

vserver test1 enter

Again, study man for more information.


Personal tools