<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" ><channel><title>ipHouse Blog &#187; Opinion</title> <atom:link href="http://blogs.iphouse.net/category/opinion/feed/" rel="self" type="application/rss+xml" /><link>http://blogs.iphouse.net</link> <description>A friendly, local ISP with a view.</description> <lastBuildDate>Sat, 04 Feb 2012 04:14:51 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>Here, There Be Storage Related Dragons&#8230;</title><link>http://blogs.iphouse.net/2012/02/03/here-there-be-storage-related-dragons/</link> <comments>http://blogs.iphouse.net/2012/02/03/here-there-be-storage-related-dragons/#comments</comments> <pubDate>Fri, 03 Feb 2012 21:31:46 +0000</pubDate> <dc:creator>Nick Gasper</dc:creator> <category><![CDATA[Opinion]]></category> <category><![CDATA[System Administrators]]></category> <category><![CDATA[geeky]]></category> <category><![CDATA[Virtualization]]></category><guid isPermaLink="false">http://blogs.iphouse.net/?p=2395</guid> <description><![CDATA[I&#8217;m venturing into territory that I don&#8217;t understand; disk scheduling algorithms in Linux. If you know more about this than I then please feel free to disabuse me of any mistaken notions, fundamental errors, or unfortunate statements that I may make in the blog post for future updates. This is something that I barely grasp <a href="http://blogs.iphouse.net/2012/02/03/here-there-be-storage-related-dragons/" class="more-link">More &#62;</a>]]></description> <content:encoded><![CDATA[<p>I&#8217;m venturing into territory that I don&#8217;t understand; disk scheduling algorithms in Linux. If you know more about this than I then please feel free to disabuse me of any mistaken notions, fundamental errors, or unfortunate statements that I may make in the blog post for future updates. This is something that I barely grasp but I like to explore and learn. So at the risk of my professional pride, and with the help of Wikipedia, here I go!</p><p>Changing your <a href="http://en.wikipedia.org/wiki/I/O_scheduling#Common_disk_I.2FO_scheduling_disciplines">disk scheduler</a> on a Linux virtual machine to increase performance.</p><p><strong><span id="more-2395"></span>First some background of what we do with storage at <a title="ipHouse" href="http://www.iphouse.com/">ipHouse</a> in our VMware environments.</strong></p><p>We really like <a href="http://en.wikipedia.org/wiki/Network_File_System_%28protocol%29">NFS</a>. Architecturally it&#8217;s simpler than block based storage; you just need a good local area network and a storage system that can export a file based protocol. There&#8217;s no need for specialized hardware or intelligent host bus adapters, just let the storage array handle the storage. Virtualization lends itself to file based storage quite well. VMDKs are just files after all. I kind of snickered when <a href="http://en.wikipedia.org/wiki/VMware">VMware</a> first came out with their <a href="http://www.vmware.com/products/vstorage-apis-for-array-integration/overview.html">VAAI</a> storage extensions. It seemed, to me, like they were enhancing block-level storage devices to do a lot of what <a href="http://en.wikipedia.org/wiki/Network-attached_storage">NAS</a> based storage already does.</p><p>While I was taking my VCP4 class my colleges, most of whom were from big companies, snickered when I mentioned that our storage was on a NAS. A &#8220;filer&#8221; for them was a place for document sharing and storage. There was &#8220;no way&#8221; it would ever be fast enough, or good enough to backend their virtualized infrastructure. I&#8217;ve seen that notion fade more and more as <a href="http://en.wikipedia.org/wiki/ZFS">ZFS</a> has opened the doors for storage startups; and the big players are fighting back with their own specialized NAS devices. There are some really cool ideas floating around: NAS devices that are scale-out, that are optimized for virtualization, and that can do in-line <a href="http://en.wikipedia.org/wiki/Data_deduplication#In-line_deduplication">deduplication</a> of data.</p><p><strong>That being said&#8230;</strong></p><p>I have learned that there are some OS level tweaks that <em>can</em> enhance performance on virtual machines. Most x86 operating systems seem to be optimized for single disks, or internal RAID setups. Understandable as that has traditionally been the bulk of their install base. This means that the OS can manage disk queuing better that the dumb RAID card, or the dumber hard drive. <a href="http://en.wikipedia.org/wiki/CFQ">CFQ</a>, the default disk scheduler as of kernel 2.6.18 does this. As I understand it CFQ breaks synchronous read/write requests into queues, and assigns <a href="http://en.wikipedia.org/wiki/Preemption_%28computing%29">timeslices</a> to each queue, weighted by IO priority. The effect is that higher priority processes get longer queues which keeps IO requests from the same process close together. Great idea when the OS has direct access and is managing the storage. Not so great when the storage is handled remotely; the array on the other side is doing the scheduling. All of that optimization is ostensibly ignored. So for a virtual machine it&#8217;s better to switch to a simpler algorithm and let the storage array handle the write queuing.</p><p>From my reading (and testing) It&#8217;s better to switch to the <a href="http://en.wikipedia.org/wiki/Noop_scheduler">noop</a> scheduler. Noop simply shoves all requests into a first-in-first-out (FIFO) queue and can merge requests. It is simple, fast, and is great for flash storage (no mechanical latency) or for situations where optimization is handled by another device. Like a NAS! Perfect for virtualization!</p><p>I discovered this after getting a snippet of a shell script to try from Mike (who got it from a potential vendor that is a big storage geek). This wasn&#8217;t new information as Mike had mentioned this almost 18 months ago in passing but neither he nor myself ever tested it. After giving me the info, again, he suggested that I &#8220;test this out, and let me know if it works.&#8221;.</p><p>I&#8217;m still testing it, so caveat emptor, but I thought I&#8217;d share it with you.</p><p><span style="text-decoration: underline;">***WARNING DO NOT DO THIS ON A VM WITH SNAPSHOTS***</span></p><pre>
#!/bin/sh

grep '' /sys/block/sd*/queue/scheduler
for d in /sys/block/sd*; do
echo noop &gt; $d/queue/scheduler
done
grep '' /sys/block/sd*/queue/scheduler
</pre><p>This switches the scheduler from cfq to noop on all &#8220;SCSI&#8221; disks in the virtual machine.</p><p>He also added the following tweak to increase the read-ahead from 256 sectors to 1000 sectors, which caches more disk data for faster read times, after printing what the OS has mounted.</p><pre>
#!/bin/sh

