From: Jacques Gelinas (jack_at_solucorp.qc.ca)
Date: Thu 04 Jul 2002 - 19:45:43 BST
1.1. Building vservers out of RedHat CDs
The newvserver utility has been enhanced so you can interactively
build vservers from the first Redhat CD or either 7.2 or 7.3. This is
done by using the /usr/lib/vserver/install-rh7,2 or install-rh7.3
script. The later is new in vserver 0.18.
The build process configure properly /etc/sysconfig/network to help
some package operate properly. netatalk for one grabs the host name
1.2. kernel ctx-12: binding to the broadcast address
ctx-12 allows this. A normal kernel allows this as well.
1.3. kernel ctx-12: multi-IP
The new kernel supports multiple IP numbers assigned to a vserver.
This allows a vserver to setup services on more than one IP. To make
use of that, you simply enter several IP number in the IPROOT field of
the vserver configuration file:
Do not forget the quotes!
The vserver utility will create the necessary IP aliases. The first
one is created using the vserver name (eth0:name) and the other are
adding a number as a suffix (eth0:name1, eth0:name2, ...).
The multi-IP support keeps the original semantic of the vserver in
some ways. A service doing a bind ANY (bind to 0.0.0.0) will setup its
IP service on the first IP number of the vserver. If you wants to
listen to several IP, you will need to configure your service for each
IP number explicitly. For example, for apache, you will need multiple
listen statements. By default, apache has a "listen 80" statement (a
bind any) which translate in a vserver to a listen first-ip-of-the-
vserver:80. So you must simply add listen statement for the remaining
IP. For example, for the above IPROOT statement:
This departs from the normal behavior of a Unix/Linux OS. When you do
a bind any, you end up listening to every IP configured on the box.
It was not possible to achieve that easily in the kernel, while
keeping performance high (100%) and yet control which IP may be use by
a vserver. So this is a compromise. Time will tell how usable it is.
2. Bug fixes
2.1. Building the package on rh6.2
The vserver source do include linux/capability.h. Mixing kernel and
glibc header is not a good thing (generally), but glibc do not provide
support for capabilities yet. This was causing some strange problem
(remember the thread "C++ sucks". This was fixed by moving the
#include capability.h> after the other #include in various source.
Jacques Gelinas <jack_at_solucorp.qc.ca>
vserver: run general purpose virtual servers on one box, full speed!