Subject: Re: [vserver] The quest goes on.
From: Ed W <lists@wildgooses.com>
Date: Sat, 05 Mar 2011 16:58:35 +0000


> Not necessarily me.  If a customer wants a CentOS or Debian guest and 
> there is a Gentoo host can it be done.  And beside I'm just trying to 
> have answers in case there is a question.

Well there should be no theoretical reason why not.  At worst you would 
simply start with a template Deb/Centos guest that you rollout and then 
the customer customises from there.  I guess I'm unfamiliar with the 
build from scratch thing you refer to, but I actually start all my 
gentoo guests based on one of several base template installs (that I 
keep fairly updated).  Same idea would probably be the most scalable 
process for your case I think?

If base guest templates aren't something that you just download (it's 
easy to get them for gentoo, so dunno...), then you could easily grab 
say a livecd, chroot into it, use it to do your debboot (or whatever 
it's called) and get your base install built that way?

Perhaps you can do it all using Yum on a gentoo host... Fraid not 
tried... However, you can get livecd's of gentoo easily enough.  Then 
"emerge yum" and you can give it a quick try?


Incidently, just as a datapoint, I find vservers to be excellent for my 
business (basically small ISP).  I also use it for the office servers.  
My procedure is to use a selection of base gentoo guests which are 
already lightly customised (say "vanilla", "www-apache", "www-nginx").  
A better process would be to use some kind of change control process 
such as puppet and build all guests from "vanilla", but I haven't yet 
got that mature a setup...  I then use the vserver containers roughly as 
a kind of fancy chroot and largely each machine does only one thing, say 
fileserver, www for each web application, dns, ldap, accounts-system, 
etc, etc.

Gentoo allows you to create "profiles" which control something like 
which software packages are installed and what features are enabled.  I 
create custom profiles for the main generic types of vserver that I use 
(dns, www-apache, www-nginx, mail, av-scan, etc), and then there are 
usually several+ guests using each profile.  Frequently I duplicate 
guests so that I have a primary backup server (running on different IPs) 
and I'm growing towards having a cluster filesystem copy machines and 
data between multiple physical servers (warm/hot failover)

One thing I find very helpful is the old school separation of data and 
OS, so my guest fstab typically mounts /vservers/images/www1 and then a 
bunch of mounts in /vserver/data/www1/{blah,whatever}.  eg most 
webservers would mount /var/www from the data share, fileservers would 
mount the fs data.  The purpose of this is to make it easy to duplicate 
a guest, upgrade it / reconfigure it, test the new behaviour (on live 
data) and then if it's successful apply same to the original

I don't have a very big install, perhaps 20-30 guests per real server.  
However, Daniel has recently implemented a feature which is wonderful 
for the management of this (hope I'm not spoiling his thunder).  You can 
now group guests by "mark" and operate on groups of guests based on 
various permutations of marks.  This makes it incredibly easy to say 
fire up all my templates, upgrade them, then turn them off.  Or mass 
upgrade all guests, except those marked as "critical", which get manual 
"watched" upgrade very carefully.  Lots of powerful options there.

I see us growing to the low 100s of vservers kind of range, not sure how 
much physical hardware we will need, but mainly I expect to be RAM 
constrained (and later perhaps IO constrained) rather than CPU bound.

Hope that helps

All the best

Ed W