<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>James' World</title>
	<atom:link href="http://www.jebriggs.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jebriggs.com/blog</link>
	<description>Observations by a Programmer of Silicon Valley and Beyond</description>
	<lastBuildDate>Wed, 10 Mar 2010 12:58:54 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>SSH Configuration Tips</title>
		<link>http://www.jebriggs.com/blog/2010/03/ssh-configuration-tips/</link>
		<comments>http://www.jebriggs.com/blog/2010/03/ssh-configuration-tips/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 12:58:15 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[BSD]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.jebriggs.com/blog/?p=1769</guid>
		<description><![CDATA[I came across a useful blog post with 20 SSH configuration tips.
I&#8217;ll have more to say later about why the tips are useful, but the title of &#8220;Top 20 OpenSSH Server Best Security Practices&#8221; is not really accurate.
Top 20 OpenSSH Server Best Security Practices
]]></description>
			<content:encoded><![CDATA[<p>I came across a useful blog post with <a href="http://www.cyberciti.biz/tips/linux-unix-bsd-openssh-server-best-practices.html">20 SSH configuration tips.</a></p>
<p>I&#8217;ll have more to say later about why the tips are useful, but the title of &#8220;Top 20 OpenSSH Server Best Security Practices&#8221; is not really accurate.</p>
<p><a href="http://www.cyberciti.biz/tips/linux-unix-bsd-openssh-server-best-practices.html">Top 20 OpenSSH Server Best Security Practices</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jebriggs.com/blog/2010/03/ssh-configuration-tips/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>linux 100% swap Screenshot</title>
		<link>http://www.jebriggs.com/blog/2010/03/linux-100-swap-screenshot/</link>
		<comments>http://www.jebriggs.com/blog/2010/03/linux-100-swap-screenshot/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 02:55:06 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://www.jebriggs.com/blog/?p=1756</guid>
		<description><![CDATA[Nice screenshot of 100% swap space being used on a popular but ill Perl app running under ModPerl::PerlRun.  

Tasks:  85 total,   2 running,  83 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us, 14.8%sy,  0.0%ni, 17.0%id, 68.1%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   8174024k total, [...]]]></description>
			<content:encoded><![CDATA[<p>Nice screenshot of 100% swap space being used on a popular but ill Perl app running under ModPerl::PerlRun. <img src='http://www.jebriggs.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<pre>
Tasks:  85 total,   2 running,  83 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us, 14.8%sy,  0.0%ni, 17.0%id, 68.1%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   8174024k total,  8132492k used,    41532k free,      284k buffers
Swap:  2096472k total,  2096472k used,        0k free,     5648k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  308 root      10  -5     0    0    0 D 17.5  0.0   0:05.14 kswapd0
15985 apache    18   0 19.4g 7.7g   84 D 15.1 98.3   0:12.09 httpd
15996 root      16   0 12740  624  368 R  5.4  0.0   0:00.48 top
    1 root      16   0 10348  124   32 S  0.0  0.0   0:01.69 init
</pre>
<p>The test server is a Dell 1950 with 8 GB RAM running CentOS 5.4 x64 and Apache 2.x.</p>
<p>The above problem illustrates one of the many reasons that almost all hosting providers adopted PHP instead of mod_perl.</p>
<p>PHP gives you good performance without the headaches of mod_perl, which get magnified in a shared environment.</p>
<p>However, if you have a dedicated machine, mod_perl is a great way to accelerate a Perl application as long as the program is reasonably well-behaved.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jebriggs.com/blog/2010/03/linux-100-swap-screenshot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Redhat system-config-securitylevel Surprises</title>
		<link>http://www.jebriggs.com/blog/2010/03/redhat-system-config-securitylevel-surprises/</link>
		<comments>http://www.jebriggs.com/blog/2010/03/redhat-system-config-securitylevel-surprises/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 23:28:53 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Toys]]></category>

		<guid isPermaLink="false">http://www.jebriggs.com/blog/?p=1725</guid>
		<description><![CDATA[When I use a firewall generator, like Redhat&#8217;s system-config-securitylevel, this is not what I expect when I tell it to allow only ports 22, 80, and 443:

# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT [...]]]></description>
			<content:encoded><![CDATA[<p>When I use a firewall generator, like Redhat&#8217;s system-config-securitylevel, this is not what I expect when I tell it to allow only ports 22, 80, and 443:</p>
<pre>
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
</pre>
<p>According to /etc/services, 224.0.0.251:5353 is multicast DNS, 631 is for printing, and 50 and 51 are &#8220;Remote Mail Checking Protocols&#8221;.</p>
<p>How does that help my webserver exactly? Unix is not supposed to volunteer your machine for things that were not requested.</p>
<p>And those extra ports are useless when in linux runlevel 3 (console mode) since no desktop environment can run without X, nevermind the INPUT and FORWARD ACCEPT defaults.</p>
<p>This <a href="http://www.mista.nu/iptables/">free web tool</a> makes a lot more sense to me:</p>
<pre>
 Generated by iptables-save v1.3.5 on Tue Mar  2 23:33:21 2010
*filter
:INPUT DROP
:FORWARD DROP
:OUTPUT ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -m state --state NEW -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -m state --state NEW -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
COMMIT
# Completed on Tue Mar  2 23:33:21 2010
</pre>
<p>Just put that in /etc/sysconfig/iptables on your Redhat or CentOS webserver then:</p>
<pre>
chkconfig iptables on
service iptables restart
</pre>
<p>iptables is started in script 08iptables, which is after several other services but before networking is started, which sounds ok.</p>
<p><a href="http://www.mista.nu/iptables/">mista.nu: Simple Iptables Script Generator</a><br />
<a href="https://www.redhat.com/wapps/store/allProducts.html">Redhat Product Pricing</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jebriggs.com/blog/2010/03/redhat-system-config-securitylevel-surprises/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HAProxy Comments</title>
		<link>http://www.jebriggs.com/blog/2010/02/haproxy-comments/</link>
		<comments>http://www.jebriggs.com/blog/2010/02/haproxy-comments/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 08:39:09 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Toys]]></category>

		<guid isPermaLink="false">http://www.jebriggs.com/blog/?p=1700</guid>
		<description><![CDATA[Just trying out HAProxy in a new data center for http load balancing.
I&#8217;m not expecting a lot of site traffic initially, but using a load balancer from Day One lets you get all the data center servers assigned, and allows sysadmins to do maintenance whenever convenient.
I was looking around at similar Open Source software, and [...]]]></description>
			<content:encoded><![CDATA[<p>Just trying out <a href="http://www.webhostingtalk.com/showthread.php?t=627783">HAProxy</a> in a new data center for http load balancing.</p>
<p>I&#8217;m not expecting a lot of site traffic initially, but using a load balancer from Day One lets you get all the data center servers assigned, and allows sysadmins to do maintenance whenever convenient.</p>
<p>I was looking around at similar Open Source software, and what caught my attention about HAProxy is that Willy &#8220;obsessed with reliability&#8221; Tarreau is the author.</p>
<p>HAProxy has several nice features, including speed (fast enough for 10 GB connections at up to 132,000 connections per second), and epoll, cookie, multicore, chroot support and much more.</p>
<p>There are ports available for most Unix systems, including linux, FreeBSD and Solaris.</p>
<p>Here is the build script I wrote for a Dell 1950 (after installing <a href="http://www.pcre.org/">libpcre</a>):</p>
<pre>
#!/bin/bash

make clean
make TARGET=linux26 USE_PCRE=1 ARCH=x86_64
# no make test
make install
</pre>
<p>You can do a graceful restart of HAProxy by adding this to your startup script (the tr is needed to handle when nbproc > 1):</p>
<pre>
graceful() {
  /usr/local/sbin/haproxy -c -q -f /etc/haproxy.cfg
  if [ $? -ne 0 ]; then
    echo "Errors found in configuration file, check it with 'haproxy check'."
    return 1
  fi
  /usr/local/sbin/haproxy -V -f /etc/haproxy.cfg -p /var/run/haproxy.pid -sf
`tr '\n' ' ' < /var/run/haproxy.pid`
}
</pre>
<p><a href="http://haproxy.1wt.eu/#docs">HAProxy Documentation</a><br />
<a href="http://www.webhostingtalk.com/showthread.php?t=627783">wht: HAproxy - Quick and Dirty HTTP Load balancing Tutorial on Redhat/Centos</a><br />
<a href="http://leavingcorporate.com/2008/03/03/session-based-load-balancing-with-haproxy/">Session Based Load Balancing with HAproxy</a><br />
<a href="http://titopanicker.net/blog/?p=59">tito: Zero-Downtime Restarts with HAProxy</a><br />
<a href="http://blog.christory.net/2009/09/15/building-an-easy-and-scalable-load-balanced-high-availability-web-hosting-solution-part-one-the-front/">Building an easy and scalable load-balanced high-availability web-hosting solution. Part One : The front.</a><br />
<a href="http://www.howtoforge.com/setenvif_apache2">How To Tell Apache To Not Log Certain Requests In Its Access Log</a><br />
<a href="http://www.zeus.com/downloads/developers/ec2/zeus_ec2_pricing.html">Pricing for Zeus software on Amazon EC2</a><br />
microsoft.com: Network Load Balancing Technical Overview<br />
<a href="http://www.loadbalancer.org/faq.php">loadbalancer.org: FAQ</a><br />
<a href="http://www.tenereillo.com/GSLBPageOfShame.htm">Tenereillo.com: Why DNS Based Global Server Load Balancing (GSLB) Doesn't Work (2005)</a><br />
<a href="http://blogs.sun.com/davew/entry/thoughts_on_global_server_load">davew: Thoughts on Global Server Load Balancing</a><br />
<a href="http://devcentral.f5.com/weblogs/ksalchow/archive/2009/06/03/shame-on-gslb-shame-on-me.aspx">ksalchow: Shame on GSLB? Shame on Me?</a><br />
<a href="http://vegan.net/lb/">Vegan Load Balancing Mailing List</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jebriggs.com/blog/2010/02/haproxy-comments/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Robinson R66 Helicopter in Production</title>
		<link>http://www.jebriggs.com/blog/2010/02/robinson-r66-helicopter-in-production/</link>
		<comments>http://www.jebriggs.com/blog/2010/02/robinson-r66-helicopter-in-production/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 07:05:03 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Flying]]></category>

		<guid isPermaLink="false">http://www.jebriggs.com/blog/?p=1694</guid>
		<description><![CDATA[Congrats to Frank Robinson on his new helicopter product, the Turbine R66, for $770,000 with standard equipment.
His R44 piston was so economical that Bell shutdown production of the Jetranger line, and the R66 is another amazing machine.
And manufactured in the USA.
Heli-Expo 2010: Robinson&#8217;s new baby leads the way
avweb.com: Robinson Sets R66 Price At $770,000 
Robinson [...]]]></description>
			<content:encoded><![CDATA[<p>Congrats to Frank Robinson on his new helicopter product, the <a href="http://www.robinsonheli.com/r66turbine.htm">Turbine R66</a>, for $770,000 with standard equipment.</p>
<p>His R44 piston was so economical that Bell shutdown production of the Jetranger line, and the R66 is another amazing machine.</p>
<p>And manufactured in the USA.</p>
<p><a href="http://www.shephard.co.uk/news/rotorhub-com/heli-expo-2010-robinson-s-new-baby-leads-the-way/5618/">Heli-Expo 2010: Robinson&#8217;s new baby leads the way</a><br />
<a href="http://www.avweb.com/avwebbiz/news/RobinsonSetsR66Price_202068-1.html">avweb.com: Robinson Sets R66 Price At $770,000 </a><br />
<a href="http://www.robinsonheli.com/">Robinson Helicopter</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jebriggs.com/blog/2010/02/robinson-r66-helicopter-in-production/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Intel Atom D510 Server News</title>
		<link>http://www.jebriggs.com/blog/2010/02/intel-atom-d510-server-news/</link>
		<comments>http://www.jebriggs.com/blog/2010/02/intel-atom-d510-server-news/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 23:58:29 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Toys]]></category>

		<guid isPermaLink="false">http://www.jebriggs.com/blog/?p=1664</guid>
		<description><![CDATA[The Supermicro X7SPA-HF is a near-server-class $200 Atom-based motherboard.
Pluses are extreme low-power operation (under 35 watts for an entire system), dual core with HT, dual gigabit NICs and IPMI remote mgmt. (Reportedly there are still some minor bugs in the IPMI code, for example with mounting ISO images remotely.)
Minuses are that memory is limited to [...]]]></description>
			<content:encoded><![CDATA[<p>The Supermicro <a href="http://www.supermicro.com/products/motherboard/ATOM/ICH9/X7SPA.cfm?typ=H&#038;IPMI=Y">X7SPA-HF</a> is a near-server-class $200 Atom-based motherboard.</p>
<p>Pluses are extreme low-power operation (under 35 watts for an entire system), dual core with HT, dual gigabit NICs and IPMI remote mgmt. (Reportedly there are still some minor bugs in the IPMI code, for example with mounting ISO images remotely.)</p>
<p>Minuses are that memory is limited to 4 GB non-ECC single-channel SO-DIMM (notebook) DDR2 RAM, but hey, an Atom is a slow processor suitable for file-serving and not heavy calculations. I have heard of serving ftp traffic at 300 Mbps with this mobo.</p>
<p>I&#8217;m thinking of using it in the data center where power is at a premium, but having a dedicated box is nice &#8211; uses like an HAProxy appliance or a PXE/kickstart build server.</p>
<p>One use of Atoms is &#8220;rack filler&#8221;: The low-power Atom servers can be distributed into racks where there&#8217;s not enough power for another 2-amp Dell server, but where there&#8217;s still a half amp or so left on a circuit.</p>
<p>The power budget looks like:</p>
<table border=1>
<tr>
<td>mobo/cpu</td>
<td>21 watts</td>
</tr>
<tr>
<td>8800 RPM fan</td>
<td>2 watts</td>
</tr>
<tr>
<td>notebook hard drive</td>
<td>5 watts</td>
</tr>
<tr>
<td>4 GB DDR2 SO-DIMM RAM</td>
<td>1 watt</td>
</tr>
<tr>
<td>80%-efficient power supply losses</td>
<td>6 watts</td>
</tr>
<tr>
<td>Total</td>
<td>35 watts</td>
</tr>
</table>
<p>The total cost of this server is about $450 to assemble from the above mobo and Supermicro case/80% PSU.</p>
<p>Thanks to Colin from HE for telling me about his experiences with the D510.</p>
<p><a href="http://www.webhostingtalk.com/showthread.php?t=915675&#038;highlight=d510">wht: 0.2amp server with Intel Atom D510</a><br />
<a href="http://www.anandtech.com/cpuchipsets/showdoc.aspx?i=3692&#038;p=1">anandtech.com: Intel Atom D510: Pine Trail Boosts Performance, Cuts Power</a><br />
<a href="http://atacom.com/program/atacom.cgi?Pagecode=SEARCH_ALL&#038;ADD=MB13_SUPE_X7_HF">atacom.com: MB13_SUPE_X7_HF pricing</a><br />
<a href="http://www.apaqdigital.com/main/home/ATOM.htm">APAQ Digital: Atom Servers</a><br />
<a href="http://gcc.gnu.org/gcc-4.5/changes.html">GCC 4.5 Release Series Changes, New Features, and Fixes: Support for the Intel Atom processor is now available through the -march=atom and -mtune=atom options.</a><br />
<a href="http://www.tomshardware.com/news/apple-mac-nvidia-ion,6849.html">tomshardware.com: UPDATE: Apple Mac Mini Based on Nvidia Ion (Rumors)</a><br />
<a href="http://www.engadget.com/2010/03/01/intel-officially-adds-pine-trail-atom-n470-processor-early-perf/">engadget: Atom N470 at CES</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jebriggs.com/blog/2010/02/intel-atom-d510-server-news/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows User VPN Software</title>
		<link>http://www.jebriggs.com/blog/2010/02/windows-user-vpn-software/</link>
		<comments>http://www.jebriggs.com/blog/2010/02/windows-user-vpn-software/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 02:40:45 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Toys]]></category>

		<guid isPermaLink="false">http://www.jebriggs.com/blog/?p=1644</guid>
		<description><![CDATA[So &#8230; Windows end-users are setting up their own VPNs with Hamachi and other networking programs.
Must be a fun time to be an IT security guy these days. *shudder*
wikipedia.org: Hamachi
An open source alternative to Hamachi: tinc
List of Hamachi Alternatives&#124;Virtual Private Network Adapters
Hamachi: Roll Your Own VPNs the Fast and Free Way, Create and Manage Your [...]]]></description>
			<content:encoded><![CDATA[<p>So &#8230; Windows end-users are setting up their own VPNs with Hamachi and other networking programs.</p>
<p>Must be a fun time to be an IT security guy these days. *shudder*</p>
<p><a href="http://en.wikipedia.org/wiki/Hamachi">wikipedia.org: Hamachi</a><br />
<a href="http://www.metamusing.net/weblog/2006/06/21/an-open-source-alternative-to-hamachi/">An open source alternative to Hamachi: tinc</a><br />
<a href="http://segmentnext.com/index.php/2009/08/20/hamachi-alternatives-virtual-private-network-adapters/">List of Hamachi Alternatives|Virtual Private Network Adapters</a><br />
<a href="http://winplanet.com/article/3259-.htm">Hamachi: Roll Your Own VPNs the Fast and Free Way, Create and Manage Your Own Virtual Private Networks </a </p>
]]></content:encoded>
			<wfw:commentRss>http://www.jebriggs.com/blog/2010/02/windows-user-vpn-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux CentOS Cluster Setup Tips</title>
		<link>http://www.jebriggs.com/blog/2010/02/linux-centos-cluster-setup-tips/</link>
		<comments>http://www.jebriggs.com/blog/2010/02/linux-centos-cluster-setup-tips/#comments</comments>
		<pubDate>Sun, 14 Feb 2010 22:45:51 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Toys]]></category>

		<guid isPermaLink="false">http://www.jebriggs.com/blog/?p=1630</guid>
		<description><![CDATA[I made a linux cluster using 16 dual Opteron 248 machines, gigabit Ethernet and CentOS 5.4 DVD with kickstart.
Nodes can be remotely rebuilt upon command in about 3 minutes each in parallel, with no manual intervention, as long as you&#8217;re careful to treat nodes like appliances and don&#8217;t save data on them.
Some tips to save [...]]]></description>
			<content:encoded><![CDATA[<p>I made a linux cluster using 16 dual Opteron 248 machines, gigabit Ethernet and <a href="http://centos.org/">CentOS</a> 5.4 DVD with kickstart.</p>
<p>Nodes can be remotely rebuilt upon command in about 3 minutes each in parallel, with no manual intervention, as long as you&#8217;re careful to treat nodes like appliances and don&#8217;t save data on them.</p>
<p>Some tips to save time and effort are:</p>
<ul>
<li>collect the MAC addresses of all nodes at one time using the most efficient possible way, either from a manifest, or simply power all the nodes on and type on one node:
<pre>
ping -b 10.0.0.255 or
fping -A -q -c 1 -g 10.0.0.0/24 or
nmap -sP 10.0.0.0/24
and
arp -n
</pre>
<li>on your main client test node, which you may do 50 reinstalls on, save boot time by disabling memory checking, boot splash screens, etc. and use small filesystems during initial testing
<li>install one machine by hand from DVD first to generate the anaconda-ks.cfg file, which contains your preferred package list (the CentOS installer itself uses kickstart even for local installs)
<li>I found that having kickstart fetch the distro files using HTTP was a lot easier to setup and troubleshoot than NFS, and easier to secure later.
<li>it&#8217;s common to use a BIOS boot order of &#8220;PXE, CD, HD&#8221; on each machine to bootstrap the cluster if the hard drive is not blank, then switch to &#8220;CD, HD, PXE&#8221; after linux is successfully installed and you&#8217;re able to login remotely. Subsequent reboots will try the HD first unless you force a PXE boot, which can be done with a script I wrote called <code>unboot</code> that both deactivates the boot partition and erases the MBR:
<pre>
#!/bin/bash

parted /dev/hda set 1 boot off
dd if=/dev/zero of=/dev/hda bs=512 count=1
</pre>
<li>do a web search for several good sample kickstart files. I found that merging 3 or 4 good ones provided very nice results.
<li>by default, kickstart configures your networking with DHCP if you are doing network installs, but you can overwrite that in your post-install section with multiple static IP addresses if desired.
<li>test your tftpd setup from the server (or another node) with <code>tftp localhost -v -c get pxelinux.0</code>
<li>do <code>tail -f /var/log/messages</code> on the DHCP server to monitor DHCP requests by client nodes.
<li>Make sure &#8220;/var/lib/dhcp/dhcpd.leases&#8221; exists.
</ul>
<p>Likely I will move to <a href="www.rocksclusters.org">Rocks Clusters</a> later, which is also derived from CentOS.</p>
<p>The Rocks Clusters people handle PXE boot in a more sophisticated way, configuring PXE boot to read the kernel image from the local hard drive, sparing tftpd from being swamped on clusters of thousands of nodes. Their unboot utility is called cluster-kickstart-pxe.</p>
<p>hp.com: Setting up a Linux PXE server and integrating clients &#8211; Howto (c00257674.pdf)</p>
<p><a href="http://www.faqs.org/docs/Linux-HOWTO/KickStart-HOWTO.html">RedHat Linux KickStart HOWTO</a><br />
<a href="http://www.kegel.com/linux/pxe.html">Remote Network Boot via PXE</a><br />
<a href="http://communities.vmware.com/message/1118879">communities.vmware.com: How to Pass Parameters to a Kickstart Script?</a><br />
<a href="http://pxe.dev.aboveaverageurl.com/index.php/PXE_Booting">aboveaverageurl.com: PXE Booting</a><br />
<a href="http://www.howtoforge.com/unattended-fedora-installations-with-kickstart-and-nfs">Howtoforge: Unattended Fedora 8 Installation With NFS And Kickstart</a><br />
<a href="http://lis.gsfc.nasa.gov/yudong/notes/net-install.txt">Yu Dong, NASA: Installing Linux over Network: PXE, DHCP, TFTP, NFS and Kickstart</a><br />
<a href="http://www.rocksclusters.org/roll-documentation/base/5.3/x1354.html">Rocks Cluster 5.3: Forcing a Re-install at Next PXE Boot</a><br />
<a href="https://lists.sdsc.edu/pipermail/npaci-rocks-discussion/2004-October/007869.html">[Rocks-Discuss]cluster-fork &#8216;/boot/kickstart/cluster-kickstart&#8211;start&#8217;has no effect?</a><br />
<a href="http://standards.ieee.org/regauth/oui/">IEEE OUI and Company_id Assignments (MAC Address Database)</a><br />
<a href="ftp://ftp.rocksclusters.org/pub/rocks">ftp://ftp.rocksclusters.org/pub/rocks</a><br />
<a href="http://www.shainmiley.com/wordpress/?p=66">Reading Dell service tag number &#8211; dmidecode -s system-serial-number</a><br />
<a href="http://lugwash.org/linux-users/200312/0127.html">Debian &#8211; setting hostname from DHCP result</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jebriggs.com/blog/2010/02/linux-centos-cluster-setup-tips/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Running TestDisk on linux with Dell Perc Controllers</title>
		<link>http://www.jebriggs.com/blog/2010/02/running-testdisk-on-linux-with-dell-perc-controllers/</link>
		<comments>http://www.jebriggs.com/blog/2010/02/running-testdisk-on-linux-with-dell-perc-controllers/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 12:25:53 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.jebriggs.com/blog/?p=1616</guid>
		<description><![CDATA[While testing the Dell OpenManage 6.2 update recently, the main ext3 filesystem superblock on a gpt partition was damaged by the CentOS 5.4 installer.
I did not ask the CentOS installer to touch the non-system partitions in any way, but it happened.
Fortunately, mke2fs writes superblock backups to each filesystem in case something bad happens.
e2fsck -b could [...]]]></description>
			<content:encoded><![CDATA[<p>While testing the Dell OpenManage 6.2 update recently, the main ext3 filesystem superblock on a gpt partition was damaged by the CentOS 5.4 installer.</p>
<p>I did not ask the CentOS installer to touch the non-system partitions in any way, but it happened.</p>
<p>Fortunately, mke2fs writes superblock backups to each filesystem in case something bad happens.</p>
<p>e2fsck -b could be used to recover a superblock from a copy, but I found a friendlier tool &#8230;</p>
<p>I used an Open Source tool by Christophe GRENIER called <a href="http://www.cgsecurity.org/wiki/">TestDisk</a> to scan for a backup superblock, and overwrote the bad superblock in about 30 seconds. Then I added the original mount label and mounted the filesystem:</p>
<pre>
# testdisk_static (or testdisk_static /log /dev/sdb)
# parted /dev/sdb name 1 /data (works on gpt partition types)
# mount -a
# ls -l /data
# tune2fs -l /dev/sdb1
</pre>
<p>TestDisk worked perfectly, even on a complex system with Perc 6i and Perc 5e RAID controllers with 4 TB partitions, but you must carefully read and navigate TestDisk&#8217;s menus, and actually write the new superblock to disk for each filesystem that was lost. TestDisk can also be used to recover files and preventively to save superblocks before an issue occurs.</p>
<p>There are versions of TestDisk for several operating systems, including Windows, Linux 2.4, Linux 2.6 and FreeBSD.</p>
<p>Note that <a href="http://www.gnu.org/software/parted/index.shtml">parted</a> also has a rescue mode for partitions:</p>
<pre>
(parted) help rescue
  rescue START END      # rescue a lost partition near START and END
</pre>
<p>Other tools to look at when fixing linux filesystems include tune2fs and partprobe.</p>
<p>For deeper insight into ext2 and ext3 recovery, search for the excellent articles by Ted Ts&#8217;o.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jebriggs.com/blog/2010/02/running-testdisk-on-linux-with-dell-perc-controllers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dell OpenManage and check_openmanage Update Problems on Linux</title>
		<link>http://www.jebriggs.com/blog/2010/02/dell-openmanage-and-check_openmanage-update-problems-on-linux/</link>
		<comments>http://www.jebriggs.com/blog/2010/02/dell-openmanage-and-check_openmanage-update-problems-on-linux/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 09:15:57 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Toys]]></category>

		<guid isPermaLink="false">http://www.jebriggs.com/blog/?p=1611</guid>
		<description><![CDATA[Just before Christmas 2009, a new version of Dell OpenManage 6.2 for Linux was &#8220;released&#8221; &#8211; well, thrown over the wall, untested, resulting in this scary message on my Dell PE 2950&#8217;s:

# omreport storage controller
No controllers found

That sure got my attention &#8230;
There were at least 2 issues caused by this update:

Although the individual packages were [...]]]></description>
			<content:encoded><![CDATA[<p>Just before Christmas 2009, a new version of Dell OpenManage 6.2 for Linux was &#8220;released&#8221; &#8211; well, thrown over the wall, untested, resulting in this scary message on my Dell PE 2950&#8217;s:</p>
<pre>
# omreport storage controller
No controllers found
</pre>
<p>That sure got my attention &#8230;</p>
<p>There were at least 2 issues caused by this update:</p>
<ol>
<li>Although the individual packages were fine, the installer script had bugs that resulted in the combination of packages to not work correctly, regardless of whether you were updating an old system, or a fresh CentOs installation. Even though disk volumes were still mountable, most omreport options did not. Somebody posted a script that usually fixes that on the Dell forum, and I have added some modprobe commands that some people also recommended:
<pre>
#/bin/bash

# this script based on Dell Forums samples

/sbin/modprobe ipmi_si
/sbin/modprobe ipmi_devintf

yum remove srvadmin*
yum install srvadmin-all
yum install dell_ft_install
cd /opt/dell/srvadmin/etc
./autoconf_cim_component.sh
yum remove srvadmin-iws srvadmin-webserver srvadmin-jre
srvadmin-services.sh start
omreport storage controller # now works properly, or reboot first

#Somebody really pooched the dependancies list in the OMSA 6.2 install !!!!
</pre>
<li>omreport was installed in a new location, so the commonly-used check_openmanage monitoring perl script failed to find it. A simple edit fixes that:
</ol>
<pre>
/usr/lib64/nagios/plugins/contrib/check_openmanage:

#
# Locate the omreport binary
#
sub find_omreport {
    # Possible full paths for omreport

    my @omreport_paths
      = (
         '/usr/bin/omreport',                            # default on Linux
         '/opt/dell/srvadmin/oma/bin/omreport.sh',       # alternate on Linux
         '/opt/dell/srvadmin/oma/bin/omreport',          # alternate on Linux
+         '/opt/dell/srvadmin/bin/omreport',               # alternate on Linux
         'c:\progra~1\dell\sysmgt\oma\bin\omreport.exe', # default on Windows
         'c:\progra~2\dell\sysmgt\oma\bin\omreport.exe', # default on Windows x64
        );
</pre>
<p><a href="http://lists.us.dell.com/pipermail/linux-poweredge/2009-December/040829.html">Dell power-edge list: OpenManage 6.2 Storage Controller not found fix</a><br />
<a href="http://en.community.dell.com/forums/t/19313720.aspx">Dell Forums: OMSA daemons appear to crash a minute after startup</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jebriggs.com/blog/2010/02/dell-openmanage-and-check_openmanage-update-problems-on-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