mount
blockdev --getra /dev/sd?
blockdev --setra 10000 /dev/sd?
blockdev --getra /dev/sd?
</pre><p>Again, I&#8217;m still testing this on my personal stuff, but, qualitatively, things feel a lot faster. If anything, I haven&#8217;t crashed my Linux systems.</p><p>Anyways, I hope that helps!</p> ]]></content:encoded> <wfw:commentRss>http://blogs.iphouse.net/2012/02/03/here-there-be-storage-related-dragons/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>What does MinneDemo mean to me?</title><link>http://blogs.iphouse.net/2012/02/01/what-does-minnedemo-mean-to-me/</link> <comments>http://blogs.iphouse.net/2012/02/01/what-does-minnedemo-mean-to-me/#comments</comments> <pubDate>Wed, 01 Feb 2012 22:08:36 +0000</pubDate> <dc:creator>Genevieve Ruebel</dc:creator> <category><![CDATA[Opinion]]></category> <category><![CDATA[geeky]]></category> <category><![CDATA[technology]]></category><guid isPermaLink="false">http://blogs.iphouse.net/?p=2163</guid> <description><![CDATA[ipHouse has been a long time sponsor of MinneStar. I was lucky enough to attend two years of MinneBar and so far this year I was able to attend a MinneDemo event as well. MinneDemo happens two to three times a year and I think this has to be one of the most exciting MinneStar events (although, <a href="http://blogs.iphouse.net/2012/02/01/what-does-minnedemo-mean-to-me/" class="more-link">More &#62;</a>]]></description> <content:encoded><![CDATA[<p>ipHouse has been a long time sponsor of <a title="minnesota's tech + startup communities, catalyzed." href="http://minnestar.org/" target="_blank">MinneStar</a>. I was lucky enough to attend two years of <a title="minnesota + tech + design + drinks" href="http://minnestar.org/minnebar/" target="_blank">MinneBar</a> and so far this year I was able to attend a <a title="minnesota + innovation + demonstration" href="http://minnestar.org/minnedemo/" target="_blank">MinneDemo</a> event as well.</p><p><span id="more-2163"></span></p><p>MinneDemo happens two to three times a year and I think this has to be one of the most exciting MinneStar events (although, I have yet to attend MinneBBQ).</p><p>As you enter the area of presentations you feel a great surge of energy from the presenters and the crowd. There is an excellent mix of different age groups that attend. The first hour is for networking, eating, and of course &#8211; drinking. Once you have had your fill of food and conversation, you head into a medium-sized auditorium to take your seat, wait, and feel the anticipation build.</p><p>All of the presenters have a spark that ignites the entire audience sucking them into the presentation.</p><p>What are people presenting at MinneDemo?</p><p>Presenters show off real, working technology products created locally in Minnesota. One not only feels energy but a sense of pride in our great state!</p><p>I am just going to touch on two of the different presenters that I enjoyed wholeheartedly but before I do that I would like to congratulate <a title="Code 42 Website" href="http://code42.com/">Code 42 software</a>, the company behind <a title="CrashPlan Backup Software" href="http://www.crashplan.com/" target="_blank">CrashPlan</a> for landing a $52.5M growth capital investment round.</p><p>In case you want to catch the entire show there is <a title="video footage of MinneDemo 2012 at tech.mn" href="http://tech.mn/news/2012/01/18/minnedemo-winter-2012-livestream/" target="_blank">video footage</a> of the event and more great links on the video page.</p><p>Brahmageddon is an iOS game that is a lot like wack-a-mole but, with a spice of Hindu mythology. The company that makes the game, <a title="Company profile of Bust Out Solutions" href="http://tech.mn/directory/companies/bust-out-solutions/" target="_blank">Bust Out Solutions</a>, is based in Minneapolis, Minnesota. It was quite entertaining to watch the game being played and hearing the Hindu music in the background. The graphics are magical and I would love to meet the artist who created the Hindu demons. The game takes on the same effect that <a title="Angry Birds Wikipedia article" href="http://en.wikipedia.org/wiki/Angry_Birds">Angry Birds</a>.What I mean by this is it is a fast paced game that is easy to understand with a pinch of challenge to keep the players enthralled. It is quite simple and an easy way to acquire entertainment on the go. I could easily see myself playing this game on the bus ride home from work. The audience for the game seems like it would cover all demographics. It was also encouraging that the creators still find the game quite fun to play.</p><p><a title="RedStamp website" href="http://www.redstamp.com/" target="_blank">Red Stamp&#8217;s</a> presentation takes the quirky, stylish greeting cards that you would buy at say a <a title="Paper Source Greeting Cards" href="http://www.paper-source.com/cgi-bin/paper/stationery/thank-you-notes-PS.html" target="_blank">Paper Source</a> and puts it into a mobile correspondence. It was a pleasure to watch a company that moved with the times and did not just stay in the paper world. I think Red Stamp represents a beautiful evolution in the greeting card. Red Stamp is really catering to the crowd that just does not have time to stop by a store or order a card and have it shipped their way. I think this crowd of busy people is growing and Red Stamp is growing right along with them. It is refreshing to see a company that instead of saying &#8220;no we won&#8217;t do that&#8221; said &#8220;hey, we are up to the challenge and can make this happen&#8221;.</p><p>If you would like a kick in the butt to remember what dreams you used to have and what it is like to strive to make those dreams come true, you should check out MinneDemo.</p><p>And again, if you would like to see all the presentations, check out the <a title="tech.mn video footage of MinneDemo" href="http://tech.mn/news/2012/01/18/minnedemo-winter-2012-livestream/" target="_blank">video footage</a>.</p> ]]></content:encoded> <wfw:commentRss>http://blogs.iphouse.net/2012/02/01/what-does-minnedemo-mean-to-me/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>The Value and Cost of Persistent Data</title><link>http://blogs.iphouse.net/2012/01/27/the-value-and-cost-of-persistent-data/</link> <comments>http://blogs.iphouse.net/2012/01/27/the-value-and-cost-of-persistent-data/#comments</comments> <pubDate>Fri, 27 Jan 2012 18:33:27 +0000</pubDate> <dc:creator>Nick Gasper</dc:creator> <category><![CDATA[Opinion]]></category> <category><![CDATA[System Administrators]]></category> <category><![CDATA[Virtual Machines]]></category> <category><![CDATA[Hosting]]></category> <category><![CDATA[Storage]]></category> <category><![CDATA[Virtualization]]></category> <category><![CDATA[vmForge]]></category><guid isPermaLink="false">http://blogs.iphouse.net/?p=2236</guid> <description><![CDATA[Most 'cloud' type systems don't offer persistent data by default and ends up being an extra cost item.]]></description> <content:encoded><![CDATA[<p>I&#8217;ve been cleaning out my house recently. There&#8217;s a lot of crud that&#8217;s just been lying around, collected through years. My wife describes me as a level 2 hoarder; she says that I would be a shoe-in for that <a href="http://en.wikipedia.org/wiki/Hoarders">A&amp;E show</a>. Going through many, many boxes that I&#8217;ve collected in the basement, I pick through each cord and think &#8220;I might need that.&#8221; I won&#8217;t need it though, so with a small mental push, I put it in the trash bag. Persistent data is a lot like that. A lot of companies have, either through policy or inertia, tons of useless information sitting on disks, or tapes, or CDs, that may be useful one day, but probably will not ever be.</p><p><span id="more-2236"></span></p><p>I look at many cloud providers and I see the opposite. Their services were designed for expedience instead of permanence. They make it hard and, at times, very expensive to actually keep data around. Usually you have to attach a &#8220;disk&#8221; (or &#8220;volume&#8221;) to any machine that has data you want to keep and you have to pay for that privilege. You also better have backups because you have no idea about the underlying storage or <a href="http://en.wikipedia.org/wiki/Data_retention">data retention policies</a>.</p><p>Any data that you absolutely need could mean you&#8217;re paying two or three times what you&#8217;d expect in order to keep it.</p><p>To my hoarder eyes the cloud is one big data furnace. It&#8217;s a dangerous place for your information to stay.</p><p>Enterprise data storage is expensive. I&#8217;ve often joked that <a href="http://en.wikipedia.org/wiki/Virtualization">virtualization</a> is a scheme to sell storage arrays. It&#8217;s a tricky game of performance, space, and <a href="http://en.wikipedia.org/wiki/RAID">redundancy</a>. Disks fail, <a href="http://en.wikipedia.org/wiki/Flash_memory">flash</a> is expensive, you never have enough RAM or CPU. There are dozens of types of arrays for hundreds of applications, retention policies, regulations; it&#8217;s a mess! When you have a service that has hundreds of thousands of customers then it may make sense that you discourage persistent data. You want people to consume your resources, pay their bill, and move on. Expedience instead of permanence. I&#8217;ve often been asked: Why online storage is so expensive when hard drives are so cheap? Well, this is why.</p><p>We built the <a title="ipHouse" href="http://www.iphouse.com/">ipHouse</a> <a title="ipHouse vmForge Products, virtual data centers or individual virtual machines" href="http://www.iphouse.com/vmforge/" target="_blank">vmForge</a> product with the idea that a virtual data center (VDC) replaces co-located infrastructure. The storage is persistent from the get-go. Is it any wonder that Mike has been loath to call it a &#8216;cloud service&#8217;?</p><p>This means that there are severe implications for any storage array that we put in place. We have to make sure that anything we put in place not only performs well but also goes the distance. It&#8217;s still a very good idea to do backups, though they probably will not be nearly as large, as most customers just need to back up a few key files or the database dumps that happen regularly. (you are backing up your database, right?)</p><p>Well, that&#8217;s my opinion anyways. Now I&#8217;m going to go back home and work on my basement.</p> ]]></content:encoded> <wfw:commentRss>http://blogs.iphouse.net/2012/01/27/the-value-and-cost-of-persistent-data/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Feature freeze</title><link>http://blogs.iphouse.net/2012/01/24/feature-freeze/</link> <comments>http://blogs.iphouse.net/2012/01/24/feature-freeze/#comments</comments> <pubDate>Tue, 24 Jan 2012 14:57:26 +0000</pubDate> <dc:creator>Ben Tucker</dc:creator> <category><![CDATA[Opinion]]></category> <category><![CDATA[System Administrators]]></category> <category><![CDATA[geeky]]></category> <category><![CDATA[SysAdmin Golf]]></category> <category><![CDATA[technology]]></category><guid isPermaLink="false">http://blogs.iphouse.net/?p=2124</guid> <description><![CDATA[Some of us took the time last week to create something new. I chose to challenge myself by designing a system I had not built before and that I am not ready to share&#8230; quite yet. :) But I do want to share something about the design process in very general terms. The lesson I <a href="http://blogs.iphouse.net/2012/01/24/feature-freeze/" class="more-link">More &#62;</a>]]></description> <content:encoded><![CDATA[<p>Some of us took the time last week to create something new. I chose to challenge myself by designing a system I had not built before and that I am not ready to share&#8230; quite yet. :) But I do want to share something about the design process in very general terms.</p><p>The lesson I learned: Feature freeze is a good thing. Know when to stop fixing.</p><p>Now early in the project, I had a pretty good idea of what pieces needed to go together but I did not have a very good idea of how to get there. I put down a quick design and while I was doing that I started to see problems..</p><ul><li>Pieces did not fit together.</li><li>Some things were missing.</li><li>This was not going to work.</li></ul><p>Time to start learning. I love learning.</p><p><span id="more-2124"></span>So this is the good part. This is the fun part. This is where things go click. More on that in a moment.</p><p>I strive to make every day a boring day on my production servers. That doesn&#8217;t mean that they don&#8217;t do cool stuff. That doesn&#8217;t mean I don&#8217;t like my job or that I find it dull. I don&#8217;t. I just like to be beyond the point of being surprised, pleasantly or otherwise, when I am doing something for a client. That&#8217;s the goal.</p><p>Now technology moves too fast to be expert in everything. There will always be opportunities to learn something new, but my goal is to make the systems I run not scratch that itch for new learning. All that is to say that I have a craving for learning new stuff that is not and should not be filled by the day-to-day work I fit my learning projects around.</p><p>So there I am in the middle of doing a general something new. I have a general idea of how it goes, but there is a part missing or a process that I don&#8217;t know how to do. I know the next step, but not quite how to get there. Then I learn how, or I learn it is not going to work and I find a new way. My favorite learning is when I learn something new that brings two formerly unrelated pieces together in my mind and they fit together. That click is one of my favorite experiences in life.</p><p>After a while of this, things started to make a lot more sense. I had something that would mostly work. There were still some things to optimize, and some things to work out. More of the fun part. Here&#8217;s the problem: It gets addicting to learn stuff. If you&#8217;ve ever gone to Wikipedia and seen hours magically vanish, you know what I am talking about.</p><p>At some point though, it is time to stop fixing for a while. Freeze the design and commit to finish the thing, even though it is broken. Make version 1.0. There are a lot of things you can learn from seeing the finished system even with its flaws that you can&#8217;t see by looking at the parts.</p><p>I&#8217;m not saying leave it broken. Make version 2, and version 3, if you want but at some early point, freeze the specification, stop making changes, stop making fixes, go finish. Exercising the discipline to stop following new opportunities to improve my project, stop fixing, and stop learning (for a moment) meant the difference between having an imperfect but completed project and having a whole ton of good ideas.</p><p>So I stopped and did the drudge work. I finished. I made something imperfect. My reward? In addition to the problems I deliberately ignored, I see lots of little details that need fixing, which I would never have seen without finishing.</p><p>Off to version 2.0. I love learning.</p> ]]></content:encoded> <wfw:commentRss>http://blogs.iphouse.net/2012/01/24/feature-freeze/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Clone-tastic!</title><link>http://blogs.iphouse.net/2012/01/20/clone-tastic/</link> <comments>http://blogs.iphouse.net/2012/01/20/clone-tastic/#comments</comments> <pubDate>Fri, 20 Jan 2012 21:51:17 +0000</pubDate> <dc:creator>Nick Gasper</dc:creator> <category><![CDATA[ipHouse Products]]></category> <category><![CDATA[Opinion]]></category> <category><![CDATA[System Administrators]]></category> <category><![CDATA[Virtual Machines]]></category> <category><![CDATA[Hosting]]></category> <category><![CDATA[Virtualization]]></category> <category><![CDATA[vmForge]]></category><guid isPermaLink="false">http://blogs.iphouse.net/?p=2174</guid> <description><![CDATA[There are many things about virtualization is the ability to clone virtual machines. It&#8217;s really cool! Unfortunately, after you work with virtualization for a while you start to take it for granted. I can&#8217;t tell you how many times I roll out a new physical machine and sigh because I can&#8217;t simply clone it. Well, <a href="http://blogs.iphouse.net/2012/01/20/clone-tastic/" class="more-link">More &#62;</a>]]></description> <content:encoded><![CDATA[<p>There are many things about virtualization is the ability to clone virtual machines. It&#8217;s really cool! Unfortunately, after you work with virtualization for a while you start to take it for granted. I can&#8217;t tell you how many times I roll out a new physical machine and sigh because I can&#8217;t simply clone it. Well, I can but that&#8217;s a discussion for another day.<br /> <span id="more-2174"></span> Virtual machines are a set of files that are interpreted by a hypervisor.  Since they are just files they can then be copied and/or edited. That&#8217;s all cloning is, the system is just copying the VMDKs (the &#8220;hard drive&#8221; files) and editing the VMX file (the config file to change things like the MAC address of a NIC and the virtual machine&#8217;s name).</p><p>You can even do it by hand if you have access to the backend storage. Mike once one-upped me by piping the VMX through sed. That&#8217;s cheating but all&#8217;s fair I guess. Cheater.</p><p>The vmForge VDC allows you to clone vApps and the individual machines contained therein. It automatically edits the config, can handle numbering the machine, and makes everything nice and easy. This is a killer feature in my book.</p><p>A lot of cloud providers are instance based. You select the operating system, push it out, and rely on automated services to configure them for you. Most of the time, you don&#8217;t get persistent storage. If you do, it&#8217;s usually a volume you attach to the instance and has nothing to do with its operating system. By using a vmForge VDC you can do the opposite. You can create a machine, configure it how you like, and then clone it. Configure once, and be done. Then you can keep a copy of it in your catalog for later deployments. Each clone is exactly that: a complete copy of your original system.</p><p>You may think that&#8217;s really cool! But wait, there&#8217;s more! (sorry, couldn&#8217;t resist)</p><p>When you build virtual machines in your VDC you are building them in vApps. A vApp is a logical container that holds virtual machines, internal networks, and can do things like set boot/shutdown order and power-down semantics.</p><p>When creating a vApp you also have the option to &#8220;fence&#8221; it. Fencing isolates the layer-2 networks within the vApp from any outside network. This means you can have internally consistent ip addressing inside the vApp. You can then &#8220;template&#8221; the vApp by moving it to your catalog and deploy it over and over and over again. That means that your preconfigured, multi-server application can be redeployed with a few mouse clicks!</p><p>Ultimately, cloning is about saving time. You get to use conventional tools to set up and multiple machines quickly and easily. You don&#8217;t have to learn any arcane scripting language, nor trust and maintain a complicated configuration service like Chef or Puppet. You just set up servers, push them out, and start to use them.</p><p>So, clone away!</p> ]]></content:encoded> <wfw:commentRss>http://blogs.iphouse.net/2012/01/20/clone-tastic/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Monitoring, a journey</title><link>http://blogs.iphouse.net/2012/01/09/monitoring-a-journey/</link> <comments>http://blogs.iphouse.net/2012/01/09/monitoring-a-journey/#comments</comments> <pubDate>Mon, 09 Jan 2012 16:55:38 +0000</pubDate> <dc:creator>Nick Gasper</dc:creator> <category><![CDATA[ipHouse Products]]></category> <category><![CDATA[Opinion]]></category> <category><![CDATA[Virtual Machines]]></category> <category><![CDATA[IPv6]]></category> <category><![CDATA[Monitoring]]></category> <category><![CDATA[technology]]></category> <category><![CDATA[Virtualization]]></category> <category><![CDATA[vmForge]]></category><guid isPermaLink="false">http://blogs.iphouse.net/?p=2080</guid> <description><![CDATA[Or &#8220;How I Stopped Worrying and Learned to Love SaaS&#8221; I touched on monitoring in an earlier post but I thought that I would expand on my thoughts. Let me just get this out there: LogicMonitor (company site) is awesome. It&#8217;s not perfect (what is?), but it&#8217;s amazing, simple, straightforward, and it works. It combines effective monitoring with graphing <a href="http://blogs.iphouse.net/2012/01/09/monitoring-a-journey/" class="more-link">More &#62;</a>]]></description> <content:encoded><![CDATA[<p>Or &#8220;How I Stopped Worrying and Learned to Love SaaS&#8221;</p><p>I touched on monitoring in an earlier <a title="Infrastructure and Other Games, Part 4" href="http://blogs.iphouse.net/2011/12/08/infrastructure-and-other-games-part-4/">post</a> but I thought that I would expand on my thoughts.</p><p>Let me just get this out there: <a title="ipHouse monitoring service powered by LogicMonitor" href="http://www.iphouse.com/monitoring.html">LogicMonitor</a> (<a title="LogicMonitor - ipHouse likes it!" href="http://www.logicmonitor.com/">company site</a>) is awesome. It&#8217;s not perfect (what is?), but it&#8217;s amazing, simple, straightforward, and it works. It combines effective monitoring with graphing (metrics); it&#8217;s easy to understand and customize and it works.</p><p>Repeat: It works.<br /> <span id="more-2080"></span><br /> I&#8217;ve done some work with other monitoring and graphing/measurment solutions; mostly <a title="Zabbix agent-based monitoring" href="http://www.zabbix.com/">Zabbix</a>, <a title="Nagios, commercial and open source monitoring tools" href="http://www.nagios.org/">Nagios</a>, and <a title="Cacti - open source measurement tool" href="http://www.cacti.net/">Cacti</a>. They all have their strengths and weaknesses. LogicMonitor also has it&#8217;s plusses and minuses but all in all it works amazingly well with the number of minuses to be very small.</p><p>Nagios has, in my opinion, the best monitoring engine. The automatic back off and flap detection combined with per-host customization that can happen in Nagios has not been matched yet. However, configuring Nagios is a nightmare. I got really good at it and I don&#8217;t want to ever do it again. Looking at a blank Nagios setup makes me cringe. Tools like <a title="NagioSQL is an open source web based editor for Nagios configuration" href="http://www.nagiosql.org/">NagioSQL</a> help but it&#8217;s still ridiculous. Using Nagios as a customer facing solution would take up too much time and my time is precious to me and our business.</p><p>Cacti is not a monitoring system but it is a great graphing solution, unless your <a title="RRDtool is a data storage type used by many open source tools" href="http://oss.oetiker.ch/rrdtool/">RRD</a> data gets corrupted or lost. Now, that doesn&#8217;t happen much, but when it does, it&#8217;s annoying.</p><p>Zabbix is a great all in one system with a horrible interface. I hate to quibble, I still use Zabbix but I get headaches everytime I try to do something. The top down task selection with a history at the bottom is counterintuitive. Getting Zabbix to send out alerts is a chore. And requires per-host agents for different operating systems while the SNMP interface works well only if the device you are monitoring fits within the very small pre-configured templates that come with the package. Yes, I can build new templates, repeatedly but LogicMonitor does this without requiring extra time.</p><p>With our recently launched <a title="ipHouse vmForge virtualization services for virtual data centers and individual virtual machines" href="http://www.iphouse.com/vmforge/">vmForge</a> service offering, we wanted to add an excellent and easy to implement monitoring solution. It was something that we wanted to be able to set up for customers easily while also offering something that they could set up and manage themselves.</p><p><a title="Mike Horwath's articles on blogs.iphouse.net" href="http://blogs.iphouse.net/author/mike/">Mike</a> did quite a bit of digging but didn&#8217;t find anything that fit the bill entirely. Until he stumbled on LogicMonitor.</p><p>It initialy attracted our attention because it was network agent based. This allows us to put agents behind firewalls and NAT configurations without worrying about all of the details. The agent just requires outbound connectivity over HTTPS.</p><p>We decided to give it a try and we were instantly impressed! It automatically detects available datasources and adds threshold points and instrumentation graphing of operations in a single view. We can add rules and chains for alerting the engineering staff. It has a lot of features laid out in an easy to understand way. It uses SNMP, vendor APIs, and WMI depending on the target host.</p><p>It makes sense so we  fired up an evaluation and not long after signed up for services for our own use.</p><p>The developers of LogicMonitor have been great to work with. They have been open to feedback, excited to test things that they haven&#8217;t come across before. We receive queries on how a specific type of device should be measured and bug reports are handled professionally and efficiently.</p><p>The only thing that I don&#8217;t like is that the agent requires Java but that&#8217;s the cost of convienence.</p><p>The only things missing right now are support for IPv6 (which can&#8217;t come too soon) and a back off ability with flap detection. (spouses are happier when not woken up to dropped detection events)</p><p>Oh well, it&#8217;s still better than editing Nagios files!</p><p>I&#8217;m looking forward to working with LogicMonitor further and I highly recommend them.</p> ]]></content:encoded> <wfw:commentRss>http://blogs.iphouse.net/2012/01/09/monitoring-a-journey/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Found Script: Backing up data with BASH and XZ</title><link>http://blogs.iphouse.net/2012/01/05/found-script-backing-up-data-with-bash-and-xz/</link> <comments>http://blogs.iphouse.net/2012/01/05/found-script-backing-up-data-with-bash-and-xz/#comments</comments> <pubDate>Thu, 05 Jan 2012 16:41:49 +0000</pubDate> <dc:creator>Nick Gasper</dc:creator> <category><![CDATA[Opinion]]></category> <category><![CDATA[System Administrators]]></category> <category><![CDATA[technology]]></category><guid isPermaLink="false">http://blogs.iphouse.net/?p=1998</guid> <description><![CDATA[Quick post this week as I&#8217;m a little distracted by the impending weekend. Here&#8217;s a script that I use to backup my Maildir. Normally I write my own, but I was feeling lazy. So in the interest of not re-inventing the wheel, I decided to copy one. Unfortunately, I forgot where I got it. Normally <a href="http://blogs.iphouse.net/2012/01/05/found-script-backing-up-data-with-bash-and-xz/" class="more-link">More &#62;</a>]]></description> <content:encoded><![CDATA[<p>Quick post this week as I&#8217;m a little distracted by the impending weekend.</p><p>Here&#8217;s a script that I use to backup my Maildir. Normally I write my own, but I was feeling lazy. So in the interest of not re-inventing the wheel, I decided to copy one. Unfortunately, I forgot where I got it. Normally I&#8217;m good about attributing things that I copy/utilize. So, if this is your script, thank you! If you want attribution, please let me know.</p><p>This is just a bash script. It creates a xz&#8217;d tar file in my /home/nick/Archives directory/</p><p>First, check for input.&#8217;</p><pre>#----script to backup files

