<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Administering Dozens of Debian Servers</title>
	<atom:link href="http://changelog.complete.org/archives/845-administering-dozens-of-debian-servers/feed" rel="self" type="application/rss+xml" />
	<link>http://changelog.complete.org/archives/845-administering-dozens-of-debian-servers</link>
	<description>Viewpoints on technology, society, and government</description>
	<lastBuildDate>Tue, 14 May 2013 02:23:41 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
	<item>
		<title>By: emag</title>
		<link>http://changelog.complete.org/archives/845-administering-dozens-of-debian-servers/comment-page-1#comment-3324</link>
		<dc:creator>emag</dc:creator>
		<pubDate>Wed, 04 Mar 2009 14:58:35 +0000</pubDate>
		<guid isPermaLink="false">http://changelog.complete.org/?p=845#comment-3324</guid>
		<description><![CDATA[I was wondering if you&#039;ve found a solution yet?  I was talking with someone yesterday evening about config management, primarily for 40+ Debian boxes (primarily VMs), but with some RHEL 3-5, SLES, OpenSuSE, Solaris 7-10, and AIX boxes thrown in for flavoring, and they directed me here, saying &quot;john is smart so i&#039;d do whatever he does&quot;.

I&#039;ve been contemplating puppet, cfengine, and/or bcfg2, but haven&#039;t moved past the navel-gazing aspects yet.  I do know that the manual process and local &quot;meta&quot; packages for the Debian side is untenable going forward, as it&#039;s already getting difficult to deal with updates and especially the etch -&gt; lenny transition.  A lot of the machines are web stuff, but like you, several have one-off packages needed for specific apps.

So have you come to any decisions yet, or is it still a matter of nothing quite meeting your needs?]]></description>
		<content:encoded><![CDATA[<p>I was wondering if you&#8217;ve found a solution yet?  I was talking with someone yesterday evening about config management, primarily for 40+ Debian boxes (primarily VMs), but with some RHEL 3-5, SLES, OpenSuSE, Solaris 7-10, and AIX boxes thrown in for flavoring, and they directed me here, saying &#8220;john is smart so i&#8217;d do whatever he does&#8221;.</p>
<p>I&#8217;ve been contemplating puppet, cfengine, and/or bcfg2, but haven&#8217;t moved past the navel-gazing aspects yet.  I do know that the manual process and local &#8220;meta&#8221; packages for the Debian side is untenable going forward, as it&#8217;s already getting difficult to deal with updates and especially the etch -&gt; lenny transition.  A lot of the machines are web stuff, but like you, several have one-off packages needed for specific apps.</p>
<p>So have you come to any decisions yet, or is it still a matter of nothing quite meeting your needs?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Greg</title>
		<link>http://changelog.complete.org/archives/845-administering-dozens-of-debian-servers/comment-page-1#comment-2948</link>
		<dc:creator>Greg</dc:creator>
		<pubDate>Wed, 17 Dec 2008 11:01:40 +0000</pubDate>
		<guid isPermaLink="false">http://changelog.complete.org/?p=845#comment-2948</guid>
		<description><![CDATA[For monitoring purpose you may also be interested by monit, munin and atsar.]]></description>
		<content:encoded><![CDATA[<p>For monitoring purpose you may also be interested by monit, munin and atsar.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jlouis</title>
		<link>http://changelog.complete.org/archives/845-administering-dozens-of-debian-servers/comment-page-1#comment-2947</link>
		<dc:creator>jlouis</dc:creator>
		<pubDate>Wed, 17 Dec 2008 10:28:35 +0000</pubDate>
		<guid isPermaLink="false">http://changelog.complete.org/?p=845#comment-2947</guid>
		<description><![CDATA[Puppet is the way I would go as well. It is pretty simple to set up and get going. After that it is simply a matter of taking one service at a time and making it standard.]]></description>
		<content:encoded><![CDATA[<p>Puppet is the way I would go as well. It is pretty simple to set up and get going. After that it is simply a matter of taking one service at a time and making it standard.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nico</title>
		<link>http://changelog.complete.org/archives/845-administering-dozens-of-debian-servers/comment-page-1#comment-2945</link>
		<dc:creator>Nico</dc:creator>
		<pubDate>Wed, 17 Dec 2008 07:45:23 +0000</pubDate>
		<guid isPermaLink="false">http://changelog.complete.org/?p=845#comment-2945</guid>
		<description><![CDATA[I&#039;m running along with puppet with configuration management &amp; capistrano for running commands on hosts. It may sound funny to use capistrano to do some system administration but it does its job. Grab some keyboardcast fun to, when a few machines are involved ;)]]></description>
		<content:encoded><![CDATA[<p>I&#8217;m running along with puppet with configuration management &amp; capistrano for running commands on hosts. It may sound funny to use capistrano to do some system administration but it does its job. Grab some keyboardcast fun to, when a few machines are involved ;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jan Dittberner</title>
		<link>http://changelog.complete.org/archives/845-administering-dozens-of-debian-servers/comment-page-1#comment-2940</link>
		<dc:creator>Jan Dittberner</dc:creator>
		<pubDate>Tue, 16 Dec 2008 22:09:26 +0000</pubDate>
		<guid isPermaLink="false">http://changelog.complete.org/?p=845#comment-2940</guid>
		<description><![CDATA[We use some Debian machines (virtual and physical) and use apticron for updates and a svn repository with shared configuration files and etckeeper for local changes. Some small manual work is needed from time to time but we are satisfied with the process.]]></description>
		<content:encoded><![CDATA[<p>We use some Debian machines (virtual and physical) and use apticron for updates and a svn repository with shared configuration files and etckeeper for local changes. Some small manual work is needed from time to time but we are satisfied with the process.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Narayan Desai</title>
		<link>http://changelog.complete.org/archives/845-administering-dozens-of-debian-servers/comment-page-1#comment-2939</link>
		<dc:creator>Narayan Desai</dc:creator>
		<pubDate>Tue, 16 Dec 2008 20:58:44 +0000</pubDate>
		<guid isPermaLink="false">http://changelog.complete.org/?p=845#comment-2939</guid>
		<description><![CDATA[Bcfg2 is actually designed for non-homogeneous environments, but this has caused some of the processes to be somewhat heavyweight. One of the things that has changed in bcfg2 since the discussion last year is that bcfg2 has gotten a lot more capable at pulling changes from clients. This allows you to perform manual administration on clients, and let bcfg2 detect the changes. Then you can associate those configuration changes with the appropriate client or sets of clients.]]></description>
		<content:encoded><![CDATA[<p>Bcfg2 is actually designed for non-homogeneous environments, but this has caused some of the processes to be somewhat heavyweight. One of the things that has changed in bcfg2 since the discussion last year is that bcfg2 has gotten a lot more capable at pulling changes from clients. This allows you to perform manual administration on clients, and let bcfg2 detect the changes. Then you can associate those configuration changes with the appropriate client or sets of clients.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Josip Rodin</title>
		<link>http://changelog.complete.org/archives/845-administering-dozens-of-debian-servers/comment-page-1#comment-2938</link>
		<dc:creator>Josip Rodin</dc:creator>
		<pubDate>Tue, 16 Dec 2008 20:35:53 +0000</pubDate>
		<guid isPermaLink="false">http://changelog.complete.org/?p=845#comment-2938</guid>
		<description><![CDATA[Maybe it&#039;s obvious and redundant, but I have to say - cssh.]]></description>
		<content:encoded><![CDATA[<p>Maybe it&#8217;s obvious and redundant, but I have to say &#8211; cssh.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Markus Hochholdinger</title>
		<link>http://changelog.complete.org/archives/845-administering-dozens-of-debian-servers/comment-page-1#comment-2937</link>
		<dc:creator>Markus Hochholdinger</dc:creator>
		<pubDate>Tue, 16 Dec 2008 19:14:52 +0000</pubDate>
		<guid isPermaLink="false">http://changelog.complete.org/?p=845#comment-2937</guid>
		<description><![CDATA[Here&#039;s my solution:
* One Admin-Server, especially secured, with a ssh-key with no passphrase (seems most of you have this setup already).
* List of managed Servers on this Admin-Server.
* script: Every 5 minutes (cron), ssh (in parallel) to all servers in the list, execute a few commands (df, free, uptime, ..) and make a few remote checks (ping, http). If something changes, report this in ONE email for all servers.
* script: Once a day (cron), ssh to alle servers (sequential ) and perform a apt-get update &amp;&amp; apt-get -d upgrade, parse output, and only if updates are waiting report this in ONE email for all servers. Also execute a few other checks like getting the debian version, the location of the server, if its on hardware or a virtual one and so on. The results are saved in the server list.

Script for manually updating all servers:
For each server in the server list, do a &quot;ssh -t $SERVER $UPDATE&quot;, where $UPDATE is apt-get update, aptitude update or aptitude safe-upgrade depending on the debian version. With &quot;ssh -t $SERVER&quot; you can perform interactive things on each server in a row.

To manage the configuration or installation of special things first i document them in a format i can make a script of. Something like:
aptitude install xyz
CONFIG=/etc/xyz.conf
test -f $CONFIG.original &#124;&#124; cp -a $CONFIG $CONFIG.original
echo -e &quot;1c1
 OPTION=on&quot; &#124; patch $CONFIG

If i need this configuration frequently, i put this in a script which i can execute remotely in the form:
scp $PATHTO$SCRIPT $SERVER:/tmp/ &amp;&amp; ssh -t $SERVER /tmp/$SCRIPT

With this method i have full control over heterogeneous installations while doing a lot automated but doing changes only while i&#039;m sitting in front of.]]></description>
		<content:encoded><![CDATA[<p>Here&#8217;s my solution:<br />
* One Admin-Server, especially secured, with a ssh-key with no passphrase (seems most of you have this setup already).<br />
* List of managed Servers on this Admin-Server.<br />
* script: Every 5 minutes (cron), ssh (in parallel) to all servers in the list, execute a few commands (df, free, uptime, ..) and make a few remote checks (ping, http). If something changes, report this in ONE email for all servers.<br />
* script: Once a day (cron), ssh to alle servers (sequential ) and perform a apt-get update &amp;&amp; apt-get -d upgrade, parse output, and only if updates are waiting report this in ONE email for all servers. Also execute a few other checks like getting the debian version, the location of the server, if its on hardware or a virtual one and so on. The results are saved in the server list.</p>
<p>Script for manually updating all servers:<br />
For each server in the server list, do a &#8220;ssh -t $SERVER $UPDATE&#8221;, where $UPDATE is apt-get update, aptitude update or aptitude safe-upgrade depending on the debian version. With &#8220;ssh -t $SERVER&#8221; you can perform interactive things on each server in a row.</p>
<p>To manage the configuration or installation of special things first i document them in a format i can make a script of. Something like:<br />
aptitude install xyz<br />
CONFIG=/etc/xyz.conf<br />
test -f $CONFIG.original || cp -a $CONFIG $CONFIG.original<br />
echo -e &#8220;1c1<br />
 OPTION=on&#8221; | patch $CONFIG</p>
<p>If i need this configuration frequently, i put this in a script which i can execute remotely in the form:<br />
scp $PATHTO$SCRIPT $SERVER:/tmp/ &amp;&amp; ssh -t $SERVER /tmp/$SCRIPT</p>
<p>With this method i have full control over heterogeneous installations while doing a lot automated but doing changes only while i&#8217;m sitting in front of.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Greg</title>
		<link>http://changelog.complete.org/archives/845-administering-dozens-of-debian-servers/comment-page-1#comment-2936</link>
		<dc:creator>Greg</dc:creator>
		<pubDate>Tue, 16 Dec 2008 18:41:44 +0000</pubDate>
		<guid isPermaLink="false">http://changelog.complete.org/?p=845#comment-2936</guid>
		<description><![CDATA[Hi, 

It depends on what you want to do. You can automate things with puppet (written in ruby) or bcfg2 (in python), or you can do some manual stuff with python pexpect (and pxssh), and cssh( cluster ssh). 

You might also want to track the configuration files with a scm like git.]]></description>
		<content:encoded><![CDATA[<p>Hi, </p>
<p>It depends on what you want to do. You can automate things with puppet (written in ruby) or bcfg2 (in python), or you can do some manual stuff with python pexpect (and pxssh), and cssh( cluster ssh). </p>
<p>You might also want to track the configuration files with a scm like git.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Goerzen</title>
		<link>http://changelog.complete.org/archives/845-administering-dozens-of-debian-servers/comment-page-1#comment-2935</link>
		<dc:creator>John Goerzen</dc:creator>
		<pubDate>Tue, 16 Dec 2008 18:26:13 +0000</pubDate>
		<guid isPermaLink="false">http://changelog.complete.org/?p=845#comment-2935</guid>
		<description><![CDATA[I should add that people on IRC have also suggested:

http://www.eyrie.org/~eagle/software/bundle/

cluster ssh

http://rsug.itd.umich.edu/software/radmind/]]></description>
		<content:encoded><![CDATA[<p>I should add that people on IRC have also suggested:</p>
<p><a href="http://www.eyrie.org/~eagle/software/bundle/" rel="nofollow">http://www.eyrie.org/~eagle/software/bundle/</a></p>
<p>cluster ssh</p>
<p><a href="http://rsug.itd.umich.edu/software/radmind/" rel="nofollow">http://rsug.itd.umich.edu/software/radmind/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Goerzen</title>
		<link>http://changelog.complete.org/archives/845-administering-dozens-of-debian-servers/comment-page-1#comment-2934</link>
		<dc:creator>John Goerzen</dc:creator>
		<pubDate>Tue, 16 Dec 2008 18:05:48 +0000</pubDate>
		<guid isPermaLink="false">http://changelog.complete.org/?p=845#comment-2934</guid>
		<description><![CDATA[The problem with that is that it leads to a significant reduction in agility.  If I go to a system, I can apt-get install a package, answer debconf questions, and it&#039;s ready to use.  If I use cfengine, I&#039;d have to have a test environment first, install something there, see if it asks questions, figure out the correct way to handle it if it does, etc.

That&#039;s a lot of work for one-off packages.  Maybe it makes sense for things like Exim that are everywhere... but then if it&#039;s everywhere, that&#039;s not the sort of problem I&#039;m talking about.]]></description>
		<content:encoded><![CDATA[<p>The problem with that is that it leads to a significant reduction in agility.  If I go to a system, I can apt-get install a package, answer debconf questions, and it&#8217;s ready to use.  If I use cfengine, I&#8217;d have to have a test environment first, install something there, see if it asks questions, figure out the correct way to handle it if it does, etc.</p>
<p>That&#8217;s a lot of work for one-off packages.  Maybe it makes sense for things like Exim that are everywhere&#8230; but then if it&#8217;s everywhere, that&#8217;s not the sort of problem I&#8217;m talking about.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ss</title>
		<link>http://changelog.complete.org/archives/845-administering-dozens-of-debian-servers/comment-page-1#comment-2933</link>
		<dc:creator>ss</dc:creator>
		<pubDate>Tue, 16 Dec 2008 17:42:57 +0000</pubDate>
		<guid isPermaLink="false">http://changelog.complete.org/?p=845#comment-2933</guid>
		<description><![CDATA[You use cfengine2 in a wrong way when you hack cfengine after making changes. You should hack cfengine first and then run it to make changes.  The same applies to the puppet as well. I did the same mistake in the beginning and found cfengine very frustrating to use.  Now it is a breeze to manage 20+ physical servers (as a part time duty ;-) with FAI and cfengine.]]></description>
		<content:encoded><![CDATA[<p>You use cfengine2 in a wrong way when you hack cfengine after making changes. You should hack cfengine first and then run it to make changes.  The same applies to the puppet as well. I did the same mistake in the beginning and found cfengine very frustrating to use.  Now it is a breeze to manage 20+ physical servers (as a part time duty ;-) with FAI and cfengine.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Patrick Matthäi</title>
		<link>http://changelog.complete.org/archives/845-administering-dozens-of-debian-servers/comment-page-1#comment-2932</link>
		<dc:creator>Patrick Matthäi</dc:creator>
		<pubDate>Tue, 16 Dec 2008 16:58:40 +0000</pubDate>
		<guid isPermaLink="false">http://changelog.complete.org/?p=845#comment-2932</guid>
		<description><![CDATA[For a time I also had more and more problems to have our hundred of Debian servers up to date and searched for a solution.

I found &quot;apt-dater&quot; which was the tool I need (see ibh.de/apt-dater or sf.net..).

I also packaged it for Debian but while Lenny was froozen in this time, it is just in Sid.. Bad luck.

If you are interested I also have backports for Etch and Lenny, both i386 and amd64.]]></description>
		<content:encoded><![CDATA[<p>For a time I also had more and more problems to have our hundred of Debian servers up to date and searched for a solution.</p>
<p>I found &#8220;apt-dater&#8221; which was the tool I need (see ibh.de/apt-dater or sf.net..).</p>
<p>I also packaged it for Debian but while Lenny was froozen in this time, it is just in Sid.. Bad luck.</p>
<p>If you are interested I also have backports for Etch and Lenny, both i386 and amd64.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: CL</title>
		<link>http://changelog.complete.org/archives/845-administering-dozens-of-debian-servers/comment-page-1#comment-2931</link>
		<dc:creator>CL</dc:creator>
		<pubDate>Tue, 16 Dec 2008 16:52:46 +0000</pubDate>
		<guid isPermaLink="false">http://changelog.complete.org/?p=845#comment-2931</guid>
		<description><![CDATA[We use our own package repository that has meta-packages, (a few of our servers have the same configuration) We use nagios to monitor our servers, one of the checks is an apt update checker. It distinguishes between security updates and normal upgrades. 

If necessery, we then manually upgrade machines. This is not that hard, escpecially when using the cssh (cluster ssh) client. It&#039;s a type-once-send-to-all ssh terminal.]]></description>
		<content:encoded><![CDATA[<p>We use our own package repository that has meta-packages, (a few of our servers have the same configuration) We use nagios to monitor our servers, one of the checks is an apt update checker. It distinguishes between security updates and normal upgrades. </p>
<p>If necessery, we then manually upgrade machines. This is not that hard, escpecially when using the cssh (cluster ssh) client. It&#8217;s a type-once-send-to-all ssh terminal.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Roberto</title>
		<link>http://changelog.complete.org/archives/845-administering-dozens-of-debian-servers/comment-page-1#comment-2930</link>
		<dc:creator>Roberto</dc:creator>
		<pubDate>Tue, 16 Dec 2008 15:59:53 +0000</pubDate>
		<guid isPermaLink="false">http://changelog.complete.org/?p=845#comment-2930</guid>
		<description><![CDATA[I&#039;m going to add another plug for puppet. We&#039;re using cfengine2 to maintain the configuration of nearly 40 servers, and it works but the configuration is quite obscure. For example: we&#039;re using it for uploading scripts that do the dirty job, instead of using cfengine2 directly. Puppet is as potent as cfengine2, minus the complexity (but not that it&#039;s not complex too, be warned). It&#039;s more user friendly, so to speak. We&#039;re starting to deploy it, firstly at the lab, but I think that you should look into it at least. Have a look specially at how easy is to maintain certain packages installed or uninstalled in the system, and probably that&#039;ll hook you enough for trying more complex things.]]></description>
		<content:encoded><![CDATA[<p>I&#8217;m going to add another plug for puppet. We&#8217;re using cfengine2 to maintain the configuration of nearly 40 servers, and it works but the configuration is quite obscure. For example: we&#8217;re using it for uploading scripts that do the dirty job, instead of using cfengine2 directly. Puppet is as potent as cfengine2, minus the complexity (but not that it&#8217;s not complex too, be warned). It&#8217;s more user friendly, so to speak. We&#8217;re starting to deploy it, firstly at the lab, but I think that you should look into it at least. Have a look specially at how easy is to maintain certain packages installed or uninstalled in the system, and probably that&#8217;ll hook you enough for trying more complex things.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: foo</title>
		<link>http://changelog.complete.org/archives/845-administering-dozens-of-debian-servers/comment-page-1#comment-2929</link>
		<dc:creator>foo</dc:creator>
		<pubDate>Tue, 16 Dec 2008 15:42:08 +0000</pubDate>
		<guid isPermaLink="false">http://changelog.complete.org/?p=845#comment-2929</guid>
		<description><![CDATA[Some folks rave about puppet, sounds like it might suit your situation.]]></description>
		<content:encoded><![CDATA[<p>Some folks rave about puppet, sounds like it might suit your situation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sam</title>
		<link>http://changelog.complete.org/archives/845-administering-dozens-of-debian-servers/comment-page-1#comment-2928</link>
		<dc:creator>Sam</dc:creator>
		<pubDate>Tue, 16 Dec 2008 15:39:45 +0000</pubDate>
		<guid isPermaLink="false">http://changelog.complete.org/?p=845#comment-2928</guid>
		<description><![CDATA[We&#039;ve had great luck with Puppet. I&#039;m part of a 3 man team running 500+ machines across a dozen ERPs with lots of variety.]]></description>
		<content:encoded><![CDATA[<p>We&#8217;ve had great luck with Puppet. I&#8217;m part of a 3 man team running 500+ machines across a dozen ERPs with lots of variety.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Christoph</title>
		<link>http://changelog.complete.org/archives/845-administering-dozens-of-debian-servers/comment-page-1#comment-2927</link>
		<dc:creator>Christoph</dc:creator>
		<pubDate>Tue, 16 Dec 2008 15:24:05 +0000</pubDate>
		<guid isPermaLink="false">http://changelog.complete.org/?p=845#comment-2927</guid>
		<description><![CDATA[Hi,

At work we have some hundred debian-boxes and using packages for the default-settings works very well.
Using cron-apt for security-upgrades works very well also. As long as you have some sort of staging.]]></description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>At work we have some hundred debian-boxes and using packages for the default-settings works very well.<br />
Using cron-apt for security-upgrades works very well also. As long as you have some sort of staging.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Goetze</title>
		<link>http://changelog.complete.org/archives/845-administering-dozens-of-debian-servers/comment-page-1#comment-2926</link>
		<dc:creator>Michael Goetze</dc:creator>
		<pubDate>Tue, 16 Dec 2008 15:20:17 +0000</pubDate>
		<guid isPermaLink="false">http://changelog.complete.org/?p=845#comment-2926</guid>
		<description><![CDATA[I&#039;m a fan of FAI softupdates. While my FAI configuration includes some cfengine scripts, I can also use its native lists of packages to install, copy files verbatim with fcopy, etc. As an added bonus, if a system breaks, i can just reinstall it with FAI and the configuration will automatically be up-to-date again.]]></description>
		<content:encoded><![CDATA[<p>I&#8217;m a fan of FAI softupdates. While my FAI configuration includes some cfengine scripts, I can also use its native lists of packages to install, copy files verbatim with fcopy, etc. As an added bonus, if a system breaks, i can just reinstall it with FAI and the configuration will automatically be up-to-date again.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
