<?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>Control Group Blog &#187; deployment</title>
	<atom:link href="http://blog.controlgroup.com/tag/deployment/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.controlgroup.com</link>
	<description></description>
	<lastBuildDate>Thu, 29 Jul 2010 18:15:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog.controlgroup.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/f388f3312831ad70ab2e3aac1d7acbc8?s=96&#038;d=http://s2.wp.com/i/buttonw-com.png</url>
		<title>Control Group Blog &#187; deployment</title>
		<link>http://blog.controlgroup.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.controlgroup.com/osd.xml" title="Control Group Blog" />
	<atom:link rel='hub' href='http://blog.controlgroup.com/?pushpress=hub'/>
		<item>
		<title>Automated Linux Server Deployment With Amazon EC2 and Puppet</title>
		<link>http://blog.controlgroup.com/2010/07/29/automated-linux-server-deployment-with-amazon-ec2-and-puppet/</link>
		<comments>http://blog.controlgroup.com/2010/07/29/automated-linux-server-deployment-with-amazon-ec2-and-puppet/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 18:02:49 +0000</pubDate>
		<dc:creator>David Rocamora</dc:creator>
				<category><![CDATA[infrastructure]]></category>
		<category><![CDATA[storage]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://blog.controlgroup.com/?p=854</guid>
		<description><![CDATA[I wear a few different hats at Control Group. Very often I will join the team on projects that have something to do with post production, storage networking, product development and web application development. At a glance these things seem quite different. What do these very different projects have in common? Linux! I work with [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.controlgroup.com&blog=7073291&post=854&subd=controlgroupblog&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>I wear a few different hats at Control Group. Very often I will join the team on projects that have something to do with post production, storage networking, product development and web application development. At a glance these things seem quite different. What do these very different projects have in common? <a href="http://en.wikipedia.org/wiki/Linux">Linux!</a></p>
<div id="attachment_870" class="wp-caption alignleft" style="width: 212px"><img class="size-medium wp-image-870" title="linux-penguin" src="http://controlgroupblog.files.wordpress.com/2010/07/linux-penguin.jpeg?w=202&#038;h=240" alt="Tux the Linux Penguin" width="202" height="240" /><p class="wp-caption-text">Tux the Linux Penguin </p></div>
<p><a href="http://en.wikipedia.org/wiki/Linux"></a>I work with Linux quite a bit at CG and it comes up in some interesting places. Consistently we find that the largest and smallest systems we work with are running Linux. If it&#8217;s a large system, like a database or storage network, Linux can provide the stability, robustness, and uptime required to make the project a success. If it&#8217;s a very small system, like an embedded display or a custom purpose device, we choose Linux because of its flexibility.</p>
<p>Over the last year or so, we&#8217;ve had a need to spin up many more virtual computers than we used to. It&#8217;s necessary to create a handful of  computers for each project we work on and the number of projects that we are taking on at a time is growing. Tools like EC2 and <a href="http://www.vmware.com/">VMWare</a> have made it very easy for us to create new virtual computers, but what about managing them? For Linux there are some great solutions. In this blog post I would like to talk about how we&#8217;re using some of the tools to deal with the large number of machines we are managing in Amazon EC2 for ourselves and our clients.</p>
<h4>Cloud Control</h4>
<p>The first part of the system is <a title="Amazon's Elastic Compute Cloud" href="http://aws.amazon.com/ec2/">Amazon&#8217;s Elastic Compute Cloud</a> (or EC2 for short). I&#8217;ve written about EC2 <a href="http://blog.controlgroup.com/2009/08/07/a-look-at-amazons-elastic-load-balancer/">before</a>, but to be really brief about it: EC2 allows you to create computers on the Internet quickly and lets you pay by the hour for their use. The instances you create are virtual machines that run in a large <a title="Xen" href="http://www.xen.org/">Xen</a> based infrastructure that Amazon provides. To customize the software and configuration of the instances, Amazon lets you create snapshots of your computers (called Amazon Machine Images or AMIs) that you can launch new instances from.</p>
<p>It&#8217;s hard to say that making an AMI is difficult, it&#8217;s just a few keystrokes and a coffee break while the image is prepared and stored for your future use. When you begin to manage dozens and dozens of different images this becomes a problem. It became clear to us that we needed to have one AMI to manage, and build every computer from image dynamically. To do this we needed a way to pass specific information to each instance when it started up and then have a tool customize the instance based on the specific information about it. Amazon provides a method to pass specific information to an instance (it&#8217;s called user-data) and the good folks at <a title="Alestic" href="http://alestic.com/">Alestic</a> have made some great AMIs around it with some <a title="Alestic Documentation" href="http://alestic.com/2009/06/ec2-user-data-scripts">good documentation</a>.</p>
<h4>Enter the Puppet Master</h4>
<p><img class="alignright" title="Sock Puppet" src="http://familyhandycrafts.com/wp-content/uploads/2010/01/sockpuppet.jpg" alt="" width="180" height="232" />We have been using a tool called <a title="Puppet" href="http://www.puppetlabs.com/">Puppet</a> for nearly two years now to manage a handful of computers. We selected that to manage the whole lot of Linux computers that we were dealing with. Puppet allows us to describe how a computer should work in a general way. We can make collections of configurations for standard things so it&#8217;s easy to reuse what we create over and over again. Our Puppet configuration is stored in a <a title="Git version control system" href="http://git-scm.com/">Git repository</a> so many administrators and developers can collaborate on it and our server configurations are backed up and version controlled automatically.</p>
<h4>Bringing it all together</h4>
<p>Puppet decides what configuration to use for a computer based on its hostname. We use the EC2 user data to pass a new instance the address of a Puppet server and the hostname that the machine should assume. When it boots up it sets its hostname and checks in to receive the configuration that we&#8217;ve stored for it. All changes to the machine happen through Puppet so we don&#8217;t have to spend a lot of time SSHing in and customizing the machine. It&#8217;s also very easy for us to duplicate a machine for testing or whatever we need.</p>
<p>While we originally did this to make our lives easier as we manage more machines there turned out to be some really cool side effects:</p>
<ul>
<li><strong>Excellent Security: </strong>We don&#8217;t want to store sensitive information in Puppet. This means no passwords or secret stuff. To resolve this we require all developers and administrators to use key-based authentication to get access to the computers via SSH. This is very handy and it eliminates the need to remember passwords or for an administrator to have to reset passwords for users. Someday I would love to take the next step and have all of our users and machines be part of the <a title="Monkeysphere" href="http://web.monkeysphere.info/">Monkeysphere</a>.</li>
<li><strong>Accountability:</strong> All of our configuration is tracked in a Git repository so we can see the history about what has changed on certain hosts and who changed it. Change control occurs automatically with Puppet and it&#8217;s easy to examine and understand what has changed and why it changed.</li>
<li><strong>Repeatability: </strong>By storing all Linux computer configuration in a single place we can easily repeat what we did for one server on another. Puppet institutionalizes all of our Linux knowledge in one place and saves us time every time we have to create a new machine. If you want to see how someone has done something in the past there&#8217;s no more need to dig through emails or documentation, just look at the facts in the Puppet repository and even copy and paste it into your new configuration.</li>
<li><strong>Portability: </strong>We use Puppet to manage much more than just EC2 instances. Physical machines and virtual machines in our <a href="http://www.vmware.com/products/vsphere/esxi-and-esx/index.html">ESX</a> installation are managed this way too. It gives us one tool to take care of any Linux machine we deal with. Puppet also supports other operating systems. We&#8217;re looking to expand our use of it to Mac OS X machines and maybe even Windows sometime soon.</li>
</ul>
<p>There are certainly other ways to solve the problems we&#8217;re up against, but this is the way we chose. We did some extensive evaluation of <a title="Chef" href="http://opscode.com/">Chef</a> (which is a tool like Puppet) and we&#8217;ve used <a title="Rightscale" href="http://www.rightscale.com/">Rightscale</a> before. This sort of thing is becoming very important as we manage more and more computers. I expect we&#8217;ll see a lot of exciting products, techniques, and services in this space as time goes on.</p>
<p>If you have any questions or comments about our setup, or would like to discuss implementing something like this for your business, leave a comment or <a title="Contact Control Group" href="http://www.controlgroup.com/contact">get in touch with us</a>. We&#8217;d love to help.</p>
<br />Filed under: <a href='http://blog.controlgroup.com/category/infrastructure/'>infrastructure</a> Tagged: <a href='http://blog.controlgroup.com/tag/cloud/'>cloud</a>, <a href='http://blog.controlgroup.com/tag/deployment/'>deployment</a>, <a href='http://blog.controlgroup.com/tag/development/'>development</a>, <a href='http://blog.controlgroup.com/tag/linux/'>linux</a>, <a href='http://blog.controlgroup.com/tag/server/'>server</a>, <a href='http://blog.controlgroup.com/tag/storage/'>storage</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/controlgroupblog.wordpress.com/854/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/controlgroupblog.wordpress.com/854/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/controlgroupblog.wordpress.com/854/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/controlgroupblog.wordpress.com/854/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/controlgroupblog.wordpress.com/854/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/controlgroupblog.wordpress.com/854/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/controlgroupblog.wordpress.com/854/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/controlgroupblog.wordpress.com/854/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/controlgroupblog.wordpress.com/854/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/controlgroupblog.wordpress.com/854/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.controlgroup.com&blog=7073291&post=854&subd=controlgroupblog&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.controlgroup.com/2010/07/29/automated-linux-server-deployment-with-amazon-ec2-and-puppet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/99e758aabf068a2ff5103e3cc76eddfb?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">drocamor</media:title>
		</media:content>

		<media:content url="http://controlgroupblog.files.wordpress.com/2010/07/linux-penguin.jpeg?w=253" medium="image">
			<media:title type="html">linux-penguin</media:title>
		</media:content>

		<media:content url="http://familyhandycrafts.com/wp-content/uploads/2010/01/sockpuppet.jpg" medium="image">
			<media:title type="html">Sock Puppet</media:title>
		</media:content>
	</item>
		<item>
		<title>How to connect an iPod to a Cisco Call Manager Express System</title>
		<link>http://blog.controlgroup.com/2009/10/02/how-to-connect-an-ipod-to-a-cisco-call-manager-express-system/</link>
		<comments>http://blog.controlgroup.com/2009/10/02/how-to-connect-an-ipod-to-a-cisco-call-manager-express-system/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 16:53:29 +0000</pubDate>
		<dc:creator>Miles Green</dc:creator>
				<category><![CDATA[design solutions]]></category>
		<category><![CDATA[adaptor]]></category>
		<category><![CDATA[CCME]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[ipod]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[live audio feed]]></category>
		<category><![CDATA[mini]]></category>
		<category><![CDATA[MOH]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[music on hold]]></category>
		<category><![CDATA[RCA]]></category>

		<guid isPermaLink="false">http://blog.controlgroup.com/?p=516</guid>
		<description><![CDATA[Control Group has rolled out a number of Call Manager Express systems for our clients, and one issue that frequently comes up is what to do with callers on hold. While most companies – ours included – work to avoid putting people on hold, it does happen. The easy options offered by the Call Manager [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.controlgroup.com&blog=7073291&post=516&subd=controlgroupblog&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>Control Group has rolled out a number of <a href="http://www.cisco.com/en/US/products/sw/voicesw/ps4625/index.html">Call Manager Express</a> systems for our clients, and one issue that frequently comes up is what to do with callers on hold.  While most companies – ours included – work to avoid putting people on hold, it does happen.  The easy options offered by the Call Manager Express are a double beep at regular intervals or a &#8216;Music on Hold&#8217; file that you can store in the host router&#8217;s flash memory.  I have received many complaints about the beeps and even a single repeating music file can be insufficient for some users.</p>
<p>When I started searching for a way to connect an audio feed to a gateway router, I found that there were no great turnkey solutions.  What I did find is that there is a way to make use of an available FXO port to bring a live feed into the system with some inexpensive parts.  The solution I have deployed requires a surface mount RJ 45, a chassis mount RCA jack, and a stereo 1/8&#8243; mini to RCA adaptor.  All of these pieces can be found at a nearby electronics parts store and purchased for under $20.  The FXO port and an iPod will set you back some but if you want easy control of your hold music it may be worth it.</p>
<h4>Build the Adaptor</h4>
<p>To make the adaptor, open up the surface mount box and figure out how you will attach the RCA jack.  In one case I used a drill bit to make a hole for it, in another case I found a form factor where the notch for a cat 5 cable fit the connector perfectly.  You may also find a general purpose surface mount with modular fittings where an RCA &#8220;snap in&#8221; would snap right in.</p>
<p>Once you&#8217;ve sorted that you will need a pair of wires from either a solid or stranded piece of cat 5.  Punch these down to pins 4 and 5 of the RJ45 and solder the other side to the RCA jack.</p>
<p>When you are done it should look like this.</p>
<div class="wp-caption alignright" style="width: 310px"><img style="border:0 none initial;margin:0;padding:0;" title="JackDetail" src="http://cgmilesgreen.files.wordpress.com/2009/10/jackdetail.jpg?w=300&#038;h=225" alt="Adaptor wiring detail" width="300" height="225" /><p class="wp-caption-text">Adaptor wiring detail. Though the jack in this configuration is an RJ 45 you can use a standard RJ11 phone cord to connect between the adaptor and the FXO port.</p></div>
<p><strong>Configuring the Voice Gateway</strong></p>
<p>Configuring the voice gateway is pretty straightforward:</p>
<p><em>1. Create a DN for the MOH call out with an unused multicast address</em></p>
<blockquote><p>ephone-dn  274<br />
number 1 no-reg primary<br />
moh ip 239.12.13.1 port 2000 out-call 899</p></blockquote>
<p><em>2. Configure the available FXO port remain open to the iPod</em></p>
<blockquote><p>voice-port 0/3/3<br />
signal loopStart live-feed<br />
input gain 2<br />
description To MoH Live Feed</p></blockquote>
<p><em>3. Create a dial peer to connect to the FXO port</em></p>
<blockquote><p>dial-peer voice 55 pots<br />
destination-pattern 899<br />
port 0/3/3</p></blockquote>
<p><em>4. Configure CME to use the multicast for MOH</em></p>
<blockquote><p>telephony-service<br />
multicast moh 239.12.13.1 port 2000</p></blockquote>
<p>Then Shut/No shut the voice port to invoke the change.</p>
<p>I have been using one of the built in USB ports on our gateway here at Control Group to power the iPod which turns out to be very convenient.</p>
<h4>Safety and Other Considerations</h4>
<p>There are some very important caveats.</p>
<ol>
<li><strong>The adaptor I describe is potentially dangerous.</strong> If you were to connect an iPod to a POTS line or an FXS port feeding a battery signal you could damage the iPod or the device connected to it.  You could also receive a serious electrical shock.</li>
<li>The use of copyrighted material for Music on Hold can be a violation of the rights of the copyright owner.</li>
<li>The adaptor will only work with one channel of audio from the iPod.  If you use a mono 1/8&#8243; to RCA cable it will short out the other channel.</li>
</ol>
<p>These issues need to be minded if you would consider this solution. Also, keep in mind that people&#8217;s taste in music varies widely.   Implement Music on Hold and you will find out just how much!</p>
<p>Miles Green is a Senior Network Engineer at Control Group and worked as a Musician and Recording Engineer in a previous life.</p>
<br />Posted in design solutions Tagged: adaptor, CCME, deployment, integration, ipod, linkedin, live audio feed, mini, MOH, music, music on hold, RCA <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/controlgroupblog.wordpress.com/516/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/controlgroupblog.wordpress.com/516/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/controlgroupblog.wordpress.com/516/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/controlgroupblog.wordpress.com/516/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/controlgroupblog.wordpress.com/516/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/controlgroupblog.wordpress.com/516/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/controlgroupblog.wordpress.com/516/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/controlgroupblog.wordpress.com/516/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/controlgroupblog.wordpress.com/516/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/controlgroupblog.wordpress.com/516/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.controlgroup.com&blog=7073291&post=516&subd=controlgroupblog&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.controlgroup.com/2009/10/02/how-to-connect-an-ipod-to-a-cisco-call-manager-express-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6bb521f0d162934a31b9d4fcd557c728?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Miles Green</media:title>
		</media:content>

		<media:content url="http://cgmilesgreen.files.wordpress.com/2009/10/jackdetail.jpg?w=300" medium="image">
			<media:title type="html">JackDetail</media:title>
		</media:content>
	</item>
		<item>
		<title>Testing Storage Performance for Video with lmdd</title>
		<link>http://blog.controlgroup.com/2009/06/08/testing-storage-performance-for-video-with-lmdd/</link>
		<comments>http://blog.controlgroup.com/2009/06/08/testing-storage-performance-for-video-with-lmdd/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 13:00:08 +0000</pubDate>
		<dc:creator>David Rocamora</dc:creator>
				<category><![CDATA[infrastructure]]></category>
		<category><![CDATA[video solutions]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[engineering]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[SANs]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[storage]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://blog.controlgroup.com/?p=316</guid>
		<description><![CDATA[One of the unique things about how Control Group works is that our focus is much more involved than simply putting in a solution for a client and then moving on. We work with our clients to determine how they work, so we can design IT solutions that really fit their needs. Since we have [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.controlgroup.com&blog=7073291&post=316&subd=controlgroupblog&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>One of the unique things about how Control Group works is that our focus is much more involved than simply putting in a solution for a client and then moving on. We work with our clients to determine how they work, so we can design IT solutions that really fit their needs. Since we have partnerships with a variety of vendors, we work with our clients to arrive at the best solutions for their business. This means we do quite a bit of research and planning before we begin a project — and then a great deal of testing during and after we install new hardware or software.</p>
<p>I do some work on implementing <a href="http://blog.controlgroup.com/2009/04/15/advantages-of-storage-networking/">storage systems</a> for our clients, and we&#8217;ve found that different applications have different storage requirements. For example a video post production facility — like the <a href="http://www.controlgroup.com/casestudy/17">facility at WWE</a> — generally needs lots of disk space that is very good at reading and writing large files at high speeds. The storage here needs to provide good streaming throughput, because high quality video files generally have high bit rates, and are being stored or played back from the disk in real-time for ingesting, editing, or playout. If the storage system is not fast enough to read or write the file in real-time, frames will be dropped. This can cause unsatisfactory media files, programs to crash, or audio and video to become out of sync.</p>
<div id="attachment_322" class="wp-caption aligncenter" style="width: 460px"><a rel="attachment wp-att-322" href="http://blog.controlgroup.com/2009/06/08/testing-storage-performance-for-video-with-lmdd/sunfire_x4150_closeup/"><img class="size-full wp-image-322" title="Sun Fire X4150" src="http://controlgroupblog.files.wordpress.com/2009/06/sunfire_x4150_closeup.jpg?w=450&#038;h=359" alt="A Sun Fire X4150 I recently configured. That's some serious storage." width="450" height="359" /></a><p class="wp-caption-text">10,000 RPM SAS disks. That&#39;s some serious storage.</p></div>
<p>Suboptimal read/write performance can become a huge problem. When we put in a new system this is something we need to test. I usually do the test with a tool called <strong>lmdd</strong>.</p>
<p>lmdd comes from the <a href="http://www.bitmover.com/lmbench/">lmbench</a> tools which are provided by Bitmover for benchmarking systems. lmdd is great for testing streaming bandwidth. In most of our engagements with video, we install a <a href="http://www.quantum.com/stornext">Stornext</a> or <a href="http://www.apple.com/xsan/">Xsan</a> filesystem so we&#8217;ll run our tests against this. lmdd will probably work on any filesystem that you can mount on your Mac or Linux computer (Leave a comment if you need a version for Mac OS X, I have one compiled).  lmdd lets us verify exactly what the maximum number of megabytes per second we can push through the storage and point us to where we need to make changes to the hardware or software configuration. I use lmdd like this :</p>
<blockquote><p>lmdd of=/path/to/test_file count=1g</p>
<p>lmdd if=/path/to/test_file</p></blockquote>
<p>The first tests write performance and the second tests read performance. More information about the syntax is available in the <a href="http://www.bitmover.com/lmbench/lmdd.8.html">manual page for lmdd</a>. The results of the command from a server I was testing looked like this:</p>
<blockquote><p>2147.4755 MB in 6.8003 secs, 315.7914 MB/sec</p></blockquote>
<p>lmdd is great because it&#8217;s easy to read. This result shows I could write to the filesystem at 315 megabytes per second. That&#8217;s really fast! This is from a test with a server with a lot of RAM and a special filesystem that took advantage of that cache. When I run it on my Macbook, I get a result like this:</p>
<blockquote><p>18342.6171 MB in 376.7685 secs, 48.6841 MB/sec</p></blockquote>
<p>So the next time you&#8217;re interested in how your storage is performing give lmdd a shot and let me know how it goes. If you&#8217;re looking for more information about storage performance testing then stay tuned; I&#8217;ll be posting about testing storage with tools that benchmark small reads and writes next.</p>
<br />Posted in infrastructure, video solutions Tagged: apple, deployment, engineering, enterprise, integration, SANs, server, storage, video <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/controlgroupblog.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/controlgroupblog.wordpress.com/316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/controlgroupblog.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/controlgroupblog.wordpress.com/316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/controlgroupblog.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/controlgroupblog.wordpress.com/316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/controlgroupblog.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/controlgroupblog.wordpress.com/316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/controlgroupblog.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/controlgroupblog.wordpress.com/316/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.controlgroup.com&blog=7073291&post=316&subd=controlgroupblog&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.controlgroup.com/2009/06/08/testing-storage-performance-for-video-with-lmdd/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/99e758aabf068a2ff5103e3cc76eddfb?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">drocamor</media:title>
		</media:content>

		<media:content url="http://controlgroupblog.files.wordpress.com/2009/06/sunfire_x4150_closeup.jpg" medium="image">
			<media:title type="html">Sun Fire X4150</media:title>
		</media:content>
	</item>
		<item>
		<title>Multicasting with ASR &#8211; A Brief Overview</title>
		<link>http://blog.controlgroup.com/2009/05/26/multicasting-with-asr-a-brief-overview/</link>
		<comments>http://blog.controlgroup.com/2009/05/26/multicasting-with-asr-a-brief-overview/#comments</comments>
		<pubDate>Tue, 26 May 2009 12:30:09 +0000</pubDate>
		<dc:creator>Ivan Wright</dc:creator>
				<category><![CDATA[infrastructure]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[linkedin]]></category>

		<guid isPermaLink="false">http://blog.controlgroup.com/?p=220</guid>
		<description><![CDATA[Apple&#8217;s venerable Apple Software Restore (asr) tool includes the insanely useful ability to image a nearly unlimited number of network clients. It accomplishes this via a router&#8217;s ability to broadcast data to any number of clients simultaneously from a single IP address. Known as multicasting, this allows even a modest computer to image a hundred Macs [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.controlgroup.com&blog=7073291&post=220&subd=controlgroupblog&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>Apple&#8217;s venerable <a href="http://developer.apple.com/documentation/Darwin/Reference/Manpages/man8/asr.8.html">Apple Software Restore</a> (asr) tool includes the insanely useful ability to image a nearly unlimited number of network clients. It accomplishes this via a router&#8217;s ability to broadcast data to any number of clients simultaneously from a single IP address. Known as <a href="http://en.wikipedia.org/wiki/Multicast">multicasting</a>, this allows even a modest computer to image a hundred Macs with 35GB images in a single fell swoop.</p>
<div id="attachment_228" class="wp-caption alignleft" style="width: 252px"><img class="size-full wp-image-228" title="An asr Restore Image in Disk Utility" src="http://controlgroupblog.files.wordpress.com/2009/05/asr1.png?w=242&#038;h=226" alt="An asr Restore Image in Disk Utility" width="242" height="226" /><p class="wp-caption-text">An ASR Restore Image in Disk Utility</p></div>
<p>The disk images asr works with are the same format used by Mac OS X&#8217;s Disk Utility. This means you can do a rollout over the network and keep the master file on hand in your re-imaging kit, should one of your workstations run into trouble and need to be re-imaged over FireWire. To ensure the sanctity of the final result, disk images include an embedded checksum which is automatically verified during the deployment process. This can be a significant advantage in using asr over of <a href="http://www.apple.com/server/macosx/features/client.html">Apple NetInstall</a>, which requires its own folder-based setup of restore source files.</p>
<p>Disk images are also hardware agnostic for the most part. You can build your image on a Mac Mini and apply it to anything from a PowerMac G5, to an Macbook Pro so long as it can get on the same subnet as the asr host.</p>
<p>The usual caveats of disk imaging apply unfortunately. You&#8217;re going to have to sweat individual serial numbers if you don&#8217;t employ network or volume licensing. Settings like hostnames and non-ubiquitous local users will require individual workstation visits without centralized management. However, having asr around to do the heavy lifting means you may be able to turn a strenuous two day deployment into a breezy one day affair.</p>
<br />Posted in infrastructure Tagged: apple, deployment, enterprise, linkedin <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/controlgroupblog.wordpress.com/220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/controlgroupblog.wordpress.com/220/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/controlgroupblog.wordpress.com/220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/controlgroupblog.wordpress.com/220/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/controlgroupblog.wordpress.com/220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/controlgroupblog.wordpress.com/220/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/controlgroupblog.wordpress.com/220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/controlgroupblog.wordpress.com/220/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/controlgroupblog.wordpress.com/220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/controlgroupblog.wordpress.com/220/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.controlgroup.com&blog=7073291&post=220&subd=controlgroupblog&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.controlgroup.com/2009/05/26/multicasting-with-asr-a-brief-overview/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b6d1ff27fde360617b9010b06a5cb7ab?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">hamlessham</media:title>
		</media:content>

		<media:content url="http://controlgroupblog.files.wordpress.com/2009/05/asr1.png" medium="image">
			<media:title type="html">An asr Restore Image in Disk Utility</media:title>
		</media:content>
	</item>
	</channel>
</rss>