April 28, 2015

Mac OS X Lion Adds CoreStorage, a Volume Manager (Finally!)

CoreStorage implements a full complement of data structures but uses them in a very simplistic manner currently.

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.

Undocumented CoreStorage Commands

The commands are there to make CoreStorage do some cool things. But they don't quite work and aren't quite public...

I am pleased to note that CoreStorage, the volume manager in Mac OS X Lion, is much more functional than I had guessed, including a number of undocumented but seemingly functional commands for on-the-fly resizing of logical volumes as well as manipulation of physical volumes.

Fun Mac OS X Storage Tricks with CoreStorage

It may look overly technical, but this is some awesome storage mojo!

Mac OS X 10.7 “Lion” added a volume manager called CoreStorage, a development I was gleeful to report last year. But what can you do with CoreStorage? Here are some examples.

Non-Destructively Convert an Existing Drive to CoreStorage

After the reboot we have a whole CoreStorage stack

The first step to storage bliss is conversion: Mac OS X can non-destructively convert an existing drive to CoreStorage! From there you’re free to resize it, create new volumes, and pretty much anything else you’re interested in doing to your drives!

Non-Destructively Resize an Existing Drive with CoreStorage

The CoreStorage resizeVolume command includes a dynamic progress bar

My next step was to resize my existing drive to make room for a new logical volume. CoreStorage can resize a drive non-destructively, moving existing data aside and clearing capacity for other uses.

How To Add a New CoreStorage Volume

The CoreStorage createVolume command does it all!

After resizing the existing volume, I decided to create a new drive to store Final Cut Pro data. The CoreStorage createVolume command made short work of this task!