Oddly, one disadvantage of those technologies is a side
effect of their major advantage: Total Independence. Each
virtual server is running its own kernel. Cool. This
makes the following tasks more difficult or impossible:
- Sharing administrative tasks such as backup. The virtual
servers are using volumes in the host server. The host
server can't handle the files in those volumes directly
without interfering with the client OS. It has to use
some services of the client OS to access the file.
The vserver solution does not have this limitation
since the virtual servers are living in the same
file-system, sharing the same kernel.
- Task monitoring. The virtual servers run their
own kernel. As such, the host OS can't spy on the tasks
and check for intrusion for example.
- Disk space. Virtual servers are using either volumes
or full devices in the host server. This space is
pre-allocated to the maximum needed by the server.
You end up with a lot of wasted disk space. Imagine
running 100 virtual servers this way and allocating
say 10 gigs to each. You get the picture. The
vserver solution is sharing a common file-system
so the free disk space is available to all.
Further, if you are running the same Linux distribution
in the virtual servers, you can unify the disk
space using hard link and immutable attributes. The
/usr/lib/vserver/vunify was created
to test that. Using information found in the rpm package
the script links the files, except configuration ones.
Testing vunify on a vserver installed with a RedHat 6.2 distribution,
unifying the packages glibc, binutils, perl, and bash
saved 60 megs. Quite a few packages are not changing
often and could be unified.
Vservers do not need kernel packages and hardware
configuration tools. This also contribute to save disk
- File system sharing
A little the same as above. You can't share file
system easily between vservers unless you use network
services (often slower). Using "mount --bind", it is
very easy to "map" any directory of the root server
in several vservers, providing raw speed access (and
even sharing the disk cache).