Fusion Drive

Volume 16, Issue 6; 29 Apr 2013

Logical Volume Management on the Mac.

I recently became aware of “Fusion Drive” (thanks Justin!) and was immediately anxious to try it out. Fusion Drive (or whatever it's officially called) is the OS X version of Logical Volume Management.

Ever since I installed the second drive in this laptop a couple of years ago, I've been frustrated by the inability to make the setup more transparent. On Linux, I'd use binding mounts to map across drives, but that's not possible on OS X.

The result, simply having and using two drives, isn't unworkable in any sense, but it has two significant drawbacks:

  • There's a certain amount of cognitive load associated with remembering which files are on /Volumes/Data/… and which are simply on /… or ~/….

  • Free space has to be managed on the two drives independently. Having 20G free on / and 30G free on /Volumes/Data does not mean there's room for a 40G file.

Enter Fusion. Fusion makes a single logical volume out of the two drives; /Volumes/Data no longer exists as an independent entity, instead there's a single ~870G filesystem spread across a 120G of SSD and a 750G of spinning rust.

Sweet!

Installing it required a complete backup as both drives need to be reformatted. I did a complete reinstall from scratch, booting 10.8.3 off a USB stick. Restoring from backups wobbled a little bit. I booted off the USB version of the old / partition and attempted a restore with SuperDuper! but it rebooted part way through. Migration Assistant was the utterly useless pile of crud I expected it to be. A second attempt to restore with SuperDuper! went fine. I then rsync’d the backup of /Volumes/Data into /Data and started manually moving things around, fixing filenames in shell scripts, etc.

All in all, a few days of fiddling and it's working like a charm.

Behind the scenes, OS X manages the drives, moving “hot” files onto the SSD and “cold” files onto the spinning rust. Performance doesn't seem to suffer except very occasionally when it suffers dramatically. Sometimes, just sometimes, some file access will take a long time. On the order of 10s of seconds.

In fairness, I noticed that several times early on, when I was moving a lot of things around. After a week of “normal” use, I haven't noticed it happening anymore. But I suppose it could at any minute.

The cognitive relief of having a single drive easily overshadows any occasional inconvenience.

Comments

Historically when I've had to put up with this (mostly on old Sun pizza boxes running Solaris) I just use strategically placed symbolic links. Not quite as good as binding mounts, but tolerable.

—Posted by John Cowan on 30 Apr 2013 @ 12:25 UTC #