if [ $# -lt 1 ]
then
   echo Usage: backup.sh Directory
   exit
fi</pre><p>Next, create the date stamp.</p><pre>JJJ=`date '+%d%m%y'`</pre><p>This is the main loop. It processes for each in the attribute list ($#)</p><pre>while [ $# -gt 0 ]
do</pre><p>Print the directory we&#8217;re currently working on, then set the DIR variable to that directory&#8217;s path.</p><pre>   echo $1
   DIR=$1</pre><p>Truncate the directory path of the DIR variable</p><pre>   MODDIR=`basename $DIR`</pre><p>Verify the directory exists before doing anything</p><pre>   #----check file exists
   if [ ! -d $DIR ]
   then
      echo Error: File \'$MODDIR\' not found!!</pre><p>Check to see if the destination folder exists. This is where I hard coded it to be /home/user/Archives. If it doesn&#8217;t, create the backup locally.</p><pre>   else
      if [ -d ~/Archives ]
      then
        DESTTAR=~/Archives/$MODDIR.$JJJ.tar.xz
      else
        DESTTAR=$MODDIR.$JJJ.tar.xz
      fi</pre><p>Check to see of the destination file exists. If it does, complain and exit.</p><pre>    if [ -d $DESTTAR ]
        then
                echo Error: File \'$DESTTAR\' already exists!!
                exit 0</pre><p>Tar the archive using the<a href="http://en.wikipedia.org/wiki/Lempel%E2%80%93Ziv%E2%80%93Markov_chain_algorithm"> xz compression method </a>(the &#8220;J&#8221; attribute in the tar command)</p><pre>    fi
      tar -cJf $DESTTAR $DIR
   fi
   shift
done</pre><p>And we&#8217;re done! At some point I&#8217;ll add an auto-pruning portion to the script.</p><p>I just stick the script in my personal bin folder, make it executable, edit my crontab and put an entry in it pointing to my Maildir, and I get nightlly backups of all my mail.</p> ]]></content:encoded> <wfw:commentRss>http://blogs.iphouse.net/2012/01/05/found-script-backing-up-data-with-bash-and-xz/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Building things: cubicle analogy time</title><link>http://blogs.iphouse.net/2012/01/04/building-things-cubicle-analogy-time/</link> <comments>http://blogs.iphouse.net/2012/01/04/building-things-cubicle-analogy-time/#comments</comments> <pubDate>Wed, 04 Jan 2012 22:17:34 +0000</pubDate> <dc:creator>Doug Rau</dc:creator> <category><![CDATA[Data Center]]></category> <category><![CDATA[Opinion]]></category> <category><![CDATA[Virtual Machines]]></category> <category><![CDATA[Hosting]]></category> <category><![CDATA[Virtualization]]></category> <category><![CDATA[vmForge]]></category><guid isPermaLink="false">http://blogs.iphouse.net/?p=2011</guid> <description><![CDATA[This week, I&#8217;ve been building (actually, rebuilding) cubicle desks in our new office space and comparisons were naturally drawn to building virtual machines a few weeks ago. Building a cubicle, no matter what the instructions say, is not exactly trivial. Even after putting the walls together, trying to get them all even and lined up <a href="http://blogs.iphouse.net/2012/01/04/building-things-cubicle-analogy-time/" class="more-link">More &#62;</a>]]></description> <content:encoded><![CDATA[<p>This week, I&#8217;ve been building (actually, rebuilding) cubicle desks in our new office space and comparisons were naturally drawn to building virtual machines a few weeks ago.</p><p><span id="more-2011"></span></p><p>Building a cubicle, no matter what the instructions say, is not exactly trivial. Even after putting the walls together, trying to get them all even and lined up is a trick. Then putting up the desk supports and the desk surfaces themselves, which are usually massive slabs of particle board and plastic veneer. If they&#8217;re fastened with screws, it&#8217;s always from beneath, out of the light, where you&#8217;re certain to get wood dust in your face.</p><p>In stark contrast, using vCloud Director to build a virtual machine was easy. Login, select a hardware and OS template, optionally configure, and deploy. It was up and running in a few minutes, maybe a little longer if you have added software or network configuration requirements. It&#8217;s all done with a keyboard and mouse, and I&#8217;m pretty certain I&#8217;ve never gotten wood dust in my face from it.</p><p>In both cases, a little planning goes a long way. Making a map of your cubicle layout lets you know whether everything is going to fit, what you&#8217;ll need, and whether you have it. Updating your map when you change your mind is also important. Making a map of your systems and network is similarly illuminating. How much CPU, memory, and disk do you need? What systems need outside IP addresses?</p><p>Also, paying attention to the details pays off. It&#8217;s a lot easier to make the desks level if all the supports are attached at the same height. Double check your IP address assignments and DNS records.</p><p>Finally, building a virtual machine doesn&#8217;t involve any power tools. Well, let&#8217;s hope not.</p> ]]></content:encoded> <wfw:commentRss>http://blogs.iphouse.net/2012/01/04/building-things-cubicle-analogy-time/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Kickstart your Linux install</title><link>http://blogs.iphouse.net/2011/12/30/kickstart-your-linux-install/</link> <comments>http://blogs.iphouse.net/2011/12/30/kickstart-your-linux-install/#comments</comments> <pubDate>Fri, 30 Dec 2011 19:54:20 +0000</pubDate> <dc:creator>Nick Gasper</dc:creator> <category><![CDATA[Opinion]]></category> <category><![CDATA[System Administrators]]></category> <category><![CDATA[Virtual Machines]]></category> <category><![CDATA[Hosting]]></category> <category><![CDATA[Security]]></category> <category><![CDATA[Virtualization]]></category> <category><![CDATA[vmForge]]></category><guid isPermaLink="false">http://blogs.iphouse.net/?p=1984</guid> <description><![CDATA[I&#8217;ll admit it, I&#8217;m not a huge fan of Red Hat Enterprise Linux. I&#8217;ll administer it, I&#8217;ve worked with it. It&#8217;s a good distribution. I just have a bad taste for RPM based distributions based on my first forays into Linux back in my Mandrake days. I also first started to professionally work with Linux <a href="http://blogs.iphouse.net/2011/12/30/kickstart-your-linux-install/" class="more-link">More &#62;</a>]]></description> <content:encoded><![CDATA[<p>I&#8217;ll admit it, I&#8217;m not a huge fan of Red Hat Enterprise Linux. I&#8217;ll administer it, I&#8217;ve worked with it. It&#8217;s a good distribution. I just have a bad taste for RPM based distributions based on my first forays into Linux back in my Mandrake days. I also first started to professionally work with Linux during the last couple of years of RHEL 5, when things were getting long in the tooth. Red Hat&#8217;s release schedule also conflicts with what most of my users want and expect; it&#8217;s far more suited to an corporate environment where having the latest features is not nearly as important as having consistent software versions. That being said, Red Hat has some fantastic tools; Anaconda and Kickstart being my favorite. So I was overjoyed when I discovered Ubuntu had support for Kickstart files! The Ubuntu installer can take Debian style preseed directives but in my opinion is overly complicated.</p><p>A Kickstart file basically answers the questions that pop up in the installer as the installer goes removing the need for human interaction. If an question isn&#8217;t answered, the installer pops up with the proper dialog, takes user input, and continues. I can pick and choose what information I want to populate automatically and which information dialogs I want the customer to answer. In my auto install ISOs I prompt the customer for a username and password as I want the users to enter that information.</p><p>When I was tasked with making an auto installing ISO for our customers I was able to create one quickly by using a kickstart file.<br /> <span id="more-1984"></span></p><p>The process of making a CD is a bit verbose, and better handled by some of the how-tos out there.</p><p>But I&#8217;ll take your through my Kickstart file.</p><p>First are some of basic information about the system. These are fairly self-explanatory.</p><pre>platform=AMD64
#System language
lang en_US
#Language modules to install
langsupport en_US
#System keyboard
keyboard us
#System mouse
mouse none
#System timezone
timezone America/Chicago</pre><p>I disable root, to reflect the Ubuntu default. You can enable it by removing the next line, and setting it with the second.</p><pre>rootpw --disabled
#rootpw jpDhuZtql4of4rfq</pre><p>I do not automatically add a user, but you can with the next line.</p><pre>#user johndoe --fullname "John Doe" --password changeme</pre><p>I don&#8217;t think this does much in an Ubuntu Server install but I put it in anyways.</p><pre>#Use text mode install
text</pre><p>We&#8217;re installing not upgrading.</p><pre>#Install OS instead of upgrade
install</pre><p>Use the CD-ROM.</p><pre>#Use CDROM installation media
cdrom</pre><p>Where are we going to put the bootloader?</p><pre>#System bootloader configuration
bootloader --location=mbr</pre><p>Get rid of any existing partitions.</p><pre>#Partition clearing information
clearpart --all --initlabel</pre><p>Partition the disks using Ubuntu defaults (512MB swap, etc) This allows the ISO to work on whatever size disk you want. Linux isn&#8217;t great about using swap anyways, so 512 is plenty.</p><pre>#Disk partitioning information
part /boot --fstype ext3 --size=200 --ondisk=hda
part swap --recommended
part / --fstype ext4 --size 1 --grow</pre><p>Passwd information. I know&#8230; MD5&#8230; You can use something more secure if you wish.</p><pre>#System authorization infomation
auth  --useshadow  --enablemd5</pre><p>We need DHCP for some of the following steps, as I have no idea what type of network this will be run on. You can specify other info here if you want.</p><pre>#Network information
network --bootproto=dhcp --device=eth0</pre><p>My customers hate having UFW on. I don&#8217;t think this actually works yet in Ubuntu, so I also do it in a later script.</p><pre>#Firewall configuration
firewall --disabled</pre><p>X-Windows on a Server? No thanks.</p><pre>#Do not configure the X Window System
skipx</pre><p>And finally, we want to reboot after installing. This isn&#8217;t actually done, as we&#8217;re going to run a post-install script.</p><pre>#Reboot after installation
reboot</pre><p>Add additional packages to install. I install the fewest here, as I update in a later script, so why install a bunch of stuff only to update it later?</p><pre>%packages
@dns-server
@openssh-server
gcc
build-essential</pre><p>Here comes a a post install script.</p><pre>%post</pre><p>Mount the CD again, as there&#8217;s data we want off of the CD.</p><pre>echo Making CD Mountpoint
mkdir -p /mnt/cdrom
echo Mounting CD
mount -t iso9660 /dev/sr0 /mnt/cdrom</pre><p>Copy over a script that I&#8217;ve written that does updates and additional installs when the virtual machine is first booted.</p><pre>echo Copying Firstboot Script
cp /mnt/cdrom/firstboot /etc/init.d/
chmod +x /etc/init.d/firstboot</pre><p>Updated the init structure to run the firstboot script on boot.</p><pre>update-rc.d firstboot defaults
echo Adding new Crontab</pre><p>Add a custom crontab with some randomized sleep values.</p><pre>cp /mnt/cdrom/crontab-template /etc/crontab</pre><p>A script that I wrote that edits resolv.conf to point to the local bind server</p><pre>echo Copying resolvfix init script
cp /mnt/cdrom/resolvfix /etc/init.d/
chmod +x /etc/init.d/resolvfix
update-rc.d resolvfix start 99 2 3 4 5 .</pre><p>An updated sources.list with a closer mirror.</p><pre>echo Copying Apt Sources
cp /mnt/cdrom/geeks-org-sources.list /etc/apt/sources.list</pre><p>A new dhclient with the local bind server seeded.</p><pre>echo Copying dhclient.conf
cp /mnt/cdrom/dhclient.conf /etc/dhcp3/</pre><p>A new named.conf.options with some useful defaults.</p><pre>echo Copying named.conf.options
cp /mnt/cdrom/named.conf.options /etc/bind/</pre><p>Moving over vmware-tools for installation upon first boot.</p><pre>mkdir /vmware
cd /vmware
echo Extracting Tools
tar zxf /mnt/cdrom/VMwareTools-*.tar.gz</pre><p>Ejecting the CD.</p><pre>echo Unmounting CD
umount /mnt/cdrom</pre><p>Update the system.</p><pre>echo Updating
apt-get update
apt-get -y dist-upgrade</pre><p>And finally, reboot the system (sync for good luck ;) ).</p><pre>echo Rebooting
sync
reboot</pre><p>Now, as I mentioned before, there&#8217;s a firstboot script that I run that does quite a bit of work before the machine is finished. It does things like wipe out the SSH keys, install VMware Tools, remove and purge old kernels and install applications like MySQL, Apache, as required.</p><p>Well, that&#8217;s one of the tricks I have tucked up my sleeve, I hope it helps!</p> ]]></content:encoded> <wfw:commentRss>http://blogs.iphouse.net/2011/12/30/kickstart-your-linux-install/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>SysAdmin Golf: Use dd and netcat to clone a Linux machine</title><link>http://blogs.iphouse.net/2011/12/09/sysadmin-golf-use-dd-and-netcat-to-clone-a-linux-machine/</link> <comments>http://blogs.iphouse.net/2011/12/09/sysadmin-golf-use-dd-and-netcat-to-clone-a-linux-machine/#comments</comments> <pubDate>Fri, 09 Dec 2011 20:52:42 +0000</pubDate> <dc:creator>Nick Gasper</dc:creator> <category><![CDATA[ipHouse Products]]></category> <category><![CDATA[Opinion]]></category> <category><![CDATA[System Administrators]]></category> <category><![CDATA[Virtual Machines]]></category> <category><![CDATA[SysAdmin Golf]]></category> <category><![CDATA[Virtualization]]></category> <category><![CDATA[vmForge]]></category><guid isPermaLink="false">http://blogs.iphouse.net/?p=1811</guid> <description><![CDATA[So, we&#8217;ve been working real hard here at ipHouse figure out ways to help customers move machines into our vmForge VDC product. VMware Converter works for Windows machines, (allegedly, I&#8217;m going test it soon) but isn&#8217;t so helpful with Linux machines. After wracking my brain, I thought about the various tools used to clone Linux <a href="http://blogs.iphouse.net/2011/12/09/sysadmin-golf-use-dd-and-netcat-to-clone-a-linux-machine/" class="more-link">More &#62;</a>]]></description> <content:encoded><![CDATA[<p>So, we&#8217;ve been working real hard here at ipHouse figure out ways to help customers move machines into our <a href="http://www.iphouse.com/vmforge/vdc.html">vmForge VDC</a> product. <a href="http://www.vmware.com/products/converter/">VMware Converter</a> works for <a href="http://windows.microsoft.com/en-US/windows/home">Windows</a> machines, (allegedly, I&#8217;m going test it soon) but isn&#8217;t so helpful with Linux machines. After wracking my brain, I thought about the various tools used to clone Linux boxes. I&#8217;m familiar with dd, a block level disk copying tool, and tried to find a way to use dd to create a VMDK, that I could then convert into a OVF and upload. <span id="more-1811"></span></p><p>Then I stumbled on this link (<a href="http://conshell.net/wiki/index.php/Linux_P2V">conshell.net</a>) which explains how to use dd and netcat to copy a disk over a network.</p><p>It was so simple, it verged on genius! But did it work?</p><p>The steps are easy:</p><p>1) Create a virtual machine with  a disk about the same size or larger than your source (not smaller)</p><p>Pick an arbitrary port, (9001 in this example) and set up your firewall or VSE to allow that port to the target machine.</p><p>2) Boot that new VM into a rescue environment or use a <a href="http://en.wikipedia.org/wiki/Live_CD">live cd</a>.</p><p>3) Use the following commands:</p><p>On the VM: <code>nc -l -p 9001 | dd of=/dev/sda</code></p><p>On your source machine: <code> dd if=/dev/sda | nc  9001</code></p><p>4) Wait a long time&#8230; I averaged around 15Mbps from my test machine to my new VM, it ranged from 30Mbps down to 7Mbps. I&#8217;m sure that had more to do with my network than anything. Still, this can take a while.</p><p>5) Once the dd has completed (dd will dump summary information) reboot the machine back into the live-cd environment, check the partitions with <code>e2fsck</code> the partitions and re-size them. (I cheated and used <code>gparted</code>)</p><p>6) At this point you can either mount the filesystem and remove the udev rules (in /etc/udev/rules.d/) or boot into your VM and remove them via the console. Either way, you have to reboot after the udev rule are removed.</p><p>7) Reboot, and voilà!</p><p>The live cd I used was <a href="http://www.cdlinux.info/wiki/doku.php/">CDLinux</a>. It&#8217;s a small Linux distribution that runs <a href="http://www.xfce.org/">XFCE</a>, and fits in an 80MB ISO. It also includes an SSH server, so you can set up an ssh tunnel, and use netcat against that rather than use an arbitrary port. It also has the VMware paravirtual scsi drivers.</p><p>Anyways, this worked. Wow did it work. I didn&#8217;t bother to zero out the remaining space on the disk, it took me about 2.5 hours to move 8GB worth of data but I was greeted with a familiar prompt in a new place as soon as I booted it up.</p><p>Now a couple of caveats. I did this on a running system, with no prep work. I would recommend trimming unnecessary data and shutting down as many services as you can. It&#8217;s best to do this when the machine is &#8220;down,&#8221; not doing anything beyond facilitating the copy. However, it does work on a live system. Still, if I were moving a production system, I would follow the advice in the linked article above.</p><p>But, it was my system, in a test environment, so I didn&#8217;t really care.</p><p>Still, isn&#8217;t it amazing what a couple of UNIX pipes can do?</p> ]]></content:encoded> <wfw:commentRss>http://blogs.iphouse.net/2011/12/09/sysadmin-golf-use-dd-and-netcat-to-clone-a-linux-machine/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using memcached
Page Caching using memcached
Database Caching 1/14 queries in 0.015 seconds using memcached
Object Caching 682/700 objects using memcached

Served from: blogs.iphouse.net @ 2012-02-07 06:22:53 -->
