Ramon van Alteren wrote:
Daniel van Ham Colchete wrote:
Here on my company we are going to start deploying Gentoo Linux on our
customers. Every server will have the very same installed packages,
the very same use flags, very same cflags, only a few configurations
will differ.
Good plan...
I would like the deployment and maintenance to be done as easily as
possible because this project needs to be scalable to more than 100
servers. Although we are going to install only 10 servers in the
beginning, my boss says that I should be prepared for this number to
grow.
Setting the project aside, I'm thinking about developing my own
installer to install a catalyst's stage4 and reboot a working Gentoo.
After that I'm thinking about using emerge with binary packages to
install updates automatically. What do you think? Will it work? Is it
possible to rollback an update if something goes wrong?
To solve the problem with incompatible configuration files, everytime
I upgrade anything, a perl script will reconfigure the customers
server.
We use quickstart + pxe + catalyst stage4 to do the installing.
http://agaffney.org/quickstart/
http://www.gentoo.org/proj/en/releng/catalyst/
But that's only half the problem...
After the install you have a server which needs to be maintained,
configurations need to change because the customer wants different
things, etc. etc.
For that we're working on deploying puppet in our serverpark:
http://reductivelabs.com/trac/puppet/wiki/PuppetIntroduction
This is a tool that will manage configurations, users, mounts and what not.
That would be a lot better then writing a perl-script, and offers you a
lot more flexibility.
In fact one of the stated goals of puppet by it's creator L. Kanies is
to make it possible for sysadmins to start sharing
system recipes among each other which solve problems, instead of every
one inventing their own wheel.
There are ebuilds for puppet in bugzie here:
http://bugs.gentoo.org/show_bug.cgi?id=146712
And there's a fairly active and friendly community on #puppet as well.
WRT binary packages, check out the tinderbox target in catalyst.
That way you can at least ensure that what you want will build against a
certain target, and if you enable package-cache in catalyst you already
have a buildserver :-)
Interested to discuss this further and maybe share code and/or
configurations,
I know in March I'm going to be deploying this across all the servers I
manage. A few parties have contacted me offlist and all of what you
reference is right along what myself and others are probably trying to
do. If enough people are interested maybe we can create a unified howto
for large-scale gentoo deployments.
Thanks
C.
--
[email protected] mailing list