Re: Multi server package management
On Sun, Apr 09, 2006 at 09:34:44PM -0400, Chris Wagner wrote:
> Here's what we did for a 500+ node cluster. 2 approaches depending on
> 1) sync all ssh keys so u don't need a password. Then do a foreach
> script to run the command remotely via ssh <command>.
that's basically what i did to manage several dozen remotely-located
squid/apache/mail/internet-gateway boxes a few years ago. they all had
almost identical hardward and software installed.
for each upgrade, i did the first machine or two manually so that i
would know of any problems that needed solving (e.g. changes in config
file formats), and so that i could script any extra things that needed
doing before/after the upgrade.
then a fairly simple for loop which upgraded each machine in turn,
logging both stdout and stderr for each one, and keeping track of which
machines had been upgraded and which hadn't (so that the script could
simply be re-started if there were any problems, and it would skip those
that had already been done).
simple stuff, so i rewrote the scripts again each time i needed them
(actually, copied and edited from the previous time as each upgrade was
slightly different and the scripts evolved slightly each time)
most upgrades involved writing a simple sh or perl script which was
uploaded with scp to each server and executed, and usually a .tar.gz
file which contained config files (often customised for each machine
after extraction with 'perl -i' scripts - e.g. to change host/domain
names or IP addresses etc).
i've never really seen the need for a complicated automated system. dpkg
and apt-get are good command-line tools that readily lend themselves to
use in scripts.
craig sanders <email@example.com> (part time cyborg)