Installation on Debian
From Linux-VServer
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
Contents |
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)
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. 10.1.1.7)
- 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 ftp://ftp.debian.org/debian)
- 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:
- Hostname: test1
- Domain: example.com
- IP Address: 10.1.1.7
- CIDR Range: /8
- Debian Mirror: http://ftp.au.debian.org/debian/
- Interface: eth1
vserver test1 build -m debootstrap --hostname test1.example.com \ --interface eth1:10.1.1.7/8 -- -d etch -m ftp://ftp.au.debian.org/debian/ \ -- --resolve-deps --arch i386
newvserver --vsroot /var/lib/vservers/ --hostname test1 --domain example.com \ --ip 10.1.1.7/8 --dist etch --mirror http://ftp.au.debian.org/debian/ --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.
References
- Linux-VServer HOWTO by Daniel15: http://howtoforge.com/linux_vserver_debian_etch