From: Jacques Gelinas (jack_at_solucorp.qc.ca)
Date: Fri 12 Oct 2001 - 23:13:37 BST
1.1. /usr/lib/vserver/vunify utility: new
The vunify script is used to unify the disk space used by several
vservers. Vservers are running in chroot environment. As such, they
can't share files. This is useful (secure, flexible), but annoying:
Not fun having glibc installed 10 times for example.
It is possible to share files using hard links. vunify was created to
merge common package using hard link so they use the same disk space.
It works like this
/usr/lib/vserver/vunify refserver serv1 serv2 serv3 -- pkg1 pkg2 pkg3 ...
refserver is the reference server. serv1 to serv3 are other vservers
and all vservers have a copy of the same RPM packages pkg1, pkg2. The
utility will extract the list of file own by the various packages.
Configuration files are omitted from the list. Then it will walk the
vservers and erase the files and setup a hard link pointing to the
file in refserver. Once done, it will turn the file immutable bit.
This bit prevent the vservers from modifying the file. Even root can't
do it. You will end up saving a log of disk space. You may gain some
performance as well since the various shared object will be loaded
only once in memory for all vservers. This could be noticeable if you
have many vservers.
Experiment have shown that unifying the packages bash, glibc, perl and
binutils save 60 megabytes per vserver. Given those package seldom
change, this is a nice saving.
vunify also feature a --undo option to un-unify some package. It turns
off the immutable bit and place a copy of the files in each vservers.
This can be useful if you intend to update one package.
1.2. vserver command enhancement
The build option now turn off all service in the newly created
vserver. this is useful because in general, a vserver runs few
services. Further, many common services found in Linux are useless in
a vserver environment. So after installing a vserver "enter" it
(vserver VSERVER-name enter) and enable the service you need with
either Linuxconf or chkconfig.
2. Bug fixes
2.1. rebootmgr service missing
vserver 0.3 has introduced a new service called rebootmgr allowing
virtual server to request a reboot (of themselves). Unfortunately the
sysv init script was missing in the package.
Jacques Gelinas <jack_at_solucorp.qc.ca>
vserver: run general purpose virtual servers on one box, full speed!