<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Chris Read &#187; Chris Read</title>
	<atom:link href="http://blog.chris-read.net/author/chrisread/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.chris-read.net</link>
	<description>He's just this guy, you know...</description>
	<lastBuildDate>Tue, 13 Sep 2011 11:41:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog.chris-read.net' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Chris Read &#187; Chris Read</title>
		<link>http://blog.chris-read.net</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.chris-read.net/osd.xml" title="Chris Read" />
	<atom:link rel='hub' href='http://blog.chris-read.net/?pushpress=hub'/>
		<item>
		<title>The story of Ecks</title>
		<link>http://blog.chris-read.net/2011/09/13/the-story-of-ecks/</link>
		<comments>http://blog.chris-read.net/2011/09/13/the-story-of-ecks/#comments</comments>
		<pubDate>Tue, 13 Sep 2011 08:07:32 +0000</pubDate>
		<dc:creator>Chris Read</dc:creator>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Networks]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://blog.chris-read.net/?p=195</guid>
		<description><![CDATA[I&#8217;ve just release Ecks into the wild, a Python library for accessing SNMP data from a server without having to deal with the pain of knowing about what a MIB or OID is. SNMP stands for Simple Network Management Protocol, but for most people it is anything but simple. It&#8217;s pretty straight forward once you understand [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.chris-read.net&amp;blog=4083712&amp;post=195&amp;subd=chrisread&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just release <a href="https://github.com/cread/ecks" target="_blank">Ecks</a> into the wild, a Python library for accessing SNMP data from a server without having to deal with the pain of knowing about what a MIB or OID is. SNMP stands for Simple Network Management Protocol, but for most people it is anything but simple. It&#8217;s pretty straight forward once you understand what&#8217;s going on, but most people are daunted by the learning curve.</p>
<p>What results from this resistance is that when your average developer decides he wants to monitor CPU usage or disk space on his machine he or she ends up doing it in the most obtrusive way possible &#8211; SSH. While I&#8217;m a big fan of small shell scripts, this is one place they do not belong. Let me give you an example:</p>
<p>I set up a new server here in London for one of our Chicago teams. Being a conscientious team, the first thing they did was wire in some monitoring that wrote for their servers. It checks things like disk space, memory usage, CPU load and the state of various processes that they care about. They need pretty fine grained checking intervals, so they check these every minute. The easiest way they know how to do this though is to SSH in to their machines and run <em>df</em>, <em>free</em>, <em>netstat</em>,etc and scrape the output. Every minute. Which on this nice shiny server consumed almost 20% of the CPU right off the bat. Educating them on the use of SSH ControlMaster helped, but it&#8217;s still doing a lot of work on the machine.</p>
<p>This was the last straw that lead to the creation of Ecks. People will always follow the path of least resistance, so if you want people to do the right thing, you need to make it the easiest thing to do. SNMP has all this information available, modern <em>snmpd</em> implementations are stable, have a tiny footprint and are more secure than providing SSH access to your machine.</p>
<p>The hardest part of all though is what to name this little library. When discussing the problem with <a href="http://www.build-doctor.com/" target="_blank">Julian Simpson</a> (the <a href="http://twitter.com/builddoctor" target="_blank">@builddoctor</a>), he pointed out that MIB always reminded him of the Men in Black. Reading the <a href="http://en.wikipedia.org/wiki/The_Men_in_Black_(comics)" target="_blank">Wikipedia article on the original comic book series</a> had some interesting snippets:</p>
<blockquote><p>The Men in Black are a secret organization that monitors and suppresses paranormal activity on Earth&#8230;</p></blockquote>
<p>Replace &#8220;Earth&#8221; with &#8220;a computer&#8221; and you&#8217;re starting to get somewhere. Then I noticed this gem:</p>
<blockquote><p> An agent named Ecks went rogue after learning the truth behind the MiB: they seek to manipulate and reshape the world in their own image by keeping the supernatural hidden.</p></blockquote>
<p>Many people think that the complexity of the MIB keeps SNMP data hidden. And so the name was chosen&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chrisread.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chrisread.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chrisread.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chrisread.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chrisread.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chrisread.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chrisread.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chrisread.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chrisread.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chrisread.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chrisread.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chrisread.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chrisread.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chrisread.wordpress.com/195/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.chris-read.net&amp;blog=4083712&amp;post=195&amp;subd=chrisread&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.chris-read.net/2011/09/13/the-story-of-ecks/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Chris Read</media:title>
		</media:content>
	</item>
		<item>
		<title>£106.50 per Terabyte Storage Server</title>
		<link>http://blog.chris-read.net/2011/06/02/106-50-per-terabyte-storage-server/</link>
		<comments>http://blog.chris-read.net/2011/06/02/106-50-per-terabyte-storage-server/#comments</comments>
		<pubDate>Thu, 02 Jun 2011 21:43:45 +0000</pubDate>
		<dc:creator>Chris Read</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Solaris]]></category>
		<category><![CDATA[Stuff]]></category>
		<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://blog.chris-read.net/?p=176</guid>
		<description><![CDATA[With the price of storage dropping all the time, there is a constant perception from people who don&#8217;t deal with it every day that &#8220;disk space is cheap&#8221;, especially when it comes to developers. The problem is that so called &#8220;Enterprise&#8221; storage costs are still astronomical compared to what people are used to paying for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.chris-read.net&amp;blog=4083712&amp;post=176&amp;subd=chrisread&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h1><span class="Apple-style-span" style="font-size:13px;font-weight:normal;">With the price of storage dropping all the time, there is a constant perception from people who don&#8217;t deal with it every day that &#8220;disk space is cheap&#8221;, especially when it comes to developers. The problem is that so called &#8220;Enterprise&#8221; storage costs are still astronomical compared to what people are used to paying for home storage &#8211; even when using SATA disks.</span></h1>
<p>A lot of this extra cost comes from a perceived requirement for the highest available <strong>capacity</strong>, <strong>availability</strong> and <strong>performance</strong>. Achieving all three characteristics is expensive, but if you’re willing to sacrifice one of them then costs start to fall considerably. Lowering requirements on two of the three drops it even more.</p>
<p>One of the teams I work with has a requirement primarily on capacity. Performance and availability are nice, but capacity is the key. We generate gigabytes worth of log files every day, but didn&#8217;t have one place to store it all for easy analysis. Just before I joined the team they&#8217;d purchased the cheapest &#8220;Enterprise&#8221; storage system the IT team at the time would allow &#8211; it ended up costing in the region of £12k for 12TB of raw storage. That’s £1000 per TB!</p>
<p>In addition to the price, the other problems were accessibility and management of the data and managing growth. This inspired a hunt for something that would provide a cheaper and more flexible solution.</p>
<p>Our requirements were:</p>
<ul>
<li><strong>*nix based system. </strong>The current storage solution was based on Windows Storage Server, but all our systems and tools for this team are Linux based. Yes, Windows does technically provide things like an NFS server, but fighting with the file system permissions and overall performance are two things that impacted us.</li>
<li><strong>Cheap to expand.</strong> We need to have a clear path to grow the storage in the server easily by simply adding more disks.</li>
<li><strong>Large filesystems.</strong> There&#8217;s nothing more wasteful from a storage point of view than having lots of small filesystems. Besides the management overhead, there&#8217;s also many wasted blocks lying around un-used.</li>
<li><strong>Cheap to build</strong>. This inevitably means commodity hardware.</li>
<li><strong>Reasonable availability</strong>. We don&#8217;t need 99.999% uptime, but would be happy with somewhere in the region of 90%+</li>
<li><strong>Reasonable performance</strong>.<strong> </strong>Primary access to the data on this machine is via gigabit Ethernet. As long as it can keep up with the network card we’re happy…</li>
</ul>
<h2><span id="more-176"></span>Hardware Options</h2>
<p>The first thing we looked at was the <a href="http://blog.backblaze.com/2009/09/01/petabytes-on-a-budget-how-to-build-cheap-cloud-storage/">Backblaze</a> concept. Using a custom designed case (that&#8217;s actually quite easy to purchase) they manage to cram 45 SATA drives into a 4U chassis. That&#8217;s pretty impressive. Using cheap SATA hot swap port multiplier/backplanes and controllers allows for quite a low cost, but not without problems though. In the configuration they publish there are a number of problems:</p>
<ul>
<li>A mix of PCIe and PCI-X SATA controllers means that you need a LOT of slots on your motherboard. Boards with all those slots are not cheap.</li>
<li>Each of the 45 drives is presented to the operating system (Linux in this case, which is good). They then use software RAID for the volumes. Care needs to be taken when building a system like this though to ensure that you spread the drives for each array evenly across controllers so that a single controller or expander backplane failure does not take out an entire volume, which just adds to the management overhead.</li>
<li>The port multiplier chipset they use is only supported on Linux. This was a problem as we had initially planned to use OpenSolaris for this device as ZFS would make the storage management and expansion a no-brainer. The Oracle take over of Sun and their subsequent clamp down on OpenSolaris derailed this plan. I did do some performance testing with FreeBSD and their implementation of ZFS but the performance was terrible.</li>
<li>The cost is also not that cheap. Single orders of the custom case and power supply that go with it are actually pretty pricy.</li>
<li>Performance. I did a lot of testing, mostly with iozone. What I found though was that when running through the port multiplier, even when using NCQ, performance was pretty bad.</li>
</ul>
<p>The system I was using for my testing though had an onboard SAS controller and port expander. The SAS specification includes SATA support. Out of curiosity I decided to compare performance on that controller to what I got from the SATA chain. It was actually a lot better, which got me thinking about using SAS controllers with hardware RAID to simplify administration.</p>
<p>Initially I tried a pair of 8 port LSI controllers (<a href="http://www.lsi.com/storage_home/products_home/internal_raid/megaraid_sas/megaraid_sas_8208elp/">LSI 8208ELP</a>), but the cheaper end of the range have issues in their firmware and do not even boot with more than one controller present, so I replaced them with a single <a href="http://www.adaptec.com/en-us/products/controllers/hardware/sas/performance/sas-51245/">Adaptec 51245</a> controller. This made management and expansion a lot easier, as it has enough internal ports for the initial drives we planned on, and an external port that allows easy expansion.</p>
<h2>Current architecture</h2>
<p>The current system we have running in production is assembled from 100% off the shelf components. They are:</p>
<table width="408" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="bottom" nowrap="nowrap" width="120">
<p align="center"><strong>Description</strong></p>
</td>
<td valign="bottom" nowrap="nowrap" width="129">
<p align="center"><strong>Part</strong></p>
</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="center"><strong>Count</strong></p>
</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="center"><strong>Each</strong></p>
</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="center"><strong>Total</strong></p>
</td>
</tr>
<tr>
<td valign="bottom" nowrap="nowrap" width="120">SAS Cables</td>
<td valign="bottom" nowrap="nowrap" width="129"></td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="right">4</p>
</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="right">£9.40</p>
</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="right">£37.60</p>
</td>
</tr>
<tr>
<td valign="bottom" nowrap="nowrap" width="120">Drive Cage</td>
<td valign="bottom" nowrap="nowrap" width="129">NetStor NS170S Black</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="right">2</p>
</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="right">£90.10</p>
</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="right">£180.20</p>
</td>
</tr>
<tr>
<td valign="bottom" nowrap="nowrap" width="120">RAID Controller</td>
<td valign="bottom" nowrap="nowrap" width="129">Adaptec 51245</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="right">1</p>
</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="right">£512.89</p>
</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="right">£512.89</p>
</td>
</tr>
<tr>
<td valign="bottom" nowrap="nowrap" width="120">Case &amp; 650W PSU</td>
<td valign="bottom" nowrap="nowrap" width="129">Antec 4U22EPS650</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="right">1</p>
</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="right">£192.36</p>
</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="right">£192.36</p>
</td>
</tr>
<tr>
<td valign="bottom" nowrap="nowrap" width="120">Motherboard</td>
<td valign="bottom" nowrap="nowrap" width="129">Intel DP55WG</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="right">1</p>
</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="right">£96.84</p>
</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="right">£96.84</p>
</td>
</tr>
<tr>
<td valign="bottom" nowrap="nowrap" width="120">CPU</td>
<td valign="bottom" nowrap="nowrap" width="129">Intel i7 860</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="right">1</p>
</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="right">£178.71</p>
</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="right">£178.71</p>
</td>
</tr>
<tr>
<td valign="bottom" nowrap="nowrap" width="120">RAM</td>
<td valign="bottom" nowrap="nowrap" width="129">Kingston 4G DDR3 1600</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="right">2</p>
</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="right">£63.96</p>
</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="right">£127.92</p>
</td>
</tr>
<tr>
<td valign="bottom" nowrap="nowrap" width="120">VGA</td>
<td valign="bottom" nowrap="nowrap" width="129">PNY 8400GS</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="right">1</p>
</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="right">£37.85</p>
</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="right">£37.85</p>
</td>
</tr>
<tr>
<td valign="bottom" nowrap="nowrap" width="120">Data Disks</td>
<td valign="bottom" nowrap="nowrap" width="129">WD20EARS</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="right">10</p>
</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="right">£76.58</p>
</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="right">£765.80</p>
</td>
</tr>
<tr>
<td valign="bottom" nowrap="nowrap" width="120">NIC</td>
<td valign="bottom" nowrap="nowrap" width="129">Intel PRO/1000</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="right">2</p>
</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="right">£0.00</p>
</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="right">£0.00</p>
</td>
</tr>
<tr>
<td valign="bottom" nowrap="nowrap" width="120">OS Disks</td>
<td valign="bottom" nowrap="nowrap" width="129">ST3160318AS</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="right">2</p>
</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="right">£0.00</p>
</td>
<td valign="bottom" nowrap="nowrap" width="53">
<p align="right">£0.00</p>
</td>
</tr>
</tbody>
</table>
<p>Cost (September 2010): £2130.17 (Excl VAT)</p>
<p>Total Raw Space: 20TB</p>
<p>Unit Cost: £106.50 per TB</p>
<p>Power Draw: 0.8A with sustained disk access, 1.16A peak on boot up.</p>
<p>The operating system we’ve selected is Ubuntu 10.04 LTS. We run the smaller disks we had spare in RAID1 for the OS. The data drives are in RAID6 on the WD&#8217;s.</p>
<h2>Hardware Build</h2>
<p>Here are some photos we took as we built the system:</p>

<a href='http://blog.chris-read.net/2011/06/02/106-50-per-terabyte-storage-server/img_0041/' title='Boxed Internal Drive Cage'><img data-attachment-id='179' data-orig-size='4000,3000' data-liked='0'width="150" height="112" src="http://chrisread.files.wordpress.com/2011/06/img_0041.jpg?w=150&#038;h=112" class="attachment-thumbnail" alt="Boxed Internal Drive Cage" title="Boxed Internal Drive Cage" /></a>
<a href='http://blog.chris-read.net/2011/06/02/106-50-per-terabyte-storage-server/img_0043/' title='Rear of Drive Cage'><img data-attachment-id='180' data-orig-size='4000,3000' data-liked='0'width="150" height="112" src="http://chrisread.files.wordpress.com/2011/06/img_0043.jpg?w=150&#038;h=112" class="attachment-thumbnail" alt="Rear of Drive Cage" title="Rear of Drive Cage" /></a>
<a href='http://blog.chris-read.net/2011/06/02/106-50-per-terabyte-storage-server/img_0048/' title='Front View - Open'><img data-attachment-id='181' data-orig-size='4000,3000' data-liked='0'width="150" height="112" src="http://chrisread.files.wordpress.com/2011/06/img_0048.jpg?w=150&#038;h=112" class="attachment-thumbnail" alt="Front View - Open" title="Front View - Open" /></a>
<a href='http://blog.chris-read.net/2011/06/02/106-50-per-terabyte-storage-server/img_0062/' title='Motherboard'><img data-attachment-id='182' data-orig-size='4000,3000' data-liked='0'width="150" height="112" src="http://chrisread.files.wordpress.com/2011/06/img_0062.jpg?w=150&#038;h=112" class="attachment-thumbnail" alt="Motherboard" title="Motherboard" /></a>
<a href='http://blog.chris-read.net/2011/06/02/106-50-per-terabyte-storage-server/img_0060/' title='Data Drive'><img data-attachment-id='184' data-orig-size='4000,3000' data-liked='0'width="150" height="112" src="http://chrisread.files.wordpress.com/2011/06/img_0060.jpg?w=150&#038;h=112" class="attachment-thumbnail" alt="Data Drive" title="Data Drive" /></a>
<a href='http://blog.chris-read.net/2011/06/02/106-50-per-terabyte-storage-server/img_0071/' title='Ready to rack'><img data-attachment-id='185' data-orig-size='4000,3000' data-liked='0'width="150" height="112" src="http://chrisread.files.wordpress.com/2011/06/img_0071.jpg?w=150&#038;h=112" class="attachment-thumbnail" alt="Ready to rack" title="Ready to rack" /></a>

<p><span class="Apple-style-span" style="font-size:20px;font-weight:bold;">Operating System Configuration</span></p>
<p>Using the hardware RAID controller allows us to simplify the Operating System configuration. Instead of having a block device for each physical disk, the controller presents a single block device for each array.</p>
<p>The filesystem we&#8217;re using is EXT4, created with the following options:</p>
<pre>-m 1 -O dir_index,has_journal,extent,sparse_super</pre>
<p>To try and speed things up we also set the noatime flag when mounting the filesystem.</p>
<p>The Adaptec Storage Manager application is used to monitor the health of the disks and will email us in the case of a drive failure.</p>
<h2>Performance</h2>
<p>With the current configuration, the performance is in no way spectacular, but it’s more than good enough for our needs. Write speeds are quite slow peaking at around 90MB/s, reads are good peaking at around 750MB/s.</p>
<h2>Client Access and Usage</h2>
<p>We&#8217;re currently running a mixed workload on the system and so far have had no complaints or problems. Every night we rsync all of our log files from our production machines, which is currently about 300GB per day.</p>
<p>Some of the people who are interested in this data access it via HTTP. We run an Apache server on the box (with compression enabled of course) to allow people easy access to browse and download what they need. Developers also access the logs read-only via NFS, and have a directory mounted via NFS called &#8220;playpen&#8221; that they use as a scratch pad for any of their research that requires more disk space than the 300GB or so they have available in their development machines.</p>
<h2>Going Forward</h2>
<p>In the 6 months or so we’ve had the machine we’ve almost used all the disk space. On a clear disk you can seek forever. We’ve placed an order for 2 more disk trays (<a href="http://www.netstor.com.tw/_03/03_02.php?OTI=">NetStor NS330S-8026</a>). These trays have built in SAS port expanders and allow us to daisy chain up to 7 trays off our external port. We’ve also ordered different hard drives. Instead of using the green WD drives we’ve decided to go for a bit more speed and get 7200RPM Hitachi Ultrastar 7K3000 SATA drives. This does add a lot more to the cost, but the performance pay off is worth it for us for expected higher write speeds. Once they’re up and running I’ll publish some comparative benchmarks.</p>
<p>Costs for the upgrade (Feb 2011): £9699.00</p>
<p>Total Raw Space: 64TB</p>
<p>Unit Cost: £151.50 per TB</p>
<h2>Update (23 June 2011)</h2>
<p>Right now there is some kind of major compatibility problem between the Adaptec card and the NetStor JBOD. I&#8217;ve been wrestling for over a week now with vendor support and still not getting anywhere.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chrisread.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chrisread.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chrisread.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chrisread.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chrisread.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chrisread.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chrisread.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chrisread.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chrisread.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chrisread.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chrisread.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chrisread.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chrisread.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chrisread.wordpress.com/176/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.chris-read.net&amp;blog=4083712&amp;post=176&amp;subd=chrisread&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.chris-read.net/2011/06/02/106-50-per-terabyte-storage-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Chris Read</media:title>
		</media:content>

		<media:content url="http://chrisread.files.wordpress.com/2011/06/img_0041.jpg?w=150" medium="image">
			<media:title type="html">Boxed Internal Drive Cage</media:title>
		</media:content>

		<media:content url="http://chrisread.files.wordpress.com/2011/06/img_0043.jpg?w=150" medium="image">
			<media:title type="html">Rear of Drive Cage</media:title>
		</media:content>

		<media:content url="http://chrisread.files.wordpress.com/2011/06/img_0048.jpg?w=150" medium="image">
			<media:title type="html">Front View - Open</media:title>
		</media:content>

		<media:content url="http://chrisread.files.wordpress.com/2011/06/img_0062.jpg?w=150" medium="image">
			<media:title type="html">Motherboard</media:title>
		</media:content>

		<media:content url="http://chrisread.files.wordpress.com/2011/06/img_0060.jpg?w=150" medium="image">
			<media:title type="html">Data Drive</media:title>
		</media:content>

		<media:content url="http://chrisread.files.wordpress.com/2011/06/img_0071.jpg?w=150" medium="image">
			<media:title type="html">Ready to rack</media:title>
		</media:content>
	</item>
		<item>
		<title>DevOps: State of the Nation</title>
		<link>http://blog.chris-read.net/2010/12/04/devops-state-of-the-nation/</link>
		<comments>http://blog.chris-read.net/2010/12/04/devops-state-of-the-nation/#comments</comments>
		<pubDate>Sat, 04 Dec 2010 14:15:26 +0000</pubDate>
		<dc:creator>Chris Read</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://blog.chris-read.net/?p=171</guid>
		<description><![CDATA[When I got back from DevOpsDays in Hamburg this year I felt the need to explain my journey to the &#8220;DevOps&#8221; world and my view on where it&#8217;s headed. I started writing a State of the Nation paper to lay it all out. A couple of weeks in I got a message from Matthias Marschall asking [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.chris-read.net&amp;blog=4083712&amp;post=171&amp;subd=chrisread&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>When I got back from DevOpsDays in Hamburg this year I felt the need to explain my journey to the &#8220;DevOps&#8221; world and my view on where it&#8217;s headed. I started writing a State of the Nation paper to lay it all out. A couple of weeks in I got a message from Matthias Marschall asking if I&#8217;d like to do a guest post as part of their DevOps series. I agreed, and after a lot of effort (and help from a couple of great editors) you can now read it <a href="http://www.agileweboperations.com/devops-state-of-the-nation-by-chris-read" target="_blank">here</a>.</p>
<p>It&#8217;s by far the longest article I&#8217;ve ever written, and I was amazed at how ideas that had been floating around in my head for a while crystalized through the processes of writing them down. I found I got so passionate talking to people about what was in it that I&#8217;ve decided to make a talk out of it, the first iteration of which will be in Chicago on Tuesday (see previous post).</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chrisread.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chrisread.wordpress.com/171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chrisread.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chrisread.wordpress.com/171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chrisread.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chrisread.wordpress.com/171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chrisread.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chrisread.wordpress.com/171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chrisread.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chrisread.wordpress.com/171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chrisread.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chrisread.wordpress.com/171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chrisread.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chrisread.wordpress.com/171/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.chris-read.net&amp;blog=4083712&amp;post=171&amp;subd=chrisread&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.chris-read.net/2010/12/04/devops-state-of-the-nation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Chris Read</media:title>
		</media:content>
	</item>
		<item>
		<title>Speaking at Chicago DevOps Meetup</title>
		<link>http://blog.chris-read.net/2010/11/29/chicago-devops-meetup/</link>
		<comments>http://blog.chris-read.net/2010/11/29/chicago-devops-meetup/#comments</comments>
		<pubDate>Mon, 29 Nov 2010 19:38:37 +0000</pubDate>
		<dc:creator>Chris Read</dc:creator>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[agile sysadmin]]></category>
		<category><![CDATA[talks]]></category>

		<guid isPermaLink="false">http://blog.chris-read.net/?p=166</guid>
		<description><![CDATA[I&#8217;ll be in Chicago next week and I&#8217;ll be speaking at the local DevOps group meetup on the 7th of December. Places are limited, so please sign up here if you&#8217;d like to attend.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.chris-read.net&amp;blog=4083712&amp;post=166&amp;subd=chrisread&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ll be in Chicago next week and I&#8217;ll be speaking at the local DevOps group meetup on the 7th of December. Places are limited, so please sign up <a href="http://www.meetup.com/devops/calendar/15549892/" target="_blank">here</a> if you&#8217;d like to attend.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chrisread.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chrisread.wordpress.com/166/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chrisread.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chrisread.wordpress.com/166/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chrisread.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chrisread.wordpress.com/166/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chrisread.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chrisread.wordpress.com/166/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chrisread.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chrisread.wordpress.com/166/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chrisread.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chrisread.wordpress.com/166/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chrisread.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chrisread.wordpress.com/166/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.chris-read.net&amp;blog=4083712&amp;post=166&amp;subd=chrisread&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.chris-read.net/2010/11/29/chicago-devops-meetup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Chris Read</media:title>
		</media:content>
	</item>
		<item>
		<title>Vote for XFD in the Ultimate Wallboard Challenge</title>
		<link>http://blog.chris-read.net/2010/11/23/vote-for-xfd-in-the-ultimate-wallboard-challenge/</link>
		<comments>http://blog.chris-read.net/2010/11/23/vote-for-xfd-in-the-ultimate-wallboard-challenge/#comments</comments>
		<pubDate>Tue, 23 Nov 2010 10:30:08 +0000</pubDate>
		<dc:creator>Chris Read</dc:creator>
				<category><![CDATA[Build]]></category>
		<category><![CDATA[Continuous Integration]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[ci]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://blog.chris-read.net/?p=161</guid>
		<description><![CDATA[Julian Simpson, aka The Build Doctor, has been working away at a nice web based Build Status Monitor called XFD for a while now. One of my complaints for years has been that there&#8217;s no nice build status tool that&#8217;s easy to use, but I think he&#8217;s on to something. It&#8217;s entered in the Ultimate [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.chris-read.net&amp;blog=4083712&amp;post=161&amp;subd=chrisread&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Julian Simpson, aka <a href="http://www.build-doctor.com" target="_blank">The Build Doctor</a>, has been working away at a nice web based Build Status Monitor called <a href="http://xfd.build-doctor.com" target="_blank">XFD</a> for a while now. One of my complaints for years has been that there&#8217;s no nice build status tool that&#8217;s easy to use, but I think he&#8217;s on to something.</p>
<p>It&#8217;s entered in the Ultimate Wallboard Challenge, and you can vote for it <a href="http://ultimatewallboard.com/entries#91343" target="_blank">here</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chrisread.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chrisread.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chrisread.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chrisread.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chrisread.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chrisread.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chrisread.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chrisread.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chrisread.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chrisread.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chrisread.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chrisread.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chrisread.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chrisread.wordpress.com/161/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.chris-read.net&amp;blog=4083712&amp;post=161&amp;subd=chrisread&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.chris-read.net/2010/11/23/vote-for-xfd-in-the-ultimate-wallboard-challenge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Chris Read</media:title>
		</media:content>
	</item>
		<item>
		<title>Discussion on DevOps available at DevOpsCafe</title>
		<link>http://blog.chris-read.net/2010/11/18/discussion-on-devops-available-at-devopscafe/</link>
		<comments>http://blog.chris-read.net/2010/11/18/discussion-on-devops-available-at-devopscafe/#comments</comments>
		<pubDate>Thu, 18 Nov 2010 20:24:06 +0000</pubDate>
		<dc:creator>Chris Read</dc:creator>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[talks]]></category>

		<guid isPermaLink="false">http://blog.chris-read.net/?p=155</guid>
		<description><![CDATA[The week before DevOpsDays in Hamburg this year the DevOpsCafe guys got a group of us got together to talk DevOps in London. This is now available online here.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.chris-read.net&amp;blog=4083712&amp;post=155&amp;subd=chrisread&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The week before <a href="http://www.devopsdays.org" target="_blank">DevOpsDays</a> in Hamburg this year the DevOpsCafe guys got a group of us got together to talk DevOps in London. This is now available online <a href="http://devopscafe.org/show/2010/11/15/episode-16-with-video.html" target="_blank">here</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chrisread.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chrisread.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chrisread.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chrisread.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chrisread.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chrisread.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chrisread.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chrisread.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chrisread.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chrisread.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chrisread.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chrisread.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chrisread.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chrisread.wordpress.com/155/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.chris-read.net&amp;blog=4083712&amp;post=155&amp;subd=chrisread&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.chris-read.net/2010/11/18/discussion-on-devops-available-at-devopscafe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Chris Read</media:title>
		</media:content>
	</item>
		<item>
		<title>Have we ESCaped Continuous Delivery?</title>
		<link>http://blog.chris-read.net/2010/10/07/have-we-escaped-continuous-delivery/</link>
		<comments>http://blog.chris-read.net/2010/10/07/have-we-escaped-continuous-delivery/#comments</comments>
		<pubDate>Thu, 07 Oct 2010 19:43:38 +0000</pubDate>
		<dc:creator>Chris Read</dc:creator>
				<category><![CDATA[Continuous Integration]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://blog.chris-read.net/?p=144</guid>
		<description><![CDATA[A few years ago Martin Fowler introduced me and a few other ThoughtWorkers who were involved in the Continuous Integration and Deployment space to an editor he knew and told us we needed to write a book about what we were doing. The key thing we were focusing on was making sure that quality software [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.chris-read.net&amp;blog=4083712&amp;post=144&amp;subd=chrisread&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A few years ago Martin Fowler introduced me and a few other ThoughtWorkers who were involved in the Continuous Integration and Deployment space to an editor he knew and told us we needed to write a book about what we were doing. The key thing we were focusing on was making sure that quality software could be released to production in a reliable and repeatable way. Software has absolutely no value until it&#8217;s running in production. If you can&#8217;t get it into production quickly and easily then you&#8217;re just wasting time and money.</p>
<p>There were a few false starts, a few changes of crew, but eventually Jez Humble and Dave Farley stuck it out all the way to the end and <a href="http://continuousdelivery.com/" target="_blank">Continuous Delivery</a> was published this year. No matter what you do in your organisation, if you&#8217;re filled with dread at the thought of a new software release then you need to buy it and read it and do what it says. <a href="http://www.amazon.com/gp/product/0321601912" target="_blank">Now</a>. This article will still be here after you&#8217;ve ordered it. Although I didn&#8217;t have enough time to be a big contributor, Jez would drag me in front of a white board when ever our paths crossed to discuss things and kept on sending me drafts of key chapters that I have specific interest in and so I am proud to have helped in at least some small way.</p>
<p>One of the things he did do was include a mention to a project that Tom Sulston and I started to make configuration management easier. It&#8217;s called <a href="http://code.google.com/p/escservesconfig/" target="_blank">ESCape</a>, and I&#8217;ve written and talked about it a few times in a few different places. As more and more people are reading the book though I&#8217;m getting more questions about what the status of the project is and what our plans are going forward.</p>
<p>At the moment the project is in hibernation. We&#8217;ve not made any changes for over a year now, and I don&#8217;t think I&#8217;ll be working on it in its current incarnation any time soon. That does not mean it&#8217;s not based on a good idea though! It&#8217;s more a problem of implementation.</p>
<p>At its heart, ESCape is supposed to be a simple way to manage a hierarchal key/value store. I like the way the UI works, Dan North even has a wonderful acronym for it that I can&#8217;t for the life of me remember right now. The real problem with the current design is how we&#8217;re storing the data. Trying to wedge that kind of data into a relation database always felt dirty and I decided to stop before any real damage was done.</p>
<p>What I&#8217;d like to do though is to take the existing UI and functionality and use something like <a href="http://neo4j.org/" target="_blank">Neo4J</a> or <a href="http://couchdb.apache.org/" target="_blank">CouchDB</a> to store the data. Conversations I&#8217;ve had with Jim Webber and Ian Robinson about it were one of the reasons I didn&#8217;t start immediately on a replacement as at the time Jim was making plans to write the REST interface into Neo4J. As an early release of it is now available I guess I&#8217;ve run out of excuses…</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chrisread.wordpress.com/144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chrisread.wordpress.com/144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chrisread.wordpress.com/144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chrisread.wordpress.com/144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chrisread.wordpress.com/144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chrisread.wordpress.com/144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chrisread.wordpress.com/144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chrisread.wordpress.com/144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chrisread.wordpress.com/144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chrisread.wordpress.com/144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chrisread.wordpress.com/144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chrisread.wordpress.com/144/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chrisread.wordpress.com/144/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chrisread.wordpress.com/144/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.chris-read.net&amp;blog=4083712&amp;post=144&amp;subd=chrisread&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.chris-read.net/2010/10/07/have-we-escaped-continuous-delivery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Chris Read</media:title>
		</media:content>
	</item>
		<item>
		<title>Quick Chef Tip</title>
		<link>http://blog.chris-read.net/2010/08/11/quick-chef-tip/</link>
		<comments>http://blog.chris-read.net/2010/08/11/quick-chef-tip/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 11:38:02 +0000</pubDate>
		<dc:creator>Chris Read</dc:creator>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://blog.chris-read.net/?p=137</guid>
		<description><![CDATA[I&#8217;m busy wiring together a new server configuration environment using Windows Deployment Services (don&#8217;t ask), Cobbler and Chef. So far things seem to be going quite well, until I bumped in to the following error trying to get a new client to register with the Chef server: HTTP Request Returned 401 Unauthorized: Failed to authenticate! [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.chris-read.net&amp;blog=4083712&amp;post=137&amp;subd=chrisread&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m busy wiring together a new server configuration environment using Windows Deployment Services (don&#8217;t ask), Cobbler and Chef. So far things seem to be going quite well, until I bumped in to the following error trying to get a new client to register with the Chef server:</p>
<pre>HTTP Request Returned 401 Unauthorized: Failed to authenticate!</pre>
<p>A quick sift through Google results didn&#8217;t get anything usable. A quick sniff of the packets going over the wire though showed that it was authenticating using a signed certificate. Normally when you sign HTTP requests like that you add some kind of timed expiry. Could the problem be clock related?</p>
<p>Sure enough, a quick check on the new client and the server showed that there was just over an hour time difference. Getting the time on the client and the server in sync got the client registered!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chrisread.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chrisread.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chrisread.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chrisread.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chrisread.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chrisread.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chrisread.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chrisread.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chrisread.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chrisread.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chrisread.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chrisread.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chrisread.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chrisread.wordpress.com/137/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.chris-read.net&amp;blog=4083712&amp;post=137&amp;subd=chrisread&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.chris-read.net/2010/08/11/quick-chef-tip/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Chris Read</media:title>
		</media:content>
	</item>
		<item>
		<title>Time for a change of scenery&#8230;</title>
		<link>http://blog.chris-read.net/2010/04/23/time-for-a-change-of-scenery/</link>
		<comments>http://blog.chris-read.net/2010/04/23/time-for-a-change-of-scenery/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 19:25:20 +0000</pubDate>
		<dc:creator>Chris Read</dc:creator>
				<category><![CDATA[Stuff]]></category>

		<guid isPermaLink="false">http://blog.chris-read.net/?p=124</guid>
		<description><![CDATA[After more than 5 years at ThoughtWorks I&#8217;ve decided that it&#8217;s time for a change of scenery. As much as I enjoyed the challenge of consulting, meeting new people and seeing new places &#8211; I prefer spending time with my family more. It was a tough decision to make, but I think it&#8217;s the right [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.chris-read.net&amp;blog=4083712&amp;post=124&amp;subd=chrisread&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>After more than 5 years at <a href="http://www.thoughtworks.com" target="_blank">ThoughtWorks</a> I&#8217;ve decided that it&#8217;s time for a change of scenery. As much as I enjoyed the challenge of consulting, meeting new people and seeing new places &#8211; I prefer spending time with my family more. It was a tough decision to make, but I think it&#8217;s the right one for me now. I will miss many people at TW, but on the plus side I&#8217;m again working with some great people who I missed when they left TW&#8230;</p>
<p>As I&#8217;m going to be doing DevOps type stuff all day every day at <a href="http://www.drwtrading.com" target="_blank">DRW</a> now, I&#8217;m hoping I&#8217;ll have more time to document and share the things I discover.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chrisread.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chrisread.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chrisread.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chrisread.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chrisread.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chrisread.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chrisread.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chrisread.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chrisread.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chrisread.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chrisread.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chrisread.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chrisread.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chrisread.wordpress.com/124/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.chris-read.net&amp;blog=4083712&amp;post=124&amp;subd=chrisread&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.chris-read.net/2010/04/23/time-for-a-change-of-scenery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Chris Read</media:title>
		</media:content>
	</item>
		<item>
		<title>The End of Buildix</title>
		<link>http://blog.chris-read.net/2009/12/16/the-end-of-buildix/</link>
		<comments>http://blog.chris-read.net/2009/12/16/the-end-of-buildix/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 15:23:24 +0000</pubDate>
		<dc:creator>Chris Read</dc:creator>
				<category><![CDATA[Build]]></category>
		<category><![CDATA[Continuous Integration]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[ci]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://blog.chris-read.net/?p=107</guid>
		<description><![CDATA[I&#8217;ve been putting off this post for a few months now, but I think the time has finally come to admit what I&#8217;m sure people who care have guessed for a while &#8211; active development on Buildix has stopped, and will probably not resume. The site will stay up for the foreseeable future, nothing will [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.chris-read.net&amp;blog=4083712&amp;post=107&amp;subd=chrisread&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been putting off this post for a few months now, but I think the time has finally come to admit what I&#8217;m sure people who care have guessed for a while &#8211; active development on <a href="http://buildix.thoughtworks.com" target="_blank">Buildix</a> has stopped, and will probably not resume. The site will stay up for the foreseeable future, nothing will vanish, but nothing new will be added either.</p>
<p>We started the project because at the time, setting up a new Continuous Integration server was quite an arduous task. The only real option out there for a Java project was <a href="http://cruisecontrol.sf.net" target="_blank">CruiseControl</a>, and it could take a new developer days to get their first build through the system. Thankfully though this is no longer the case.</p>
<p>Since then the whole CI landscape has changed. Just having a single &#8220;build server&#8221; is now more the exception than the rule. It&#8217;s all about build farms these days using tools like <a href="http://www.thoughtworks-studios.com/cruise-release-management" target="_blank">Cruise</a>, <a href="http://hudson-ci.org/" target="_blank">Hudson</a> and <a href="http://www.jetbrains.com/teamcity/" target="_blank">TeamCity</a>. They integrate nicely with a variety of SCM&#8217;s and story tracking tools. Setting up a build environment with these tools is really easy now. I&#8217;d like to think that Buildix at least had something to do with helping people to see how easy it could be to get a CI environment up and running, and I know that at least in the case of Cruise this is true because I&#8217;ve been part of that team.</p>
<p>So &#8211; thank you to all of you who used Buildix and liked it and provided feedback. Thank you also to the current big players in the CI field who put effort into making sure that looking after your CI environment no longer needs to be a full time job for someone.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chrisread.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chrisread.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chrisread.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chrisread.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chrisread.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chrisread.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chrisread.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chrisread.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chrisread.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chrisread.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chrisread.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chrisread.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chrisread.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chrisread.wordpress.com/107/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.chris-read.net&amp;blog=4083712&amp;post=107&amp;subd=chrisread&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.chris-read.net/2009/12/16/the-end-of-buildix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Chris Read</media:title>
		</media:content>
	</item>
	</channel>
</rss>
