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

<channel>
	<title>Stephen Foskett, Pack Rat &#187; LVM Archives  &#8211; Stephen Foskett, Pack Rat</title>
	<atom:link href="http://blog.fosketts.net/tag/lvm/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.fosketts.net</link>
	<description>Understanding the accumulation of data</description>
	<lastBuildDate>Fri, 10 Feb 2012 17:40:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com" />
	<atom:link rel="hub" href="http://superfeedr.com/hubbub" />
			<item>
		<title>Mac OS X Lion Adds CoreStorage, a Volume Manager (Finally!)</title>
		<link>http://blog.fosketts.net/2011/08/04/mac-osx-lion-corestorage-volume-manager/</link>
		<comments>http://blog.fosketts.net/2011/08/04/mac-osx-lion-corestorage-volume-manager/#comments</comments>
		<pubDate>Thu, 04 Aug 2011 19:22:32 +0000</pubDate>
		<dc:creator>Stephen</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Computer History]]></category>
		<category><![CDATA[Enterprise storage]]></category>
		<category><![CDATA[Everything]]></category>
		<category><![CDATA[Features]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Terabyte home]]></category>
		<category><![CDATA[10.7]]></category>
		<category><![CDATA[CoreStorage]]></category>
		<category><![CDATA[Lion]]></category>
		<category><![CDATA[LVM]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Veritas Volume Manager]]></category>
		<category><![CDATA[volume manager]]></category>
		<category><![CDATA[ZFS]]></category>

		<guid isPermaLink="false">http://blog.fosketts.net/?p=5973</guid>
		<description><![CDATA[Mac OS X was majorly deficient in that it lacked a volume manager. This wouldn't seem like a big deal to the average user, but held back the operating system in so many ways. A volume manager brings storage virtualization to an operating system, allowing storage capacity efficiently to be managed and manipulated. But all this has changed in Mac OS X 10.7 “Lion” with CoreStorage.]]></description>
			<content:encoded><![CDATA[<p>Apple fan boys won&#8217;t like to hear this, but Mac OS X was majorly deficient in an area near and dear to my heart. You see, unlike every other modern operating system, Mac OS X lacked a volume manager. This wouldn&#8217;t seem like a big deal to the average user, but it held back the operating system in many ways. A <a href="http://blog.fosketts.net/2008/02/21/volume-management-virtualizing-host-storage/" >volume manager</a> brings storage virtualization to an operating system, allowing storage capacity efficiently to be managed and manipulated. But all this has changed in Mac OS X 10.7 “Lion” with CoreStorage.</p>
<blockquote><p>You probably also want to read <a href="http://blog.fosketts.net/2011/06/06/storage-features-mac-os-107-lion/" >Key Storage Features in Mac OS X 10.7 “Lion”</a> and <a href="http://blog.fosketts.net/2011/06/13/storage-features-missing-lion/" >Three Key Storage Features Missing in Mac OS X “Lion”</a></p></blockquote>
<h3>Apple&#8217;s Storage Story: A Mixed Bag</h3>
<p>Apple&#8217;s file system, HFS+, is quite long in the tooth, dating back even before Mac OS X! Introduced in 1998&#8242;s Mac OS 8.1, HFS+ was extension of the original hierarchical file system (HFS) used by classic Mac operating systems back to System 2.1. But HFS+ has been extended and updated dramatically since those days, including the introduction of journaling in Mac OS 10.2.2, Unicode in 10.3, access control list-based file security in 10.4, and compression in 10.6.</p>
<p>The storage technology that underlies HFS+ has also improved dramatically over the years. Apple adopted EFI firmware and the GUID partition table (GPT) much more rapidly than the PC world. This allows Mac OS to scale to larger storage capacities than Windows systems, and has made the adoption of 4K sectors (so-called “advanced format”) much easier.  In fact, Apple is well ahead of the Windows world in these areas even as it lags with an outdated filesystem and no volume manager.</p>
<p>Mac OS never had much in terms of storage flexibility. Sure, AppleRAID brought some flexibility and redundancy to the server world, but the average Mac user never delved much into this technology. While Apple was asleep at the wheel, every other operating system vendor introduced a flexible volume manager. Even Microsoft, who is often criticized for slow innovation, is way ahead of Apple when it comes to data storage.</p>
<blockquote><p><strong>What is a volume manager? </strong>Volume managers add flexibility to operating system allocation of storage, acting as a virtualization layer between disks and file systems. This is important, since modern computer systems need to maintain a consistent filesystem image even as storage devices change. Volume managers like Symantec&#8217;s Veritas Volume Manager and the OSF LVM allow many operating systems this sort of flexible storage management. But Apple never had a volume manager of their own until the introduction of CoreStorage in Mac OS X “Lion”. Read more at <a href="http://blog.fosketts.net/2008/02/21/volume-management-virtualizing-host-storage/" >Volume Management: Virtualizing Host Storage</a>.</p></blockquote>
<h3>Introducing CoreStorage</h3>
<p>All this has changed in Mac OS X 10.7 (“Lion”), however. Although Mac OS never did get ZFS, as was planned in 10.5, the storage enhancements found in 10.7 are getting awfully close in terms of features. Along with integrated file versions and full disk encryption comes a new technology called CoreStorage, including a full logical volume manager.</p>
<p>CoreStorage became necessary due to the inclusion of full volume encryption in Lion. Previously, Apple&#8217;s FileVault encryption technology relied on regular files to contain an encrypted filesystem. This worked fine until the need became apparent to encrypt an entire volume, whether it is the operating system disk or a removable drive. Although file-based technology can work in these scenarios, it is much less than ideal and also less than what competing operating systems offer.</p>
<p>But enabling full volume encryption requires an abstraction layer that Mac OS X simply did not have. Apple appears to have taken the long route, engineering a complete volume manager rather than hacking together some sort of kludgy mechanism. Although it is only used for FileVault 2 at the moment, CoreStorage appears to be a full volume manager that could, in the future, boast advanced features like mirroring, snapshots, and online storage migration.</p>
<h3>CoreStorage Data Structures</h3>
<div id="attachment_5978" class="wp-caption aligncenter" style="width: 310px;  border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center; display: block; margin-right: auto; margin-left: auto;"><a href="http://static.fosketts.net/wp-content/uploads/2011/08/What-CoreStorage-Does-Today.jpg" ><img class="size-medium wp-image-5978" title="What CoreStorage Does Today" src="http://static.fosketts.net/wp-content/uploads/2011/08/What-CoreStorage-Does-Today-300x225.jpg" alt="" width="300" height="225" /></a><p style=' padding: 0 4px 5px; margin: 0;'  class="wp-caption-text">CoreStorage implements a full complement of data structures but uses them in a very simplistic manner currently.</p></div>
<p>Apple did not simply copy existing volume manager semantics, and it does not appear that CoreStorage is an OEM version of someone else&#8217;s product. Rather, there are some intriguing new innovations present in CoreStorage that point to exciting possibilities in the future.</p>
<p>Like most volume managers, the basic building block of CoreStorage is the “logical volume group” (LVG). Illustrated in blue and purple above, each LVG takes storage from a “physical volume” (PV) and presents it to the operating system as a “logical volume” (LV). In this way, storage from a physical disk is abstracted before used by the operating system, allowing a great deal of flexibility. This is somewhat analogous to a hypervisor presenting a virtual machine interface.</p>
<p>Apple goes a step further than most volume managers, however, with the introduction of a new concept, the “logical volume family” (LVF). The LVF specifies properties that will be inherited by logical volumes that it contains. Currently, the only property specified by an LVF is FileVault encryption, but one can imagine that performance characteristics or redundancy could also be specified in this manner.</p>
<h3>CoreStorage Today and Tomorrow</h3>
<p>Today, when full volume FileVault encryption is used, Mac OS X automatically converts the desired volume into a CoreStorage volume, and encapsulating the partition as a PV, importing it into an LVG, and setting up an LVF and LV to contain the new filesystem. Only one of each element is created in this way, and all capacity is allocated at creation time. So there isn&#8217;t much use for the entire stack right now.</p>
<div id="attachment_5979" class="wp-caption aligncenter" style="width: 310px;  border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center; display: block; margin-right: auto; margin-left: auto;"><a href="http://static.fosketts.net/wp-content/uploads/2011/08/What-You-Can-Make-CoreStorage-Do.jpg" ><img class="size-medium wp-image-5979" title="What You Can Make CoreStorage Do" src="http://static.fosketts.net/wp-content/uploads/2011/08/What-You-Can-Make-CoreStorage-Do-300x225.jpg" alt="" width="300" height="225" /></a><p style=' padding: 0 4px 5px; margin: 0;'  class="wp-caption-text">Using diskutil from the command line, one can create multiple logical volume families and logical volumes.</p></div>
<p>The Disk Utility GUI is fairly limited as well. Volumes can be converted to use FileVault 2, but all data is lost in this process. Only boot volumes can be corrected nondestructively through the GUI, and this happens in the Security &amp; Privacy preference pane rather than Disk Utility. When boot volumes are encrypted, Apple gives users the option to “escrow” the decryption key online using their MobileMe or iCloud account, but this is not allowed for other volumes.</p>
<p>Currently, whenever a volume is converted to using FileVault, it is also automatically converted to CoreStorage behind the scenes. And if encryption is turned off in the GUI, it is converted back (&#8220;reverted&#8221;) to whatever it was before. But it&#8217;s possible to convert a volume on the command line without encryption, and to remove encryption without reverting. It&#8217;s also possible to manually manipulate CoreStorage in other ways.</p>
<div id="attachment_5977" class="wp-caption aligncenter" style="width: 310px;  border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center; display: block; margin-right: auto; margin-left: auto;"><a href="http://static.fosketts.net/wp-content/uploads/2011/08/What-CoreStorage-Could-Do.jpg" ><img class="size-medium wp-image-5977" title="What CoreStorage Could Do" src="http://static.fosketts.net/wp-content/uploads/2011/08/What-CoreStorage-Could-Do-300x225.jpg" alt="" width="300" height="225" /></a><p style=' padding: 0 4px 5px; margin: 0;'  class="wp-caption-text">In the future, it should be possible to manipulate storage much more fully.</p></div>
<p>The fact that Apple included a full volume manager of their own making indicates a bright future for CoreStorage. Already, it is possible to use the command line utility, diskutil to nondestructively convert and encrypt volumes. It is also possible to manipulate volume groups, logical volume families (indirectly), and logical volumes to a limited extent using diskutil.  One hopes that future versions of Mac OS X will include additional functionality, including the ability to manipulate physical volumes.</p>
<h3>Stephen&#8217;s Stance</h3>
<p>Either Apple has big plans for CoreStorage, or some Apple software engineer got way ahead of himself and designed a complete logical volume manager just to house FileVault data! I think the former is likely, since we know that Apple wanted to include ZFS, a flexible combination volume manager and file system, in Mac OS X 10.5 but was unable to due to licensing concerns. Now two versions later, Lion includes all of the basic technology needed to effectively manage storage volumes. It is likely that the GUI simply lags behind this core technology, and we will see additional functionality added in later operating system revisions.</p>
<p>Regardless of intent, Mac OS X now includes a fairly full storage stack, from EFI and GPT through CoreStorage and HFS+. No longer is Apple behind the times in terms of core storage (if you pardon the pun) features. Now if only we could get them to implement iSCSI!</p>
<div id="crp_related"><h3>You might also want to read these other posts...</h3><ul><li><a href="http://blog.fosketts.net/2011/08/05/undocumented-corestorage-commands/"  rel="bookmark" class="crp_title">Undocumented CoreStorage Commands</a></li><li><a href="http://blog.fosketts.net/2011/06/13/storage-features-missing-lion/"  rel="bookmark" class="crp_title">Three Key Storage Features Missing in Mac OS X &#8220;Lion&#8221;</a></li><li><a href="http://blog.fosketts.net/2008/02/21/volume-management-virtualizing-host-storage/"  rel="bookmark" class="crp_title">Volume Management: Virtualizing Host Storage</a></li><li><a href="http://blog.fosketts.net/2011/06/06/storage-features-mac-os-107-lion/"  rel="bookmark" class="crp_title">Key Storage Features in Mac OS X 10.7 &#8220;Lion&#8221;</a></li><li><a href="http://blog.fosketts.net/guides/walkthrough-logical-volume-manager-linux/"  rel="bookmark" class="crp_title">Linux Logical Volume Manager Walkthrough</a></li></ul></div><script src="http://feeds.feedburner.com/~s/sfoskett?i=http://blog.fosketts.net/2011/08/04/mac-osx-lion-corestorage-volume-manager/" type="text/javascript" charset="utf-8"></script><hr />
<p><small>© sfoskett for <a href="http://blog.fosketts.net">Stephen Foskett, Pack Rat</a>, 2011. |
<a href="http://blog.fosketts.net/2011/08/04/mac-osx-lion-corestorage-volume-manager/">Mac OS X Lion Adds CoreStorage, a Volume Manager (Finally!)</a>
<br/>
This post was categorized as <a href="http://blog.fosketts.net/category/everything/apple/" title="View all posts in Apple" rel="category tag">Apple</a>, <a href="http://blog.fosketts.net/category/everything/computerhistory/" title="View all posts in Computer History" rel="category tag">Computer History</a>, <a href="http://blog.fosketts.net/category/everything/enterprisestorage/" title="View all posts in Enterprise storage" rel="category tag">Enterprise storage</a>, <a href="http://blog.fosketts.net/category/everything/" title="View all posts in Everything" rel="category tag">Everything</a>, <a href="http://blog.fosketts.net/category/features/" title="View all posts in Features" rel="category tag">Features</a>, <a href="http://blog.fosketts.net/category/everything/personal/" title="View all posts in Personal" rel="category tag">Personal</a>, <a href="http://blog.fosketts.net/category/everything/terabytehome/" title="View all posts in Terabyte home" rel="category tag">Terabyte home</a>. Each of my categories has its own feed if you'd like to filter out or focus on posts like this.<br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://blog.fosketts.net/2011/08/04/mac-osx-lion-corestorage-volume-manager/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<series:name><![CDATA[CoreStorage]]></series:name>
	</item>
		<item>
		<title>Volume Management: Virtualizing Host Storage</title>
		<link>http://blog.fosketts.net/2008/02/21/volume-management-virtualizing-host-storage/</link>
		<comments>http://blog.fosketts.net/2008/02/21/volume-management-virtualizing-host-storage/#comments</comments>
		<pubDate>Thu, 21 Feb 2008 16:00:38 +0000</pubDate>
		<dc:creator>Stephen</dc:creator>
				<category><![CDATA[Enterprise storage]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[LVM]]></category>
		<category><![CDATA[seminar]]></category>
		<category><![CDATA[Storage Decisions]]></category>
		<category><![CDATA[storage virtualization]]></category>
		<category><![CDATA[TechTarget]]></category>
		<category><![CDATA[Veritas]]></category>
		<category><![CDATA[volume management]]></category>

		<guid isPermaLink="false">http://blog.fosketts.net/2008/02/21/volume-management-virtualizing-host-storage/</guid>
		<description><![CDATA[I&#8217;ve been feverishly preparing for my upcoming TechTarget seminar series focused on storage virtualization, so I thought it might be interesting to post a few topics from the talk here on the blog.  If you&#8217;ll be in Washington DC on March 4, or Durham NC on March 6 and are interested in the world of [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been feverishly preparing for <a href="http://storagedecisions.techtarget.com/seminars/storage_virtualization.html"  target="_blank">my upcoming TechTarget seminar series focused on storage virtualization</a>, so I thought it might be interesting to post a few topics from the talk here on the blog.  If you&#8217;ll be in Washington DC on March 4, or Durham NC on March 6 and are interested in the world of storage and server virtualization, I&#8217;d love for you to <a href="http://registration.techtarget.com/events/register.do?name=storage_virt"  target="_blank">register and attend this free seminar</a>!</p>
<p>I&#8217;m kicking off with one of my favorite topics, logical volume management on servers.  This is the longest-standing and most-successful face of storage virtualization, and the one I was first exposed to.  Put simply, volume managers abstract block storage (LUNs, disks, partitions, what have you) into virtual “volumes” for use by the server.  They look the same to the OS, and still need a filesystem, but are much more flexible, as we&#8217;ll see.</p>
<p>Volume managers are very common today &#8211; all modern OSes (except for that one from Apple!) have volume managers built in.  Windows has the Logical Disk Manager, which I&#8217;m told was co-engineered (or something) with Veritas way back when and which <a href="http://searchstorage.techtarget.com/magazineFeature/0,296894,sid5_gci1257884,00.html"  target="_blank">I&#8217;ve covered in my Storage Magazine columns</a>.  Linux has an implementation of LVM, which <a href="http://blog.fosketts.net/2008/01/10/living-in-a-copyrighted-world/"  target="_blank">I wrote something about way back when</a>, and which has now <em>not</em> been supplanted by EVMS as had once been supposed.  AIX it&#8217;s own twist on the original LVM, as does HP-UX.  Solaris has the variously-named Solstice DiskSuite/Volume Manager which has evolved substantially in the 15 or so years I&#8217;ve been using it.  And <em>everyone</em> has Symantec&#8217;s Veritas Volume Manager/Foundation Suite, which we in &#8220;the biz&#8221; view with considerable admiration and some skepticism, as is the case with all good front runners!</p>
<p>Folks mostly use volume managers for flexibility.  It&#8217;s really quite amazing what you can do when your servers run them, enough that you often wonder how you got along without them!</p>
<ul>
<li>You can resize volumes (aka file systems or drives) on the fly (if your file system supports this as most modern ones do)</li>
<li>You can protect data with RAID, even if your storage doesn&#8217;t support it (think bare disk drives)</li>
<li>You can add storage capacity on the fly by concatenating new to old or (maybe) expanding existing stripes and RAID sets</li>
<li>You can mirror volumes, create snapshots, and even replicate data to remote locations (this functionality varies by product, of course)</li>
<li>One of the most powerful things (to me) was the ability to migrate live volumes from one storage device to another when making infrastructure changes</li>
</ul>
<p>In short, <strong>volume management = server-based storage virtualization</strong>!  So even if you were skeptical about the claims about storage virtualization, you might already be using it!  Amazingly, a good volume manager can do anything a storage virtualization appliance or enterprise storage array can do.  In fact, some virtualization appliances have more than a little volume management source code in them&#8230;</p>
<p>And the only cost for all this great stuff is the impact on your server&#8217;s CPU, memory, bus, access control, etc&#8230;  <img src='http://blog.fosketts.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>The chart below compares the major volume managers, and includes a little easter egg at the bottom&#8230;  But we&#8217;ll cover that on another day.</p>
<table border="1">
<tr align="center">
<th>Platform</th>
<th>Volume Manager</th>
<th>Notes</th>
</tr>
<tr>
<td>AIX</td>
<td>Logical Volume Manager</td>
<td>OSF LVM, no RAID 5, no copy-on-write snapshots</td>
</tr>
<tr>
<td>HP-UX 9.0+</td>
<td>HP Logical Volume Manager</td>
<td>OSF LVM, no RAID 5</td>
</tr>
<tr>
<td>FreeBSD</td>
<td>Vinum Volume Manager</td>
<td>No copy-on-write snapshots</td>
</tr>
<tr>
<td>Linux 2.2+</td>
<td>Logical Volume Manager and Enterprise Volume Management System</td>
<td>Based on OSF LVM, no RAID 5</td>
</tr>
<tr>
<td>Solaris</td>
<td>Solaris Volume Manager (was Solstice DiskSuite)</td>
<td>Limited allocation options, no copy-on-write snapshots</td>
</tr>
<tr>
<td>AIX, HP-UX, Linux, Solaris, Windows</td>
<td>Symantec Veritas Volume Manager (VxVM), Foundation Suite</td>
<td>Full-featured multi-platform volume manager</td>
</tr>
<tr>
<td>Windows 2000+</td>
<td>Logical Disk Manager</td>
<td>Co-developed with Veritas, limited allocation options, copy-on-write snapshots introduced in Server 2003</td>
</tr>
<tr>
<td>Solaris, BSD, Mac OS X 10.5+</td>
<td>ZFS</td>
<td>Combined filesystem and volume manager</td>
</tr>
</table>
<div id="crp_related"><h3>You might also want to read these other posts...</h3><ul><li><a href="http://blog.fosketts.net/guides/walkthrough-logical-volume-manager-linux/"  rel="bookmark" class="crp_title">Linux Logical Volume Manager Walkthrough</a></li><li><a href="http://blog.fosketts.net/2008/10/16/symantecs-thin-api-step-direction/"  rel="bookmark" class="crp_title">Symantec&#8217;s Thin API Is A Step In The Right Direction</a></li><li><a href="http://blog.fosketts.net/2011/04/26/5308/"  rel="bookmark" class="crp_title"></a></li><li><a href="http://blog.fosketts.net/2011/01/06/bridge-veritas-thin-provisioning-api/"  rel="bookmark" class="crp_title">The Bridge: Veritas Thin (Provisioning) API</a></li><li><a href="http://blog.fosketts.net/2011/08/04/mac-osx-lion-corestorage-volume-manager/"  rel="bookmark" class="crp_title">Mac OS X Lion Adds CoreStorage, a Volume Manager (Finally!)</a></li></ul></div><script src="http://feeds.feedburner.com/~s/sfoskett?i=http://blog.fosketts.net/2008/02/21/volume-management-virtualizing-host-storage/" type="text/javascript" charset="utf-8"></script><hr />
<p><small>© sfoskett for <a href="http://blog.fosketts.net">Stephen Foskett, Pack Rat</a>, 2008. |
<a href="http://blog.fosketts.net/2008/02/21/volume-management-virtualizing-host-storage/">Volume Management: Virtualizing Host Storage</a>
<br/>
This post was categorized as <a href="http://blog.fosketts.net/category/everything/enterprisestorage/" title="View all posts in Enterprise storage" rel="category tag">Enterprise storage</a>, <a href="http://blog.fosketts.net/category/everything/personal/" title="View all posts in Personal" rel="category tag">Personal</a>. Each of my categories has its own feed if you'd like to filter out or focus on posts like this.<br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://blog.fosketts.net/2008/02/21/volume-management-virtualizing-host-storage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

