<?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/"
	>

<channel>
	<title>Bitbud</title>
	<atom:link href="http://bitbud.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://bitbud.com</link>
	<description>Information on Technology</description>
	<pubDate>Fri, 05 Dec 2008 02:50:13 +0000</pubDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>SAN For All - Part 2</title>
		<link>http://bitbud.com/2008/12/04/san-for-all-part-2/</link>
		<comments>http://bitbud.com/2008/12/04/san-for-all-part-2/#comments</comments>
		<pubDate>Fri, 05 Dec 2008 02:25:43 +0000</pubDate>
		<dc:creator>bitbud</dc:creator>
		
		<category><![CDATA[How To]]></category>

		<category><![CDATA[Rock Solid IT]]></category>

		<category><![CDATA[SAN]]></category>

		<category><![CDATA[Virtualization]]></category>

		<guid isPermaLink="false">http://bitbud.com/?p=75</guid>
		<description><![CDATA[
Picking a Path


When you think of your SAN (or any IT system, for that matter) there are two areas to address: the hardware and the software.  There are many ways to go about putting together a SAN for your environment.  Some possible options might be:

Buy a SAN from a SAN provider: Equalogic/ Dell, Compellent, or [...]]]></description>
			<content:encoded><![CDATA[<h2><img class="size-full wp-image-82 alignright" style="border: 10px solid white;" title="san2" src="http://bitbud.com/wp-content/uploads/2008/11/san2.jpg" alt="san2" width="177" height="174" /><br />
Picking a Path</h2>
<h5><em></em></p>
<p><em></em></h5>
<p>When you think of your SAN (or any IT system, for that matter) there are two areas to address: the hardware and the software.  There are many ways to go about putting together a SAN for your environment.  Some possible options might be:</p>
<ul>
<li><strong>Buy a SAN from a SAN provider: Equalogic/ Dell, Compellent, or Xiotech.</strong><br />
This is your hardware and software in one package.  This will provide you with a quick, high quality solution with an easy to use interface.  You won&#8217;t even need an in-depth understanding of the technologies involved, as it is all nicely packaged for you.  The biggest barrier is usually the cost.  If that&#8217;s not an issue for you, if you are comfortable with someone else being responsible for your critical software stack, and you&#8217;d rather not get into the nitty-gritty of SANs (i.e., you want the super easy way to do it :-)), then <a href="mailto:Jason.Powell@VR6systems.com" target="_blank">I can point you to a brother who is a reseller.<br />
</a></li>
<li><strong>Buy a commercial application for PC/ Server hardware to turn it into a SAN.</strong><br />
A good example would be the application <a href="http://www.datacore.com/products/prod_SANmelody.asp" target="_blank">San Melody</a>, which I have been told works quite well.  Of course, you need the appropriate hardware, and the license is a little expensive.  Like option 1, it is nicely packaged and you don&#8217;t have to get your hands dirty with the technical details.</li>
<li><strong>Use a completely free and open source system <a href="http://www.openfiler.com/" target="_blank">like OpenFiler</a>.</strong><br />
This system, like San Melody, will provide you will a packaged software solution that you install on your own hardware.  It has many easy to use features.  It probably requires just a little bit more technical understanding than options 1 and 2, but it is still easy to use and best of all, its free.</li>
<li><strong>Use Linux</strong><em><br />
</em>&#8230; or more specifically, use Linux with a few specific packages: LVM2, iSCSI Enterprise Target, Ethernet Bonding, and (if you want to cluster, like I do) NFS.  This is what I will focus on the rest of this series of SAN articles And yes, this is what OpenFiler offers in a completely packaged system.  I&#8217;ll go into detail soon why I am not using it later.</li>
</ul>
<p>Don&#8217;t assume that must give up some feature or functionality by using Linux.  On the contrary, for a much reduced cost you can have the equivalent system (I would argue a better system).  For me, Linux has become my Swiss Army Knife of SANs.  The same stable system can be used on low-end or high-end hardware, which keeps administrative costs down (keep it simple).  On the low-end: <a href="http://bitbud.com/2008/10/03/san-for-all-part-1/" target="_blank">in Part 1 </a> I mentioned that I built a full featured system (minus stellar performance and some hardware redundancy) for less than $500 with spare PCs and a few new hard drives. On the high-end: if you do have some money to spend on hardware, and need the best in performance and redundancy, you can purchase the same redundant hardware as a commercial SAN, same hardware warranty, for only 10%-25% of the cost!<br />
I didn&#8217;t arrive at option 4 lightly, but after several months of investigation, testing, and consideration of these options.  There were several aspects to consider:</p>
<ul>
<li><strong>Cost. </strong>The cost factor can&#8217;t be ignored.  It wasn&#8217;t the biggest reason for me, but it will be for most.  It is important to be a good steward your resources, regardless of how limited or unlimited they may be, the money spent has to be considered</li>
<li><strong>Ease of use.</strong> I&#8217;m sure some will disagree, but I don&#8217;t think having a GUI automatically makes something easier to use.  In the case of a critical component like a SAN, a GUI may simply make it easier to break.  If you think typing an e-mail is easy, and you can handle typing a few sentences from instructions, then using Linux from the command line for managing a SAN is easy too.  In fact, you could argue that typing in a command is much more precise than clicking around a GUI, and therefore could be easier to use, especially considering the importance of getting it right.</li>
<li><strong>Rock Solid IT.</strong> A SAN is about as critical a component as you can have.  All your data is congregated in one place.  It is the disk space for all your servers.  It has to run all the time with no down time - it has to work.  Period.</li>
<li><strong>Good Stewardship.</strong> Someone else will eventually need to come behind you and work on this.  You WANT others to be able to help.  I toyed with this thought for a while, as as a friend from the RT pointed out to me to make sure it was covered.  See &#8216;Ease of Use&#8217; above, I think so long as you document what you have done, and how to do it, you cover the ability for someone else to pick it up.  The interface doesn&#8217;t really matter.</li>
<li><strong>Ownership.</strong> I&#8217;m an engineer.  I realize everyone in IT may not be an engineer, but for me there is a huge value add when not using a proprietary software stack.  The ability to fully own what you are using, and not be open to a company pulling the rug out from under you when you least expect it (as can happen with proprietary/ closed source offerings).  Some see the Linux/ Open Source aspect as a disadvantage, but I disagree.  True, you do need some technical knowledge, but you hopefully do, working in IT.  For me, I am the last line of support, not some vendor.  If I am responsible for a system, I should understand in 100% and be able to address any issues with it.  Others would disagree, and prefer to outsource that responsibility, and I understand how they arrive at that conclusion.  On that note, I will tell you that this <strong>IS</strong> easy to do, and if you follow good production IT principles (like testing and stabilizing production systems before implementation) you will have a system that will be Rock Solid reliable.</li>
</ul>
<p><strong>Here&#8217;s whats coming up in the SAN For All series:</strong></p>
<ul>
<li>Specs for building a high-end, fully redundant 16 TB SAN for less than $9000</li>
<li>Implementing a SAN for cheap</li>
<li>Installing an iSCSI SAN - Step by step process for using Ubuntu LTS Linux as a Rock Solid SAN
<ul>
<li>Working with physical disks and LVM2</li>
<li>Configuring iSCSI Targets</li>
<li>Managing LVs - snapshots, resizing</li>
</ul>
</li>
<li>Configuring Network bonding - How to get 10Gb speed with redundancy for less</li>
<li>Virtualization methodologies</li>
<li>NFS for clustering, just like an HPC</li>
<li>RAID configuration suggestionsUpdate: I have 3 systems running Ubuntu with the iSCSI ET now, and the performance and ease of use is great.  More to follow soon.</li>
</ul>
<h5><em>Note: There are other options for getting a SAN for your use.  For example, there are iSCSI Target applications that you can add to Windows to allow it to function as an iSCSI server.  My focus here is on <span style="text-decoration: underline;">serious</span>, <span style="text-decoration: underline;">production</span> use of SAN technology.  It has to be rock solid stable and running for years with minimal maintenance.  Moving on&#8230;</em></h5>
]]></content:encoded>
			<wfw:commentRss>http://bitbud.com/2008/12/04/san-for-all-part-2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Wordpress conversion (mostly) complete</title>
		<link>http://bitbud.com/2008/11/14/wordpress-conversion-mostly-complete/</link>
		<comments>http://bitbud.com/2008/11/14/wordpress-conversion-mostly-complete/#comments</comments>
		<pubDate>Fri, 14 Nov 2008 18:48:09 +0000</pubDate>
		<dc:creator>bitbud</dc:creator>
		
		<category><![CDATA[Bitbud Blog]]></category>

		<category><![CDATA[AboutMe]]></category>

		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://bitbud.com/?p=77</guid>
		<description><![CDATA[Welcome to the new bitbud.com  I have finally flipped the switch from Joomla to Wordpress, and I have to admit the new Wordpress 2.7 is sweet.  This is by far THE platform to use for a Blog.  I tried for several months each both Drupal and Joomla.  They are good CMS systems, but for blogging, [...]]]></description>
			<content:encoded><![CDATA[<p>Welcome to the new bitbud.com  I have finally flipped the switch from Joomla to Wordpress, and I have to admit the new Wordpress 2.7 is sweet.  This is by far THE platform to use for a Blog.  I tried for several months each both Drupal and Joomla.  They are good CMS systems, but for blogging, the new Wordpress can&#8217;t be beat.  This really is making blogging MUCH easier for me.</p>
<p>I found a useful script that handled the importing of all my Joomla &#8216;articles&#8217;.  Sadly, none of the comments made it, but I may do that manually later.</p>
<p>There is still more work to do, most importantly handling redirects from the old Joomla links to the new Wordpress permalinks.  Also need to import my graphics, find a new template, and get my modules configured.</p>
<p>I&#8217;ll update this post with some more details on the script I used for importing later.</p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://bitbud.com/2008/11/14/wordpress-conversion-mostly-complete/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A Virtualization First from KVM</title>
		<link>http://bitbud.com/2008/11/12/a-virtualization-first-from-kvm/</link>
		<comments>http://bitbud.com/2008/11/12/a-virtualization-first-from-kvm/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[I have been withholding my posts lately,  as I am working on moving over to WordPress (should be done this week).  However, this news is too big to wait.
The new version of KVM (KVM-79) was just released, and it includes a feature that is unique to KVM (compared to all other x86 virtualization platforms - [...]]]></description>
			<content:encoded><![CDATA[<p>I have been withholding my posts lately,  as I am working on moving over to WordPress (should be done this week).  However, this news is too big to wait.</p>
<p>The new version of KVM (KVM-79) was just released, and it includes a feature that is <strong>unique to KVM </strong>(compared to all other x86 virtualization platforms - in other words, VMWare and Microsoft can&#8217;t do this, but I&#8217;m sure they&#8217;ll add it soon),</p>
<p><font color="#ff0000"><strong>PCI device assignment</strong></font></p>
<p>With this new release, you can now pass an entire PCI device directly to a Guest virtual machine.  No emulation or para-virtualization required.  If you understand what that means, then you understand just how cool it is.  This is <strong>HUGE</strong>, both in the virtualization world, and for PCs in general.  In time, the paradigm is going to shift to having your complete PC virtualized - this is the first step.</p>
<p>What in the world would I use it for, you ask?  Examples?  You could have a PC with an additional video card that is directly passed to the Guest virtual machine, so that it can have its own dedicated video.  A network card that can now operate at full native speed, as it is completely controller by the Guest system.  Or a hard disk controller card managed by your Guest computer.  This opens the door to now have a completely virtual desktop experience, and native speed servers.  It will be possible, over time, to have a completely virtual desktop without the current issues with heavy graphics/ 3D systems.</p>
<p>The code for this has been in the cooker for several months.  This is the first inclusion in a &#8220;release&#8221; of KVM, so expect continued improvements.  I believe at this stage it is supported only with Intel&#8217;s Virtualization extensions (which means the AMD PC I have wont do it, but the Intel one will).  I&#8217;ll double check on that and update that here with the requirements.</p>
<p>I am looking forward to testing this out with my MythTV (Tivo type software under Linux) system in the next few weeks. </p>
<p><span id="more-74"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://bitbud.com/2008/11/12/a-virtualization-first-from-kvm/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Crossover for Linux and Mac - Free today only!</title>
		<link>http://bitbud.com/2008/10/28/crossover-for-linux-and-mac-free-today-only/</link>
		<comments>http://bitbud.com/2008/10/28/crossover-for-linux-and-mac-free-today-only/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[UPDATE:  Apparently, the Codeweavers website is getting hammered due to this free offer.  Click the link below to connect DIRECTLY to the registration page.  Once registered, you are locked in - but you only have until midnight on 10/28 to register.
Its true! Codeweavers is offering Crossover for Linux and Mac for free (including support) - [...]]]></description>
			<content:encoded><![CDATA[<p><font color="#ff0000">UPDATE:  Apparently, the Codeweavers website is getting hammered due to this free offer.  Click the link below to connect DIRECTLY to the registration page</font>.  Once registered, you are locked in - but you only have until midnight on 10/28 to register.</p>
<p>Its true! Codeweavers is offering Crossover for Linux and Mac for free (including support) - but for today only.  Check it out at<a href="http://lameduck.codeweavers.com/free/" target="_blank"> Click Here to Register.  </a>Crossover is an application that allows certain Windows applications (including games) to run natively on Linux and Mac.  I&#8217;ve already got my copy.<br /><span id="more-73"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://bitbud.com/2008/10/28/crossover-for-linux-and-mac-free-today-only/feed/</wfw:commentRss>
		</item>
		<item>
		<title>HyperV is coming - Lookout VMWare</title>
		<link>http://bitbud.com/2008/10/27/hyperv-is-coming-lookout-vmware/</link>
		<comments>http://bitbud.com/2008/10/27/hyperv-is-coming-lookout-vmware/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[As I mentioned to some of my peers at the Round Table, I think Microsoft will eventually dominate the Virtualization market, and quickly start taking big chunks of VMWare&#8217;s customers away.  Here is some evidence: HyperV 2.0 Features Announced.
Now, if you know me, you know I am partial to FOSS (Free and Open Source Software [...]]]></description>
			<content:encoded><![CDATA[<p>As I mentioned to some of my peers at the <a href="http://citrt2008.com" target="_blank">Round Table</a>, I think Microsoft will eventually dominate the Virtualization market, and quickly start taking big chunks of VMWare&#8217;s customers away.  Here is some evidence: <a href="http://www.virtualization.info/2008/10/microsoft-hyper-v-20-to-include-live.html" target="_blank">HyperV 2.0 Features Announced.</a></p>
<p>Now, if you know me, you know I am partial to FOSS (Free and Open Source Software - not necessarily free as in price), and Microsoft is not FOSS.  I tell you that as a disclaimer, so you know I am not a Microsoft fan trying to sell you on HyperV.  In IT, it&#8217;s a Microsoft world, so I have to study it, understand it, and use it.  I have been working with Virtualization in production environments for about 5 years now, most recently testing the viability of ESX and HyperV for our production use.</p>
<p>To the uninitiated, it is easy to pick HyperV.  I have already seen engineers, who would not otherwise consider virtualization, move to it ever since HyperV was made available as a part of the 2008 OS.  It makes sense.  With just a few simple clicks, suddenly you can run multiple OSes on your PC or server.  Dead simple.  It is also easy to use, and has some useful features already included.  The management console, snapshots, and import/export tools are of great value, and I would argue that it&#8217;s Quick Migration (as opposed to VMWare&#8217;s VMMotion or KVM&#8217;s Live Migration) is practical and meets almost all requirements.  </p>
<p>To the better informed, a closer look is needed, and that is what I have been doing for the past few weeks.  I can tell you straight away that HyperV suspiciously looks like Xen&#8230; a lot (With Windows 2008 as Dom0).  An interesting footnote: Microsoft&#8217;s longtime buddy Citrix purchased Xen Source last year.  Theoretically, that purchase would allow MS to obtain a private license with Citrix to use Xen code outside the open source license under which it was developed, and under a different license.  I can also tell you that side by side HyperV doesn&#8217;t match up as well with ESXi.  Even with similarly configured guests with identical host hardware, the tests I performed showed that ESXi was plain faster (on a side note, KVM was faster than both).  And the ESXi management features are impressive with the detail that you can manage your Guest VMs.  ESXi does binary translation, whereas HyperV requires virtualization extensions.  This means that ESXi will run on older hardware as well.</p>
<p>So if ESXi is technically better, than whats the deal with HyperV?  For evidence, see the above referenced article.  Microsoft will continue to work on HyperV, and will very quickly include all the features that the Enterprise requires (read that as all the features that VMWare has).  On top of that, it is included in their OS (akin to how Internet Explorer took over), and costs almost nothing to install it.  To the average IT person, this is a no-brain-er, and is a VERY easy to path to virtualization.  I can tell you that when I first started Virtualization 5 years ago, if HyperV existed and was as easy to install (and as functional) as it is today, we would be all HyperV by now.  That is saying a lot, coming from me.  And the performance difference, while noticeable, wasn&#8217;t so great as to exclude HyperV from consideration.</p>
<p>I hope VMWare can come up with a good way to compete with this juggernaut.  I think in time KVM will silently become the standard, especially in large production data centers, much like Apache and Linux are today.  But for other corporate uses, VMWare is going to have to complete heavily with HyperV.</p>
<p> For now, for us, KVM is our standard VM platform, and we will start using ESXi to fill in some holes (especially with older equipment).  By comparison, HyperV just doesn&#8217;t meet our requirements&#8230; yet.  But I have seen it already working well for others in production environments, and can only guess at what the future holds.</p>
<p><span id="more-72"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://bitbud.com/2008/10/27/hyperv-is-coming-lookout-vmware/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SAN for ALL - Part 1</title>
		<link>http://bitbud.com/2008/10/03/san-for-all-part-1/</link>
		<comments>http://bitbud.com/2008/10/03/san-for-all-part-1/#comments</comments>
		<pubDate>Sat, 04 Oct 2008 00:53:36 +0000</pubDate>
		<dc:creator>bitbud</dc:creator>
		
		<category><![CDATA[Bitbud Blog]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[

SAN for ALL!
The paradigm has shifted (some time ago), and centralized storage is now a requirement for any organization to most efficiently run their infrastructure.  The ability to pool your storage resources, especially as data storage requirements explode, is invaluable.  No longer being tied to how many hard drives a single server can hold, but [...]]]></description>
			<content:encoded><![CDATA[<p><strong><img class="alignnone size-full wp-image-82" title="san2" src="http://bitbud.com/wp-content/uploads/2008/11/san2.jpg" alt="san2" width="230" height="226" /><br />
</strong></p>
<h1><strong>SAN for ALL!</strong></h1>
<p>The paradigm has shifted (some time ago), and centralized storage is now a requirement for any organization to most efficiently run their infrastructure.  The ability to pool your storage resources, especially as data storage requirements explode, is invaluable.  No longer being tied to how many hard drives a single server can hold, but instead having expandable storage easily accessible via a network.  Today, iSCSI is the standard bearer (sorry FC, AoE), and many organizations see the need for implementing it.  However, the most common roadblock to implementing a SAN&#8230;</p>
<div><strong><span class="caption">$$$ (cost)</span></strong></div>
<p>There are other impediments, but cost is easily the biggest.  It almost hurts to read about such great technology, to work with it in the business world every day, but not be able to afford it for your church.  The features and the capabilities that are gained from a well implemented SAN add so much value to IT, they cannot be ignored.  When IT works more efficiently, that helps them fulfill their role to support the ministries of the Church, which in the end is all that matters.</p>
<p>The cost factor is especially true for a small church (like mine), where there is no IT budget, where the infrastructure is built almost exclusively on donated, older computers.  In those situations, the necessity to be good stewards of limited resources is highlighted.  For a church of any size good stewardship is important, but for a church with no financial resources to contribute to the cause, it seems as there is no opportunity.  But that isn&#8217;t the case&#8230;</p>
<p>This is for those church&#8217;s who see the need for the technology, and have the time, but almost no resources to devote to the effort.  This is also for those that see the need, have the time, and the resources, but want to save some money, and gain a greater level of understanding, experience, and flexibility - the typical DIY-er.  You too can have a SAN, with every feature available to you in commercial SANs, for little to no cost.  The only thing you sacrifice is performance - at least for the SAN that costs nothing.  However performance can be improved to be on par with commercial equivalents for minimal amount of cost.</p>
<p>I&#8217;m going to break this down into several posts covering multiple options for configuration, features, costs, and performance.  Let me start with an example:</p>
<p>At my church, I recently implemented a new SAN for $476, using two donated PCs.  You could get by for less $$ if your PCs already have SATA hard disks of the capacity you want, but these were oooolllllddddd computers, so some minor upgrades were needed:</p>
<ul>
<li>4 * 500GB SATA II drives @ $80/ each</li>
<li>2 * SATA II 4 port @ $18/ each</li>
<li>4 * Intel Gigabit PCI@ $40/ each</li>
</ul>
<p>So - what did we get for all this?</p>
<ul>
<li>approximately 1/2 TB of disk space</li>
<li>RAID 1 (mirror)</li>
<li>FT/ HA (fault tolerant/ high availability)</li>
<li>Dynamic resize</li>
<li>Snapshot</li>
<li>multi protocol (we use NFS and iSCSI, you could also use AOE, CIFS, etc)</li>
<li>encryption</li>
<li>cuts your grass</li>
<li>makes your coffee</li>
<li>&#8230;i might have forgotten something</li>
</ul>
<p>How does it work?  The two PCs are each running 2 500GB drive in a RAID 1.  They are also connected to each other in a network RAID1.  Using HA, they are providing network services(NFS, iSCSI) in a primary/secondary fashion.  Dynamic resize and snapshots are provided via LVM, for the NFS shares I used XFS.</p>
<p>The FT/HA adds a bit more complexity, and may be overkill for many.  The rest of the features though are important.  An alternative to HA would be to simply use the 2nd PC as a backup system of the first, using simple replication.</p>
<p>These system were put in place to support the virtual servers that will be running all the back end systems.</p>
<p>In the next post I&#8217;ll go into the details of installing and configuring iSCSI on Ubuntu.</p>
<p><span id="more-71"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://bitbud.com/2008/10/03/san-for-all-part-1/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Open Source Exchange Compatible Alternative</title>
		<link>http://bitbud.com/2008/09/25/open-source-exchange-compatible-alternative/</link>
		<comments>http://bitbud.com/2008/09/25/open-source-exchange-compatible-alternative/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[UPDATE 2008.10.03:
So it looks like Travis was right, and an Outlook plug-in is needed - which means this system isn&#8217;t 100% compatible, although the ActiveSync part looks interesting.  That means the only100% solution I know of is still Post Path.  It just isn&#8217;t open source.  If Cisco would find a way to GPL it, they [...]]]></description>
			<content:encoded><![CDATA[<p><strong>UPDATE 2008.10.03:</strong></p>
<p>So it looks like Travis was right, and an Outlook plug-in is needed - which means this system isn&#8217;t 100% compatible, although the ActiveSync part looks interesting.  That means the only100% solution I know of is still Post Path.  It just isn&#8217;t open source.  If Cisco would find a way to GPL it, they would literally TAKE OVER the market.  Maybe one day they will.</p>
<p>Original Post:<br />So someone FINALLY released a 100% MAPI compatible (read - Exchange compatible) system under an open source license.  Zarafa. At first read, it appears to offer full ActiveSync support, and Outlook over HTTPS as well.  The limitation appears to be in the number of Outlook clients that can connect via MAPI, unless you purchase one of the higher-end versions.</p>
<p>I&#8217;ll post an update after further evaluation.</p>
<p>http://zarafa.com/?q=en/content/community-0 </p>
<p>Other 100% MAPI compatible alternatives include PostPath, which was recently aquired by Cisco.  But they aren&#8217;t (yet) open source.</p>
<p><span id="more-70"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://bitbud.com/2008/09/25/open-source-exchange-compatible-alternative/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Easy bandwidth limiting in Apache2</title>
		<link>http://bitbud.com/2008/09/19/easy-bandwidth-limiting-in-apache2/</link>
		<comments>http://bitbud.com/2008/09/19/easy-bandwidth-limiting-in-apache2/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[I ran into a problem the other day&#8230; too many downloads of a large VMWare image I had shared.  It swamped my connection and made the server inaccessible.  So I had to quickly put in a bandwidth limiter, and thought I&#8217;d share how easy it is to do:
I am using mod_bandwidth.  There are several other [...]]]></description>
			<content:encoded><![CDATA[<p>I ran into a problem the other day&#8230; too many downloads of a large VMWare image I had shared.  It swamped my connection and made the server inaccessible.  So I had to quickly put in a bandwidth limiter, and thought I&#8217;d share how easy it is to do:</p>
<p>I am using mod_bandwidth.  There are several other Apache2 modules for managing bandwidth.  This one is a great quick fix.  In fact, I usually install this by default, but unfortunately forgot to on this website - until my bandwidth was maxed.  I highly recommend installing something along these lines to protect your system from this problem.</p>
<p><em>My system is Ubuntu Server and Apache2</em></p>
<p>This is simple to implement:<br />- Grab the latest version of the source code<br />- Extract and compile the Apache module <br />- change apache2.conf</p>
<p>To begin:</p>
<p>Find the latest source code download link at: http://ivn.cl/#bandwidth  Currently it is version 0.8</p>
<p>In a Terminal windows, run these commands in a temp folder: </p>
<blockquote><p>sudo su<br />apt-get install apache2-threaded-dev<br />cd /tmp<br />wget http://ivn.cl/files/source/mod_bw-0.8.tgz<br />tar xvzf mod_bw-0.8.tgz<br />cd mod_bw<br /><em><br />note: you may get an error after running this next command - you can ignore it</em></p>
<p>apxs2 -i -a -c mod_bw.c</p>
<p>nano /etc/apache2/apache2.conf</p>
</blockquote>
<p><em>add the following to the top of the file</em></p>
<blockquote><p>LoadModule bw_module /usr/lib/apache2/modules/mod_bw.so<br /> BandWidthModule On<br /> BandWidth all 1000000<br /> MinBandWidth all 100000<br /> ForceBandWidthModule On</p></blockquote>
<p>This will limit the apache server to 1 Mb of bandwidth with each connections getting at least 100k</p>
<p><span id="more-69"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://bitbud.com/2008/09/19/easy-bandwidth-limiting-in-apache2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Let every nation know</title>
		<link>http://bitbud.com/2008/09/11/let-every-nation-know/</link>
		<comments>http://bitbud.com/2008/09/11/let-every-nation-know/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[&#8220;Let every nation know, whether it wishes us well or ill, that we shall pay any price, bear any burden, meet any hardship, support any friend, oppose any foe, in order to assure the survival and the success of liberty.&#8221;  &#8211;  John F. Kennedy
For about a year after September 11th, 2001 this quote was in [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;Let every nation know, whether it wishes us well or ill, that we shall pay any price, bear any burden, meet any hardship, support any friend, oppose any foe, in order to assure the survival and the success of liberty.&#8221;<br />  &#8211;  John F. Kennedy</p>
<h5>For about a year after September 11th, 2001 this quote was in my signature at the bottom of every  e-mail, regardless of who it went to - a friend, a customer, anyone. </h5>
<p>&nbsp;</p>
<p>As I sat in my car this morning talking to my wife, I lamented that so many have already forgotten, or pushed into the back of their minds, the events of this day.  The very real threat that exists in this world from those that hate America and what America has stood for - a country built on the principles of God&#8217;s Word (often called Judeo-Christian values).  A country that has been blessed, has prospered, <a href="http://www.cafonline.org/Default.aspx?page=12183" target="_blank">and who&#8217;s citizens share that blessing with others in the world, more so than any other country.</a></p>
<p>Like everyone else, I remember exactly where I was 7 years ago as though it happened today, even if I can&#8217;t recall what I ate for lunch Monday.  I recall the odd feeling, simply trying to understand what was happening, &#8220;Why has ANOTHER plane flown into the building?&#8221;  The abrupt realization that we were like children, who&#8217;s innocence was suddenly broken, and our view of the world around us would never be the same.</p>
<p>I also recall where I was on another day, November 7th that same year.  I was working in Chicago.  That evening I was in my hotel room finishing some client notes from the day, with the CMA Awards show on the TV.  I stopped suddenly when Vince Gill announced that <a href="http://www.christianitytoday.com/tc/2003/001/14.14.html">Alan Jackson, my favorite country singer, was coming on to perform a never heard before song.  He delivered the song in an appropriate way that only Mr. Jackson could, quite, humble, just him and his guitar</a> (reminds me of my dad).  The words spoke to me, as they did to millions of others. </p>
<p>We have to watch out for complacency.  Certainly on this day, I think of the complacency that might make us think we are no longer vulnerable to attacks of this nature, that it won&#8217;t happen to ME.  But we must also be on constant guard for complacency in all areas of our lives, with ourselves, and how we direct the way we live&#8230; complacency in the attention we provide to our spouses, our children, our Faith.  They require our <strong>constant</strong> attention.  My dad once told me that life is a struggle, that you must battle every day against the wickedness of the flesh.  I know what he spoke of, and it comforted me to know that this man, my dad, the man that has earned my love and respect, above all other men that I have known in my life, confided in me that he too, we all, face this battle.  <a href="http://bibleresources.bible.com/passagesearchresults.php?passage1=Rom+7%3A14-25&#038;version1=51">As my dad always does with such ease, he was speaking from God&#8217;s Word, where even one such as Paul struggled every day, and was not afraid to admit it.</a></p>
<p>I have struggled with complacency, and reflecting on this today I know that I must work each day going forward to lean on the power of the Holy Spirit within me to win this fight.  Sadly, I do not find myself complacent about worldly things, which are not important as they will pass away, but am too often complacent about the important things that live forever - my wife, my son, my church.  I must endeavor to stand on Gods Word,<a href="http://bibleresources.bible.com/passagesearchresults.php?passage1=Ephesians+6%3A10-20&#038;version1=51"> actively, everyday,</a> to spend my full effort building Gods kingdom in my family, my church, and the world around me.  It is ironic that as I look to the past today to address my own complacency, <a href="http://bibleresources.bible.com/passagesearchresults.php?passage1=Philippians+3%3A12-15&#038;version1=51">God&#8217;s Word says that I must move forward by forgetting the past, and focusing on what I can do now, and in the future.</a>  This is a blessing, being released from our past, our sins, which enables us to pursue the best that God has in store for us.  I don&#8217;t have to waste any more time with sadness over the past, but am freed to focus on the Hope of today, and the future.  But not to forget that it is work, and must be worked out everyday.</p>
<p>As I sat in my car this morning talking to my wife, I lamented that so many have already forgotten&#8230;<br />And as I spoke those words to my wife, I noticed the flag in front of our office building this morning - at half staff.   Not every one has forgotten&#8230;</p>
<p>Hope is not lost, when our Hope is in Christ Jesus.</p>
<p><img src="images/stories/flag4.jpg" border="0" alt="Half Mast September 11 2008" /></p>
<p>References:<br /><a href="http://bibleresources.bible.com/passagesearchresults.php?passage1=Rom+7%3A14-25&#038;version1=51">Romans 7:14-25<br />http://bibleresources.bible.com/passagesearchresults.php?passage1=Rom+7%3A14-25&#038;version1=51</a><br /><a href="http://bibleresources.bible.com/passagesearchresults.php?passage1=Philippians+3%3A12-15&#038;version1=51">Philippians 3:12-15<br />http://bibleresources.bible.com/passagesearchresults.php?passage1=Philippians+3%3A12-15&#038;version1=51</a><br /><a href="http://bibleresources.bible.com/passagesearchresults.php?passage1=Ephesians+6%3A10-20&#038;version1=51">Ephesians 6:10-20<br />http://bibleresources.bible.com/passagesearchresults.php?passage1=Ephesians+6%3A10-20&#038;version1=51</a><br /><a href="http://www.cafonline.org/Default.aspx?page=12183">http://www.cafonline.org/Default.aspx?page=12183</a><br /> <a href="http://www.christianitytoday.com/tc/2003/001/14.14.html">http://www.christianitytoday.com/tc/2003/001/14.14.html </a></p>
<p><span id="more-21"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://bitbud.com/2008/09/11/let-every-nation-know/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Big News in Virtualization - Red Hat aquires KVM inventor, maintainer Qumranet</title>
		<link>http://bitbud.com/2008/09/04/big-news-in-virtualization-red-hat-aquires-kvm-inventor-maintainer-qumranet/</link>
		<comments>http://bitbud.com/2008/09/04/big-news-in-virtualization-red-hat-aquires-kvm-inventor-maintainer-qumranet/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[Red Hat announced today the acquisition of Qumranet, the inventor and maintainer of KVM:  http://www.redhat.com/promo/qumranet/ 
Red Hat has been involved with the ongoing efforts to develop and maintain KVM.  I think this will give additional focus, resources, and credibility to the KVM project.  Red Hat&#8217;s virtual management project, oVirt will probably pick up the pace [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.redhat.com/promo/qumranet/">Red Hat announced today the acquisition of Qumranet, the inventor and maintainer of KVM:  </a><a href="http://www.redhat.com/promo/qumranet/">http://www.redhat.com/promo/qumranet/ </a></p>
<p>Red Hat has been involved with the ongoing efforts to develop and maintain KVM.  I think this will give additional focus, resources, and credibility to the KVM project.  <a href="http://ovirt.org">Red Hat&#8217;s virtual management project, </a><a href="http://ovirt.org">oVirt </a><a href="http://ovirt.org">will probably pick up the pace as well.</a></p>
<p>So long as Red Hat keeps development of KVM as free and open-source, this should be a big plus.  I don&#8217;t know why they wouldn&#8217;t.</p>
<p>It&#8217;s been clear to me for over a year now that KVM was the future of virtualization, that VMWare and Xen would fade as the Hypervisor becomes a commodity.  Ubuntu moving to KVM as it&#8217;s primary platform for virtualization was the first validation, and now Red Hat.  KVM already has a broader set of capabilities than ESX and Xen.  It&#8217;ll blow the doors off of virtualization with the upcoming PCI passthrough capabilties (more news on that to follow).</p>
<p>I&#8217;ll keep you apprised of what I see going on in the developer community for KVM<br /><span id="more-20"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://bitbud.com/2008/09/04/big-news-in-virtualization-red-hat-aquires-kvm-inventor-maintainer-qumranet/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Apple uses Windows Mobile in its stores</title>
		<link>http://bitbud.com/2008/09/03/apple-uses-windows-mobile-in-its-stores/</link>
		<comments>http://bitbud.com/2008/09/03/apple-uses-windows-mobile-in-its-stores/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[I was in an Apple store at lunch today (don&#8217;t tell anybody) with a friend picking up a Nano for his wife.  I have always been curious about the little PDA checkout devices they use.  My buddy was even impressed with how quickly he was able to checkout, since the clerk scanned the bar code [...]]]></description>
			<content:encoded><![CDATA[<p>I was in an Apple store at lunch today (don&#8217;t tell anybody) with a friend picking up a Nano for his wife.  I have always been curious about the little PDA checkout devices they use.  My buddy was even impressed with how quickly he was able to checkout, since the clerk scanned the bar code right where we were standing, and swipped the credit card, all from the PDA.  I have been trying for a while to get a good look at it, but the clerks always seem to actively hide the face of the device.  Until today, when I was able to see it clearly&#8230;</p>
<p>Funny thing is, the PDA she was using was running Microsoft Pocket PC.  I even pointed it out to my buddy, to which the clerk just laughed and said &#8216;don&#8217;t tell anybody&#8217;.</p>
<p>I just thought that was ironic.  What do you think?  </p>
<p><span id="more-19"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://bitbud.com/2008/09/03/apple-uses-windows-mobile-in-its-stores/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Microsoft invents Page Up Page Down</title>
		<link>http://bitbud.com/2008/09/02/microsoft-invents-page-up-page-down/</link>
		<comments>http://bitbud.com/2008/09/02/microsoft-invents-page-up-page-down/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[Filing this one under either silly, ridiculous, or scary, Microsoft was finally granted a patent for its amazing invention, the Page Up and Page Down functions:
Read about it here: http://news.zdnet.com/2424-9595_22-218626.html
Aside from copious amounts of prior art, and obviousness, is this shame on Microsoft, shame on the Patent Office, or both?
What do you think?

]]></description>
			<content:encoded><![CDATA[<p>Filing this one under either silly, ridiculous, or scary, Microsoft was finally granted a patent for its amazing invention, the Page Up and Page Down functions:</p>
<p><a href="http://news.zdnet.com/2424-9595_22-218626.html">Read about it here: http://news.zdnet.com/2424-9595_22-218626.html</a></p>
<p>Aside from copious amounts of prior art, and obviousness, is this shame on Microsoft, shame on the Patent Office, or both?</p>
<p>What do you think?</p>
<p><span id="more-18"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://bitbud.com/2008/09/02/microsoft-invents-page-up-page-down/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How to setup a private network for virtual guests in KVM</title>
		<link>http://bitbud.com/2008/08/20/how-to-setup-a-private-network-for-virtual-guests-in-kvm/</link>
		<comments>http://bitbud.com/2008/08/20/how-to-setup-a-private-network-for-virtual-guests-in-kvm/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[There is sparse documentation on how to setup a virtual network that is private (as in just between the virtual guests) on a single VM Host.  I tried a myriad of methods and none worked for me.  So I tested a few theories of my own, and found something&#8230; a method that is ridiculously obvious [...]]]></description>
			<content:encoded><![CDATA[<p>There is sparse documentation on how to setup a virtual network that is private (as in just between the virtual guests) on a single VM Host.  I tried a myriad of methods and none worked for me.  So I tested a few theories of my own, and found something&#8230; a method that is ridiculously obvious and easy to implement.  The trick is to simply create a fake interface on your host to bind your VM&#8217;s NIC.  I put these steps together to save you from wasting the same amount of time I did.</p>
<p> <em>(note - One of the alternatives would be to use VDE (Virtual Distributed Ethernet), but that is still evolving (KVM-72 just added it native!).  VDE is slow performance wise, but has some interesting uses, such as extending your virtual switch to remote locations) </p>
<p> Ubuntu 8.04.1 64bit Server updated to 2008.08.01 w/ KVM-72</em><br /> <em><br /> </em><strong>Step 1</strong> - add a fake interface to bind your virtual machine&#8217;s network card, by editing the interfaces config file.  I open it to edit in nano:</p>
<blockquote><p>nano /etc/network/interfaces </p></blockquote>
<p>and add the following 2 lines at the top: </p>
<blockquote><p>auto pb1<br /> iface pb1 inet manual </p></blockquote>
<p>I named it pb1 for &#8216;private bridge&#8217;.  Call it whatever you want.  And restart your network stack (/etc/init.d/networking restart)<br /> <strong><br /> Step 2</strong> - create the startup script for this interface: </p>
<blockquote><p>nano /etc/qemu-pb1-ifup </p></blockquote>
<p> with the following in your statup script: </p>
<blockquote><p>#!/bin/sh<br /> sudo /sbin/ifconfig $1 0.0.0.0 promisc up<br /> sudo /usr/sbin/brctl addif pb1 $1<br /> sleep2 </p></blockquote>
<p>  Your done with the private bridge config.</p>
<p>  <strong>Step 3 </strong>- To connect two (or more) VMs to that private interface, just start each VM with similar network settings&#8230; reference the same script file and use the same vLAN reference.  They are highlighted in my example KVM startup command below:<br /> <br />
<blockquote>qemu-system-x86_64 \<br /> -name SQL09 \<br /> -vnc :32 \<br /> -m 1024 \<br /> -smp 1 \<br /> -net nic,<strong>vlan=21</strong>,macaddr=aa:00:50:50:50:32,model=e1000 \<br /> -net tap,<strong>vlan=21</strong>,ifname=tapSQL09,script=<strong>/etc/qemu-pb1-ifup</strong> \<br /> -drive file=sql09root.qcow2,if=ide,index=0,media=disk,boot=on \<br /> -std-vga \<br /> -usb -usbdevice tablet \<br /> -localtime \<br /> -daemonize </p></blockquote>
<p>Of course, use whatever vLAN you wish.</p>
<p>You are done!  I am going to update my KVM installation articles to include this, always adding a private interface, it is so easy. You could add multiple private interfaces if you wanted.<br /><strong></p>
<p>Uses:</strong><br /> This is great for setting up a completely isolated network of virtual guests.  However, if you need to connect out for Internet access, it is easy enough to multi-home one of your systems, and connect to a bridged interface on your Host.  For me, I like to run my favorite little firewall PFSense in a VM, multi-homed to both the private bridge and a normal bridge (shared with the Host).  For my laptop, I also include a third interface for the built in QEMU user networking (since I can&#8217;t bridge the wireless).</p>
<p> Works like a champ.</p>
<p> I didn&#8217;t find anyone else who documented this method.  If you have another <strong>working</strong> solution, please share.  This method is working great in our production and test environments. </p>
<p>&nbsp;</p>
<p><span id="more-17"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://bitbud.com/2008/08/20/how-to-setup-a-private-network-for-virtual-guests-in-kvm/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How to setup a private network for virtual guests in KVM</title>
		<link>http://bitbud.com/2008/08/19/how-to-setup-a-private-network-for-virtual-guests-in-kvm/</link>
		<comments>http://bitbud.com/2008/08/19/how-to-setup-a-private-network-for-virtual-guests-in-kvm/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[There are quite a few ways to setup a private, virtual network that is just between virtual guests on a single VM Host.  We&#8217;ll explore one very simple way here.  One of the alternatives would be to use VDE (Virtual Distributed Ethernet), but I&#8217;ll wait until KVM-73, which will make VDE setup even easier.  For [...]]]></description>
			<content:encoded><![CDATA[<p>There are quite a few ways to setup a private, virtual network that is just between virtual guests on a single VM Host.  We&#8217;ll explore one very simple way here.  One of the alternatives would be to use VDE (Virtual Distributed Ethernet), but I&#8217;ll wait until KVM-73, which will make VDE setup even easier.  For now, let look at creating a private bridge interface:</p>
<p><span id="more-15"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://bitbud.com/2008/08/19/how-to-setup-a-private-network-for-virtual-guests-in-kvm/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How to image a disk over the network</title>
		<link>http://bitbud.com/2008/08/12/how-to-image-a-disk-over-the-network/</link>
		<comments>http://bitbud.com/2008/08/12/how-to-image-a-disk-over-the-network/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[http://www.cyberciti.biz/tips/howto-copy-compressed-drive-image-over-network.html
&#160;
&#160;
&#160;
&#160;
Copy hard disk or partition image to another system using a network and netcat (nc)
Posted By vivek On August 12, 2007 @ 10:35 am In Backup, CentOS, Data recovery, Debian Linux, File system, FreeBSD, Gentoo Linux, Howto, RedHat/Fedora Linux, Suse Linux, Sys admin, Tips, Ubuntu Linux &#124; 12 Comments

[1] 
netcat utility (nc command) considered as [...]]]></description>
			<content:encoded><![CDATA[<p>http://www.cyberciti.biz/tips/howto-copy-compressed-drive-image-over-network.html</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p id="BlogTitle">Copy hard disk or partition image to another system using a network and netcat (nc)</p>
<p id="BlogDate">Posted By <u>vivek</u> On August 12, 2007 @ 10:35 am In <u>Backup</u>, <u>CentOS</u>, <u>Data recovery</u>, <u>Debian Linux</u>, <u>File system</u>, <u>FreeBSD</u>, <u>Gentoo Linux</u>, <u>Howto</u>, <u>RedHat/Fedora Linux</u>, <u>Suse Linux</u>, <u>Sys admin</u>, <u>Tips</u>, <u>Ubuntu Linux</u> | <u><a href="http://www.cyberciti.biz/tips/howto-copy-compressed-drive-image-over-network.html/print#comments_controls">12 Comments</a></u></p>
<div id="BlogContent">
<div style="float: right; margin-top: 0px; margin-left: 5px">[1] <a href="http://www.cyberciti.biz/tips/category/networking/" rel="external"><img src="http://figs.cyberciti.biz/3rdparty/networking.png" border="0" /></a></div>
<p>netcat utility (nc command) considered as TCP/IP swiss army knife. It reads and writes data across network connections, using TCP or UDP protocol. It is designed to be a reliable &#8220;back-end&#8221; tool that can be used directly or easily driven by other programs and scripts. At the same time, it is a feature-rich network debugging and exploration tool, since it can create almost any kind of connection you would need and has several interesting built-in capabilities. </p>
<p>I also install the netcat package for administering a network and you&#8217;d like to use its debugging and network exploration capabilities.</p>
<p>One my favorite usage is to migrating data between two server hard drives using netcat over a network. It is very easy to copy complete drive image from one server to another.</p>
<p>You can also use ssh for the same purpose, but encryption adds its own overheads. This is tried and trusted method (hat tip to [2] <a href="http://www.meme.com/" rel="external">karl</a>) . </p>
<p>Make sure you have [3] <a href="http://www.cyberciti.biz/tips/perform-backups-for-the-linux-operating-system.html" rel="external">backup of all important data</a>. </p>
<h2>Install netcat</h2>
<p>It is possible that nc may not be installed by default under Redhat / CentOS / Debian Linux. </p>
<h3>Insall nc under Redhat / CentOS / Fedora Linux </h3>
<p>Use yum command as follows:<br /> # yum install nc<br /> Output:</p>
<pre>Loading "installonlyn" pluginLoading "rhnplugin" pluginSetting up Install ProcessSetting up repositoriesrhel-x86_64-server-vt-5   100% |=========================| 1.2 kB    00:00rhel-x86_64-server-5      100% |=========================| 1.2 kB    00:00Reading repository metadata in from local filesParsing package install argumentsResolving Dependencies--&gt; Populating transaction set with selected packages. Please wait.---&gt; Downloading header for nc to pack into transaction set.nc-1.84-10.fc6.x86_64.rpm 100% |=========================| 6.9 kB    00:00---&gt; Package nc.x86_64 0:1.84-10.fc6 set to be updated--&gt; Running transaction check

Dependencies Resolved

============================================================================= Package                 Arch       Version          Repository        Size=============================================================================Installing: nc                      x86_64     1.84-10.fc6      rhel-x86_64-server-5   56 k

Transaction Summary=============================================================================Install      1 Package(s)Update       0 Package(s)Remove       0 Package(s)         

Total download size: 56 kIs this ok [y/N]: yDownloading Packages:(1/1): nc-1.84-10.fc6.x86 100% |=========================|  56 kB    00:00Running Transaction TestFinished Transaction TestTransaction Test SucceededRunning Transaction  Installing: nc                           ######################### [1/1] 

Installed: nc.x86_64 0:1.84-10.fc6Complete!</pre>
<h3>Debian / Ubuntu Linux netcat installation</h3>
<p>Simply use [4] <a href="http://www.cyberciti.biz/tips/linux-debian-package-management-cheat-sheet.html" rel="external">apt-get command</a>:<br /> $ sudo apt-get install netcat</p>
<div style="border-style: solid; border-color: rgb(170, 170, 170) rgb(170, 170, 170) rgb(170, 170, 170) rgb(178, 34, 34); border-width: 1px 1px 1px 10px; padding: 2px 0px 2px 0.5em; background: #fbfbfb none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"><img src="http://figs.cyberciti.biz/warning-40px.png" border="0" title="Warning examples may result into data loss" /><strong>WARNING!</strong> These examples may result into data loss, ensure there are good backups before doing this, as using command wrong way can be dangerous.</div>
<h2>How do I use netcat to copy hard disk image?</h2>
<p>Our sample setup</p>
<pre>-----------------------HostA // 192.168.1.1------------------------           sda        NETWORK           sdb------------------------HostB // 192.168.1.2-------------------------</pre>
<p>Your task is copy HostA /dev/sda to HostB&#8217;s /dev/sdb using netcat command. First login as root user</p>
<h3>Command to type on hostB (receiving end ~ write image mode)</h3>
<p>You need to open port on hostB using netcat, enter :<br /> # netcat -p 2222 -l |bzip2 -d | dd of=/dev/sdb<br /> Where,</p>
<ul>
<li><strong>-p 2222</strong> : Specifies the source port nc should use, subject to privilege restrictions and availability. Make sure port 2222 is not used by another process.</li>
<li><strong>-l</strong> :  Used to specify that nc should listen for an incoming connection rather than initiate a connection to a remote host. </li>
<li><strong>bzip2 -d </strong> : Compresses image using the Burrows-Wheeler block sorting text compression algorithm, and Huffman coding. This will speed up network transfer ( -d : force decompression mode)</li>
<li><strong>dd of=/dev/sda</strong> : /dev/sda is your hard disk. You can also specify partition such as /dev/sda1</li>
</ul>
<h3>Command to type on hostA (send data over a network ~ read image mode)</h3>
<p>Now all you have to do is start copying image. Again login as root and enter:<br /> # bzip2 -c /dev/sda | netcat hostA 2222<br /> OR use IP address:<br /> # bzip2 -c /dev/sda | netcat 192.168.1.1 2222</p>
<p>This process takes its own time. </p>
<h2>A note about latest netcat version 1.84-10 and above</h2>
<p>If you are using latest nc / netcat version above syntax will generate an error. It is an error to use -l option in conjunction with the -p, -s, or -z options. Additionally, any timeouts specified with the -w option are ignored. So use nc command as follows.</p>
<p>On hostA, enter:<br /> # nc -l 2222 &gt; /dev/sdb<br /> On hostB, enter:<br /> # nc hostA 2222&lt; /dev/sda<br /> OR<br /> # nc 192.168.1.1 2222&lt; /dev/sda</p>
<p>Using a second machine (hostB), connect to the listening nc process at 2222 (hostA), feeding it the file (/dev/sda)which is to be transferred. You can use bzip2 as follows.<br /> On hostA, enter:<br /> # nc -l 2222 | bzip2 -d &gt; /dev/sdb<br /> On hostB, enter:<br /> # bzip2 -c /dev/sda | nc 192.168.1.1 2222</p>
<h2>Further readings</h2>
<ul>
<li>netcat command other usage - [5] <a href="http://www.cyberciti.biz/faq/linux-port-scanning/" rel="external">Linux port scanning with netcat (nc) command</a> (you can also use [6] <a href="http://www.cyberciti.biz/tips/linux-scanning-network-for-open-ports.html" rel="external">nmap command for port scanning</a>)</li>
<li>nc and bzip2 command man page</li>
<li>[7] <a href="http://www.terminally-incoherent.com/blog/2007/08/07/few-useful-netcat-tricks/" rel="external">A good collection of netcat command usage</a></li>
<li>[8] <a href="http://www.novell.com/coolsolutions/feature/19486.html" rel="external">Another good netcat disk image howto</a></li>
</ul>
<h2>How do I improve performance?</h2>
<p>As suggested by anonymous user:</p>
<blockquote><p>You should definitely use bs=16M or something like that. Otherwise, the copy will take forever. Copying a 300 GB hard drive over a 1 Gbps cross-over cable took about 1 1/2 hours or so using bs=16M Without this option, the same thing would have taken about 7 hours. </p>
</blockquote>
<p>In short use command as follows:<br /> # netcat -p 2222 -l |bzip2 -d | dd of=/dev/sdb bs=16M</p>
<p>Updated for accuracy.</p>
</p></div>
<hr class="Divider" />
<p>Article printed from nixCraft: <strong>http://www.cyberciti.biz/tips</strong></p>
<p>URL to article: <strong>http://www.cyberciti.biz/tips/howto-copy-compressed-drive-image-over-network.html</strong></p>
<p>URLs in this post:<br />[1] Image: <strong>http://www.cyberciti.biz/tips/category/networking/</strong><br />[2] karl: <strong>http://www.meme.com/</strong><br />[3] backup of all important data: <strong>http://www.cyberciti.biz/tips/perform-backups-for-the-linux-operating-system.html</strong><br />[4] apt-get command: <strong>http://www.cyberciti.biz/tips/linux-debian-package-management-cheat-sheet.html</strong><br />[5] Linux port scanning with netcat (nc) command: <strong>http://www.cyberciti.biz/faq/linux-port-scanning/</strong><br />[6] nmap command for port scanning: <strong>http://www.cyberciti.biz/tips/linux-scanning-network-for-open-ports.html</strong><br />[7] A good collection of netcat command usage: <strong>http://www.terminally-incoherent.com/blog/2007/08/07/few-useful-netcat-tricks/</strong><br />[8] Another good netcat disk image howto: <strong>http://www.novell.com/coolsolutions/feature/19486.html</strong></p>
<p>&nbsp;</p>
<p><span id="more-16"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://bitbud.com/2008/08/12/how-to-image-a-disk-over-the-network/feed/</wfw:commentRss>
		</item>
		<item>
		<title>USB device pass through to Virtual Machines</title>
		<link>http://bitbud.com/2008/08/12/usb-device-pass-through-to-virtual-machines/</link>
		<comments>http://bitbud.com/2008/08/12/usb-device-pass-through-to-virtual-machines/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[Like any good hypervisor, KVM will support USB pass-through.  There are just a few simple steps to make it happen.  My example will also addresses an issue with Ubuntu/ Debian, and you may need to make a similar adjustment on other distributions ( I think most require the change).
To use USB:
Start your Virtual [...]]]></description>
			<content:encoded><![CDATA[<p>Like any good hypervisor, <strong>KVM</strong> will support USB pass-through.  There are just a <strong>few simple steps</strong> to make it happen.  My example will also addresses an issue with Ubuntu/ Debian, and you may need to make a similar adjustment on other distributions ( I think most require the change).</p>
<p><strong>To use USB:</strong></p>
<p>Start your Virtual Machine, and then connect to the VM Monitor<br />In the VM Monitor, issue the following command:</p>
<blockquote><p>info usbhost</p>
</blockquote>
<p>Now you will see a listing of all the available USB devices, very similar to the command &#8216;lsusb&#8217; you can run from the host</p>
<blockquote><p>Device 5.2, speed 1.5 Mb/s<br />    Class 00: USB device 045e:0040, Microsoft 3-Button Mouse with IntelliEye(TM)<br />Device 3.2, speed 12 Mb/s<br />     Class 00: USB device 0bda:8150, Linksys USB LAN Adapter<br />Device 1.3, speed 480 Mb/s<br />     Class 00: USB device <strong><font color="#993300">0457:0151</font></strong>, USB Mass Storage Device</p></blockquote>
<p>Find the one in the list that you want to add to your running guest.  In my example above, I want to add the Mass Storage Device.  Note the hexadecimal code for the device, and type the following:</p>
<blockquote><p>usb_add host:<font color="#993300">0457:0151</font></p></blockquote>
<p>The <font color="#993300">0457:0151</font> matches the code for the device I want to add.</p>
<p><strong>You&#8217;re Done!</strong><br />Your guest OS will now recognize the USB device in it&#8217;s normal fashion, as though you had just plugged it in.
<p><strong>Troubleshooting:</strong><br />Did you receive the following error?</p>
<blockquote><p>Could not open /proc/bus/usb/devices</p></blockquote>
<p>There is an easy fix.  But some background&#8230;At some point in time, the location for the USB mount point changed from /proc/bus/usb  to /dev/bus/usb.  However, many application still reference the older location (such as <em>usbview</em>, and in this case <em>QEMU</em>).  There is an easy work around though:<br /><em><font color="#993300">NOTE: This is reported as a problem for VMWare Server and Virtual Box as well - the fix is the same regardless.</font></em></p>
<p>You need to simply re-enable the old mount point.  Using your favorite editor, open the file at: &#8216;/etc/init.d/mountdevsubfs.sh&#8217; </p>
<p>Look for the code after line 38 that is similar to this:</p>
<blockquote><p>#<br /># Magic to make /proc/bus/usb work<br />#<br />#mkdir -p /dev/bus/usb/.usbfs<br />#domount usbfs &#8220;&#8221; /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listm$<br />#ln -s .usbfs/devices /dev/bus/usb/devices<br />#mount &#8211;rbind /dev/bus/usb /proc/bus/usb</p></blockquote>
<p>and those last four lines so that it looks like this:</p>
<blockquote><p>#<br /> # Magic to make /proc/bus/usb work<br /> #<br /> mkdir -p /dev/bus/usb/.usbfs<br /> domount usbfs &#8220;&#8221; /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listm$<br /> ln -s .usbfs/devices /dev/bus/usb/devices<br /> mount &#8211;rbind /dev/bus/usb /proc/bus/usb</p></blockquote>
<p>Then run this command:</p>
<blockquote><p>sudo /etc/init.d/mountdevsubfs.sh start</p></blockquote>
<p><font color="#993300"><em>(Note again: The above fix is useful for other applications as well, including VMWare Server and Virtual Box)</em></font></p>
<p>Other info:<br /> At you Host&#8217;s terminal prompt, type: </p>
<blockquote><p>lsusb </p></blockquote>
<p>This will provide a listing of all USB devices on your host system.</p>
<p>In the VMMonitor, type:</p>
<blockquote><p><em>info usbhost<br /></em></p></blockquote>
<p>This will provide a listing of USB devices available to your VM Guest<br /><span id="more-14"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://bitbud.com/2008/08/12/usb-device-pass-through-to-virtual-machines/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Americans - We&#8217;re going to smash them</title>
		<link>http://bitbud.com/2008/08/11/the-americans-were-going-to-smash-them/</link>
		<comments>http://bitbud.com/2008/08/11/the-americans-were-going-to-smash-them/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[Au Contraire! 
What an exciting 3 minutes and 8 seconds&#8230; Jason Lezak bested the French anchor in the final leg of the Men&#8217;s 4 x 100m relay to set a new world record, and return the Gold medal to America in this event, of which the US had won 9 consecutive times since 1964, with [...]]]></description>
			<content:encoded><![CDATA[<p>Au Contraire! </p>
<p>What an exciting 3 minutes and 8 seconds&#8230; Jason Lezak bested the French anchor in the final leg of the Men&#8217;s 4 x 100m relay to set a new world record, and return the Gold medal to America in this event, of which the US had won 9 consecutive times since 1964, with a Silver in 2000, and a Bronze in 2004.</p>
<p>The Frenchman was quoted as saying, &#8220;The Americans? We&#8217;re going to smash them [ in the 4x100]. That&#8217;s what we came here for.&#8221;  Even the NBC announcers were saying that the French were going to win, and beat the world record (of which the other US relay team had set just the day before). </p>
<p>Ahh, the drama of the Olympics, when 32-year-old Lezak, the oldest member of the USA Men&#8217;s swim team had the fastest EVER split time to win by a fingertip, 8 one-hundreths of a second. 3:08.24 set a new world record.</p>
<p>My wife and I joke in the weeks before the Olympics about our own &#8216;training&#8217;, to stay up late to watch it on TV.  Well all that &#8216;training&#8217; payed off last night, as we watched in amazement as Lezak came from behind in the final leg to win the Gold!  We were jumping up and down, cheering and high-fiving!  Now we are going to be up late every night for the next two weeks&#8230;</p>
<p>Congratulations to Team USA, and to Jason Lezak, Cullen Jones, Garrett Weber-Gale, and Michael Phelps for a well deserved victory!</p>
<p>Did you watch the race?  What did you think?</p>
<p>&nbsp;</p>
<p><em>I try to keep my posts on IT issues, but the excitement of the Olympics last night has me briefly diverting.  I found this uncredited photo of the celebration: </em></p>
<p><img src="http://d.yimg.com/us.yimg.com/p/nm/20080811/2008_08_10t235450_293x450_us_olympics_swimming.jpg" border="0" alt="Victory for the USA Men's Relay Team" width="293" height="450" /><br /><span id="more-13"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://bitbud.com/2008/08/11/the-americans-were-going-to-smash-them/feed/</wfw:commentRss>
		</item>
		<item>
		<title>USB device passthrough under KVM</title>
		<link>http://bitbud.com/2008/08/09/usb-device-passthrough-under-kvm/</link>
		<comments>http://bitbud.com/2008/08/09/usb-device-passthrough-under-kvm/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[Like any good hypervisor, KVM will support USB pass-through.  There are just a few simple steps to make it happen.  My example will also addresses an issue with Ubuntu/ Debian, and you may need to make a similar adjustment on other distributions.
First, make sure you enable USB when you start your VM.  An very basic [...]]]></description>
			<content:encoded><![CDATA[<p>Like any good hypervisor, KVM will support USB pass-through.  There are just a few simple steps to make it happen.  My example will also addresses an issue with Ubuntu/ Debian, and you may need to make a similar adjustment on other distributions.</p>
<p>First, make sure you enable USB when you start your VM.  An very basic example startup script might be:</p>
<blockquote><p>qemu-system-x86_64 \<br /><font color="#ff0000">-usb \</font><br />-m 1024 \<br />-hda /home/dave/vm/myubuntu/mynewroot.qcow2</p></blockquote>
<p>&nbsp;</p>
<p>The key part being the <font color="#ff0000">-usb</font> command.</p>
<p>Plug the USB device into your VM Host system.</p>
<p>At a terminal prompt, type:</p>
<blockquote><p>lsusb</p></blockquote>
<p>This will provide a listing of all USB devices on your host system.  It is necessary to run the command here, but I thought it would be a useful viewpoint.</p>
<p>Now, start your VM, and switch to the VM Monitor (Press Ctrl-Alt-2).  If the VM is already running, just switch to the VM Monitor. </p>
<p>In the VMMonitor, type:</p>
<blockquote><p><em>info usbhost</em></p></blockquote>
<p>You will likely receive the following error:</p>
<blockquote><p>Could not open /proc/bus/usb/devices</p></blockquote>
<p>&nbsp;</p>
<p>There is an easy fix.  But some background&#8230;At some point in time, the location for the USB mount point changed from /proc/bus/usb  to /dev/bus/usb (probably because USB should be used out of userspace).  However, many application still reference the older location (such as <em>usbview</em>, and in this case <em>QEMU</em>).  There is an easy work around though:<br /><em><font color="#993300">NOTE: This is reported as a problem for VMWare Server and Virtual Box as well - the fix is the same reguardless.</font></em></p>
<p>You need to simply re-enable the old mount point.  Using your favorite editor, open the file at: &#8216;/etc/init.d/mountdevsubfs.sh&#8217; </p>
<p>Look for the code after line 38 that is similar to this:</p>
<blockquote><p>#<br /># Magic to make /proc/bus/usb work<br />#<br />#mkdir -p /dev/bus/usb/.usbfs<br />#domount usbfs &#8220;&#8221; /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listm$<br />#ln -s .usbfs/devices /dev/bus/usb/devices<br />#mount &#8211;rbind /dev/bus/usb /proc/bus/usb</p></blockquote>
<p>and those last four lines so that it looks like this:</p>
<blockquote><p>#<br /> # Magic to make /proc/bus/usb work<br /> #<br /> mkdir -p /dev/bus/usb/.usbfs<br /> domount usbfs &#8220;&#8221; /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listm$<br /> ln -s .usbfs/devices /dev/bus/usb/devices<br /> mount &#8211;rbind /dev/bus/usb /proc/bus/usb</p></blockquote>
<p>Then run this command:</p>
<blockquote><p>sudo /etc/init.d/mountdevsubfs.sh start</p></blockquote>
<p><font color="#993300"><em>(Note again: The above fix is useful for other applications as well, including VMWare Server and Virtual Box)</em></font></p>
<p>Now you can return to the VM Monitor:</p>
<blockquote><p>info usbhost</p>
</blockquote>
<p>Now you will see a listing of all the available USB devices.  Find the one in the list that you want to add to your running guest, and type the following:</p>
<blockquote><p>usb_add host:04f9:0028</p></blockquote>
<p>&nbsp;</p>
<p><span id="more-12"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://bitbud.com/2008/08/09/usb-device-passthrough-under-kvm/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Secure File Sharing with SSHfs</title>
		<link>http://bitbud.com/2008/08/05/secure-file-sharing-with-sshfs/</link>
		<comments>http://bitbud.com/2008/08/05/secure-file-sharing-with-sshfs/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[SSHFS
OpenSSH is probably the most important IT administration tool - ever.  It allows for secure remote access to a system, with many tools built on top of the underlying encryption.  SSHfs is one of those tools.  SSHfs allows you to mount a remote file system, over the secure SSH protocol.  That is just plain cool.  [...]]]></description>
			<content:encoded><![CDATA[<p><strong>SSHFS</strong></p>
<p>OpenSSH is probably the most important IT administration tool - ever.  It allows for secure remote access to a system, with many tools built on top of the underlying encryption.  SSHfs is one of those tools.  SSHfs allows you to mount a remote file system, over the secure SSH protocol.  That is just plain cool.  Let me show you how you can be cool too:</p>
<p>My example is using Ubuntu 8.04.1 x64 Server w/ OpenSSH installed:</p>
<p>On the host, install the sshfs package.  On Ubuntu it is easy:</p>
<p>  sudo apt-get install sshfs</p>
<p>And load the kernel module:<br />  <br />  sudo modprobe fuse</p>
<p>Now from a remote system you can mount the host with:<br />  sudo sshfs &lt;yoursshuser&gt;@&lt;ipaddressofHostServer&gt;:/path/on/remote/system /local/mount/point</p>
<p>You now have secure access to the remote file system that you mounted in /local/mount/point.  I use this regularly.  I find it indispensable.  Do you?</p>
<p><strong>Virtualization Note:</strong></p>
<p>This is very useful in making it easy to copy &#8216;Raw&#8217; virtual disks using the &#8216;cp&#8217; command&#8217;s &#8217;sparse&#8217; options.  I&#8217;ll link to that upcoming article shortly. </p>
<p><span id="more-11"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://bitbud.com/2008/08/05/secure-file-sharing-with-sshfs/feed/</wfw:commentRss>
		</item>
		<item>
		<title>VM Raw Files revisted, using SSHfs and Sparse options</title>
		<link>http://bitbud.com/2008/08/01/vm-raw-files-revisted-using-sshfs-and-sparse-options/</link>
		<comments>http://bitbud.com/2008/08/01/vm-raw-files-revisted-using-sshfs-and-sparse-options/#comments</comments>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[What an ugly title&#8230;
I recommended using Raw files for your Virtual Machine&#8217;s virtual disks (see other post for the reasons), but it was brought to my attention, how do I copy these huge files?  Let&#8217;s look at that:
A Raw file is in a format that mimics a hard disk (block level).  It is supported in [...]]]></description>
			<content:encoded><![CDATA[<p>What an ugly title&#8230;</p>
<p>I recommended using Raw files for your Virtual Machine&#8217;s virtual disks (see other post for the reasons), but it was brought to my attention,<em> how do I copy these huge files</em>?  Let&#8217;s look at that:</p>
<p>A Raw file is in a format that mimics a hard disk (block level).  It is supported in &#8220;sparse&#8221; format on file systems that support &#8220;holes&#8221; (NTFS, Ext3 included).  What does that mean?  When I create a Raw format file, let&#8217;s say of 100 GB in size, and then do a directory listing, it reports it as using 100GB of space:</p>
<p>dave@itpc11:~$ qemu-img create -f raw myvirtualfile.raw 100GB<br />dave@itpc11:~$ ls -l<br />-rw-r&#8211;r&#8211; 1 dave dave <strong>107374182400</strong> 2008-08-01 15:26 myfile.raw</p>
<p><em>But wait?  My entire hard drive is only 40GB, how is this possible? </em> That is the sparse part of the file format, and the fact that Ext3 supports holes.  Run this command instead:</p>
<p>dave@itpc11:~$ <strong>ls -ls</strong><br /> <strong>0</strong> -rw-r&#8211;r&#8211; 1 dave dave 107374182400 2008-08-01 15:26 myfile.raw</p>
<p>Note the first value of 0.  The file is actually taking up no space (currently) on the hard disk.</p>
<p><em><strong>Here is the problem that was posed to me: </strong></em></p>
<p><em>When you try to copy the file, either to another computer, or even on the same computer, the system creates a copy that is 100GB in size!</em></p>
<p>That is true.  You need to tell the application you are using to copy the file with &#8220;sparse&#8221; file recognition enabled.  Only then will it copy just the data in use.</p>
<p>There are two ways that I do this.  I either use &#8220;cp&#8221; or &#8220;rsync&#8221;.  They both have support for sparse files.  However, I find that cp is a bit more efficient for simple copies.  Rsync must be used when you only want to copy changed bits (or any of the many other reasons you would use Rsync).</p>
<p>Some examples:</p>
<p><strong>To simple copy the file on the same computer from location A to location B:</strong></p>
<p>  cp &#8211;sparse=always /mydir/myfile.raw /mydir/mycopy.raw</p>
<p>This will be a fast copy</p>
<p>What if I need to copy to another computer, and I want to connect to that computer over SSH?</p>
<p>Typically, you would simple use Rsync, as it supports sparse and SSH.  However, I found Rsync&#8217;s sparse copy to be very slow.  I prefer to mount the remote location by a cool technique using SSHFS.</p>
<h1><strong>SSHFS</strong><br /></h1>
<blockquote></blockquote>
<p>OpenSSH is probably the most imporatant IT administration tool - ever.  SSHfs allows you to mount a remote file system, over the secure SSH protocol.  That is just plain cool.  We&#8217;ll use it here.</p>
<p>First, install the sshfs package.  On Ubuntu it is easy:</p>
<p>  sudo apt-get install sshfs</p>
<p>Now load the kernel module:<br />  <br />  sudo modprobe fuse</p>
<p>Now simply mount the remote file system to a local folder:</p>
<p>  sudo sshfs &lt;yoursshuser&gt;@&lt;ipaddressofserver&gt;:/path/on/remote/system /local/mount/point</p>
<p>Now you can use the cp command to copy the file to the remote server:<br />  sudo cp &#8211;sparse=always /mydir/myfile.raw /local/mount/point/mycopy.raw</p>
<p>&nbsp;</p>
<p>Other methods:<br />As you begin to deal with more virtual disks, and they are ever increasing in size, you may want to convert them over to QCOW2 format.  Much like the VMDK format, they report there size based on the actual space they are using.  In the above example, if it was converted to a QCOW2 format, the file size would not longer be listed as 100GB:</p>
<blockquote></blockquote>
<p>dave@itpc11:~$<br /><span id="more-10"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://bitbud.com/2008/08/01/vm-raw-files-revisted-using-sshfs-and-sparse-options/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
