[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Managing large numbers (100+) of Debian-based machines



Hi,
On Thu, Apr 07, 2011 at 01:45:55PM +0200, tv.debian@googlemail.com wrote:
> 07/04/2011 13:21, Laurence Hurst:
> > Hi folks,
> > I am looking at possibly deploying Debian (or a derivative thereof)
> >on a large number of machines (initially 80 but I fully expect the final
> >number to end up being in excess of 100) which are intermittently
> >connected to the network (due to multi-boot setup). I was wondering
> >if anyone else has a large(ish) installation base and what tools they
> >were using to manage the machines (especially when it comes to patching)?
> >On this scale manual ssh methods become unmanageable, even using the
> >likes of pdsh and before I even consider the fact the machines will not
> >all be in Linux at any given time. Unfortunately I have no budget for
> >this project so an Ubuntu/Landscape solution is not workable. Ideally
> >something usable by non-Linux (but technically competent Windows)
> >administrators would be nice (e.g. a "point and shoot" web-interface
> >to mass deploy updates). Does anyone have any suggestions of existing
> >projects which fit this bill or am I going to have to roll my own
> >solution?
> > Thanks in advance
> > Laurence
> > 
> > 
> 
> Hi, maybe you can have a look at cfengine[1], seems to fit your needs
> and it's readily available in Debian. I don't have hands-on experience
> with it though.
> 
> [1] http://www.cfengine.org/pages/what_is_cfengine

Another approach would be "FAI" http://fai-project.org
In addition to a "update", it also contains the installation system. In short:
 - you create so-called "classes" which describe the
   machines/configuration/software (e.g. graphics drivers, which
   software to install, what is the default printer, ...)
 - for every machine you define which classes apply to this machine
 - this configuration space is put on a central server
No, for a full installation of one client, you have to boot the client
from the "install" system (can be USB-Stick, CD, or you boot from the
network -- its only a minimal linux)
 - you need a DHCP-Server which distributes the correct
   Hostnames/IP-Adresse to the machine (identified by its MAC-adress) --
   or you have to select the hostname by hand during the full
   installation.
 - then, FAI runs the full install (partition harddisks, create
   filesystems, install debian base-system, install additional software,
   apply patches,... as configured by the "classes")
 - after a restart, your machine is fully installed & configured :-)

For patches: fai supports a feature "softupdate", which can be executed
on a running client, and which then reads again the full
configuration-space.
So you just need a way to start the softupdate regularly (my solution: I
have a "version-file" on the server and a local one on each client. At
every boot, the client checks the version-number in the server &
compares it to its local one -- and starts the update if necessary).

I'm happy with FAI ;-) Once you have the configuration space, everything
"just works"  -- and re-installations (e.g. due to hardware failures)
are no problems.

Axel


Reply to: