<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:series="http://unfoldingneurons.com/"
	xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
xmlns:rawvoice="http://www.rawvoice.com/rawvoiceRssModule/"
>

<channel>
	<title>Gestalt IT &#187; MFT Archives  &#8211; Gestalt IT</title>
	<atom:link href="http://gestaltit.com/tag/mft/feed/" rel="self" type="application/rss+xml" />
	<link>http://gestaltit.com</link>
	<description>Independent Experts United</description>
	<lastBuildDate>Wed, 08 Feb 2012 17:00:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<image>
			<title>Gestalt IT</title>
			<url>http://gestaltit.com/wp-content/uploads/2009/02/gestalt-it-feedicon-21.png</url>
			<link>http://gestaltit.com</link>
			<width>144</width>
			<height>37</height>
			<description>Independent Experts United</description>
		</image><!-- podcast_generator="Blubrry PowerPress/2.0.4" -->
	<itunes:summary>Gestalt IT is a community of independent IT infrastructure experts. We gather at GestaltIT.com and our Tech FIeld Day events to discuss the topics of the day. This podcast includes video and audio recordings of these discussions.</itunes:summary>
	<itunes:author>Stephen Foskett</itunes:author>
	<itunes:explicit>no</itunes:explicit>
	<itunes:image href="http://gestaltit.com/wp-content/uploads/powerpress/Gestalt_IT_Tech_Field_Day_Roundtable_Podcast_600.png" />
	<itunes:owner>
		<itunes:name>Stephen Foskett</itunes:name>
		<itunes:email>stephen@fosketts.net</itunes:email>
	</itunes:owner>
	<managingEditor>stephen@fosketts.net (Stephen Foskett)</managingEditor>
	<itunes:subtitle>The best independent IT commentary</itunes:subtitle>
	<itunes:keywords>Storage, Virtualization, Networking, IT</itunes:keywords>
	<image>
		<title>Gestalt IT &#187; MFT Archives  &#8211; Gestalt IT</title>
		<url>http://gestaltit.com/wp-content/uploads/powerpress/Gestalt_IT_Tech_Field_Day_Roundtable_Podcast_144.png</url>
		<link>http://gestaltit.com</link>
	</image>
	<itunes:category text="Technology" />
	<itunes:category text="Business" />
	<itunes:category text="Technology">
		<itunes:category text="Tech News" />
	</itunes:category>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com" />
	<atom:link rel="hub" href="http://superfeedr.com/hubbub" />
			<item>
		<title>Enterprise Computing: Thin Provisioning and The Cookie Monster!</title>
		<link>http://gestaltit.com/all/tech/storage/chris/enterprise-computing-thin-provisioning-and-the-cookie-monster/</link>
		<comments>http://gestaltit.com/all/tech/storage/chris/enterprise-computing-thin-provisioning-and-the-cookie-monster/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 21:45:35 +0000</pubDate>
		<dc:creator>Chris Evans</dc:creator>
				<category><![CDATA[Server Virtualization]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[Cookie Monster]]></category>
		<category><![CDATA[Enterprise Computing]]></category>
		<category><![CDATA[File System]]></category>
		<category><![CDATA[gestaltit]]></category>
		<category><![CDATA[MFT]]></category>
		<category><![CDATA[NTFS]]></category>
		<category><![CDATA[Tech Field Day]]></category>
		<category><![CDATA[Thick Provisioning]]></category>
		<category><![CDATA[thin provisioning]]></category>
		<category><![CDATA[VMFS]]></category>
		<category><![CDATA[Zero Block Reclaim]]></category>

		<guid isPermaLink="false">http://thestoragearchitect.com/?p=895</guid>
		<description><![CDATA[The Gestalt IT Field Day was a great success in bringing together a mixture of delegates from varying discplines. Following the presentations from 3Par and Symantec, there was heated debate about the implementation of Thin Provisioning and the ability to reclaim released storage resources. This post covers the basic concepts of Thin Provisioning and more [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.thestoragearchitect.com%2F2009%2F11%2F17%2Fenterprise-computing-thin-provisioning-and-the-cookie-monster%2F"  onclick="pageTracker._trackPageview('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.thestoragearchitect.com_2F2009_2F11_2F17_2Fenterprise-computing-thin-provisioning-and-the-cookie-monster_2F&amp;referer=');"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.thestoragearchitect.com%2F2009%2F11%2F17%2Fenterprise-computing-thin-provisioning-and-the-cookie-monster%2F" height="61" width="51" /></a></div>
<p>The <a href="http://gestaltit.com/featured/top/stephen/tech-field-day-1/"  onclick="pageTracker._trackPageview('/outgoing/gestaltit.com/featured/top/stephen/tech-field-day-1/?referer=');">Gestalt IT Field Day</a> was a great success in bringing together a mixture of delegates from varying discplines. Following the presentations from 3Par and Symantec, there was <strong>heated debate</strong> about the implementation of Thin Provisioning and the ability to <strong>reclaim</strong> released storage resources. This post covers the basic concepts of Thin Provisioning and more importantly how deleted resources can be recovered over time.</p>
<p><strong>Thin Provisioning Primer</strong></p>
<p>The underlying concept of thin provisioning is pretty simple; provide storage resources to those requesting it <strong>only</strong> as they need it.</p>
<p><a rel="nofollow" href="http://thestoragearchitect.files.wordpress.com/2009/11/tp-example-1.jpg"  onclick="pageTracker._trackPageview('/outgoing/thestoragearchitect.files.wordpress.com/2009/11/tp-example-1.jpg?referer=');"><img class="alignright size-medium wp-image-897" style="margin:5px;" title="TP Example 1" src="http://thestoragearchitect.files.wordpress.com/2009/11/tp-example-1.jpg?w=300" alt="" width="180" height="167" /></a>Think of a standard <strong>&#8216;thick provisioned&#8217;</strong> environment.  As thick LUNs are created, the storage is assigned and mapped to that LUN to the <strong>full extent</strong> of the size requested.  See, the first graphic, which shows a RAID group of four 5GB drives.  I&#8217;ve assumed &#8220;RAID-0&#8243; here for simplification, i.e. no RAID overhead.  Each LUN (coloured separately) is made up from a 1GB slice of the available disks.  Thick provisioning is great if the LUNs are all 100% allocated.  In that instance, 100% of the available physical space is used up.  However, it is never the case that <strong>100%</strong> of a LUN is used and so wastage exists. </p>
<p>Look at the second graphic.  This shows how <strong>thin provisioned</strong> LUNs work.  As storage is requested by the LUN, the space is mapped to physical blocks of storage.  In this <a rel="nofollow" href="http://thestoragearchitect.files.wordpress.com/2009/11/tp-example-2.jpg"  onclick="pageTracker._trackPageview('/outgoing/thestoragearchitect.files.wordpress.com/2009/11/tp-example-2.jpg?referer=');"><img class="alignright size-medium wp-image-901" title="TP Example 2" src="http://thestoragearchitect.files.wordpress.com/2009/11/tp-example-2.jpg?w=292" alt="" width="175" height="180" /></a>example, none of the logical LUNs are <strong>fully utilised</strong> and so don&#8217;t consume their full theoretical capacity.  This means that the pool of space can be over-subscribed and a sixth new LUN created.  Obviously there&#8217;s no such thing as a <strong>free lunch</strong> or infinite storage resources and in this example if a further five blocks are requested then physical space would be exhausted.  The next request for a new storage block would result in an error situation and this represents the main concern with <strong>over-subscribing</strong> thin provisioned volumes.</p>
<p>Now we get the concept of thin provisioning, there are a further two aspects to consider.  Firstly, when we say a LUN isn&#8217;t <strong>100% utilised</strong>, what to we mean?  Second, how can deleted blocks be <strong>returned</strong> to our free physical pool?</p>
<p><a rel="nofollow" href="http://thestoragearchitect.files.wordpress.com/2009/11/defrag1.jpg"  onclick="pageTracker._trackPageview('/outgoing/thestoragearchitect.files.wordpress.com/2009/11/defrag1.jpg?referer=');"><img class="alignright size-medium wp-image-903" title="Defrag1" src="http://thestoragearchitect.files.wordpress.com/2009/11/defrag1.jpg?w=300" alt="" width="300" height="129" /></a>As LUNs are presented to hosts, they are formatted with a <strong>file system</strong>, for example on Windows it&#8217;s <strong>NTFS</strong>; a VMware environment would use <strong>VMFS</strong>.  The file system will have a standard layout which determines where the file index sits and the method in which files are allocated onto the disk.  Have a look at the third graphic.  This is a map of the C:\ drive for one of my servers.  Each block represents approximately <strong>22MB</strong>.  You can clearly see the MFT (NTFS index) in the centre of the volume.  A <strong>large percentage</strong> of the disk is unused.  In a thin provisioned environment, storage would have been requested only for the blocks with valid data and in this way, a LUN can be <strong>less</strong> than 100% allocated. </p>
<p>OK, so what happens if I create some files then <strong>delete</strong> them on the file system?  Most file systems remove a file by deleting the entry in the index rather than physically overwriting the file contents with binary zeros.  This is <strong>quick </strong>and <strong>efficient</strong> (if not slightly unsafe security wise).  The actual data isn&#8217;t <strong>overwritten</strong> and it is this &#8216;logical&#8217; deletion that enables undelete utilities to work.  The trouble is, most disk arrays are not <strong>file system aware</strong> and so can&#8217;t detect the logical deletion of a file.  Those arrays that offer thin provisioning typically detect unwanted space by looking for blocks containing only <strong>&#8216;binary zeros&#8217;</strong>.  This means simply deleting files will <strong>not</strong> release unused space back to the free block pool (except for one storage device I&#8217;ll discuss in more detail another time, that&#8217;s <strong>Drobo</strong>). Arrays which are capable of recovering unused space need to see data overwritten in order to recover it.</p>
<p>This (finally) brings us to the cookie analogy.  Imagine <strong>cookies</strong> are my free pool blocks.  There are a number of ways in which storage arrays operate in handling thin provisioning &#8211; different cookie monster personalities:</p>
<ul>
<li><strong>The Greedy Cookie Monster;</strong> grabs all the cookies he thinks he might eat, but never eats all of them and never returns any &#8211; this is the thick provisioning model.</li>
<li><strong>The Selfish Cookie Monster;</strong> only grabs cookies as he gets hungry but if he doesn&#8217;t eat them immediately, doesn&#8217;t give them back &#8211; this is thin provisioning with no zero block reclaim.  Eventually thin provisioning will become thick as all logical blocks in a LUN become mapped to physical storage.</li>
<li><strong>The Nice Cookie Monster;</strong> takes the cookies as he gets hungry but only returns uneaten cookies if asked &#8211; this is thin provisioning with manual zero block reclaim.  A manual process is required to zero out the unused space and to return it to the free pool.</li>
<li><strong>The Saintly Cookie Monster;</strong> takes the cookes as he gest hungry and offers them back immediately he realises he can&#8217;t eat them  &#8211; this is thin provisioning with automatic zero block or free space reclaim. </li>
</ul>
<p>So, of the storage arrays out there offering thin provisioning, which fit the various Cookie Monster personality types?  I&#8217;ll leave that for you to guess.</p>
<div id="crp_related"><h3>You might also want to read these other posts...</h3><ul><li><a href="http://gestaltit.com/all/tech/storage/chris/enterprise-computing-has-emc-slipped-zero-block-reclaim-into-v-max/"  rel="bookmark" class="crp_title">Enterprise Computing: Has EMC Slipped Zero Block Reclaim Into V-Max?</a></li><li><a href="http://gestaltit.com/all/tech/storage/chris/thin-provisioning-holy-grail-utilisation/"  rel="bookmark" class="crp_title">Why Thin Provisioning Is Not The Holy Grail for Utilisation</a></li><li><a href="http://gestaltit.com/all/tech/storage/chris/drobo-pro-hyper-v/"  rel="bookmark" class="crp_title">DroboPro – Hyper-V’s Best Friend!</a></li><li><a href="http://gestaltit.com/all/tech/storage/chris/enterprise-computing-the-wide-striping-debate/"  rel="bookmark" class="crp_title">The Wide Striping Debate</a></li><li><a href="http://gestaltit.com/all/tech/storage/chris/review-drobopro-%e2%80%93-part-ii/"  rel="bookmark" class="crp_title">Review: DroboPro – Part II</a></li></ul></div><script src="http://feeds.feedburner.com/~s/sfoskett?i=http://gestaltit.com/all/tech/storage/chris/enterprise-computing-thin-provisioning-and-the-cookie-monster/" type="text/javascript" charset="utf-8"></script><hr />
<p><small>© Chris for <a href="http://gestaltit.com">Gestalt IT</a>, 2009. |
<a href="http://gestaltit.com/all/tech/storage/chris/enterprise-computing-thin-provisioning-and-the-cookie-monster/">Enterprise Computing: Thin Provisioning and The Cookie Monster!</a>
<br/>
Read more posts categorized as <a href="http://gestaltit.com/category/all/tech/virtualization/" title="View all posts in Server Virtualization" rel="category tag">Server Virtualization</a>, <a href="http://gestaltit.com/category/all/tech/storage/" title="View all posts in Storage" rel="category tag">Storage</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://gestaltit.com/all/tech/storage/chris/enterprise-computing-thin-provisioning-and-the-cookie-monster/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

