How to Roll your own Fusion Drive

CAUTION: This can/will erase data. We won’t take any responsibility for data loss, this information is just presented for enterprising people to try out. We’ve tried this method ourselves and it seems to work, and it has also been reported to work by several readers.

Mac developer Patrick Stein (aka JollyJinx) has posted his experiment in attempting to create (and subsequently verifying) a Fusion Drive using only the standard 10.8.2 installation. Although his instructions are very detailed and mostly revolve around proving that it works, it’s remarkably straightforward, provided you have the right hardware and don’t mind messing around in the Terminal, as noted in by petterihiisila in this Macrumors thread.

First some clarification: a Fusion Drive is simply a regular hard disk drive (HDD) paired with a solid state drive (SSD). The Mac operating system links them together, presenting them as a single volume, shuffling data between them as it sees fit.

There are some caveats too (which also apply to the “genuine” Fusion Drive):

  • It will not be possible to access the Fusion Drive through Boot Camp
  • Software such as Parallels may not work
  • If either disk fails, you’ll likely lose the data on both
  • There are claims that this doesn’t produce the same result as a “genuine” Fusion drive
  • You may experience system instability
  • You may lose the Mountain Lion Recovery Partition
  • You will probably need to reinstall Boot Camp if you’re using it

What you’ll need – hardware

  • 1 x HDD (any capacity, we used a [amazon_link id=”B004VFJ9MK” target=”_blank” container=”” container_class=”” ]2 TB Western Digital Caviar Green[/amazon_link])
  • 1 x SSD (any capacity, we used a [amazon_link id=”B004W2JL2A” target=”_blank” container=”” container_class=”” ]256 GB Crucial M4[/amazon_link])
  • Mac OS 10.8.2 installed to another drive, or an 8 GB or greater USB boot drive

These both need to be internal drives, so this will likely only work on a Mac Pro, Mac Mini, or iMac (please chime in below if you know otherwise). They should already be installed and working correctly.

Both these drives will be erased!

You’ll also need to boot into Mac OS 10.8.2 via another drive to configure the disks (although you could certainly use an external drive for this purpose).

Converting to Fusion

First of all, neither of disks you plan to be using should be the disks that you’re currently running Mountain Lion from. If they are, you’ll need to reboot into OS X recovery (from a USB drive created by OS X Recovery Disk Assistant) or use a second Mac and put the soon-to-be Fusion enabled Mac into target disk mode.

Open Terminal (if you’re in the revoery mode, choose Utilities > Terminal) and type the following command:

diskutil list

This will give you a list of all the disks installed. Note the “/dev/disk#” descriptors, this is the important part. Make a note of the # for the SSD and the HDD that you want to merge, which we’ll refer to as {SSD#} and {HDD#} respectively (it’s critical that you get these right).

If you’re confused at this point, it’s probably best to stop here, because there’s a real risk of losing data if you proceed.

Final warning: the next step will erase the SSD and HDD.

Still with us? Type the following:

diskutil cs create Fusion disk{SSD#} disk{HDD#}

(replacing {SSD#} and {HDD#} with the numbers you jotted down previously).

Now type:

diskutil cs list

The part we are looking for now is the long “Logical Volume Group” ID, and will be something like “DE85044F-EADA-4F26-93B7-8CD0ADF006EC” (the first such code), which we’ll refer to as {groupID}.

Next, type:

diskutil cs createVolume {groupID} jhfs+ Fusion 99%

And we’re done! If you open Disk Utility, you should see a single “Fusion” drive sitting there.

Results

Having used a plain SSD drive for the past two years (and grown accustomed to the general speed and responsiveness of SSDs as a result), we’re pleased to report that there’s a negligible (subjective) difference in performance. For all intents and purposes, it’s as if we now have a very large SSD drive.

It’s still early days yet, and of course there aren’t yet any genuine Fusion Drives out for people to do performance testing, but for our purposes, it was well worth doing if for no other reason than to reduce the loading times of some of those larger games.

How did it go for you? Let us know in the comments.

Tips & Troubleshooting

  • I would recommend that you use Time Machine to backup and restore your data, unless you’re happy to go with a clean install.
  • If you do use Time Machine, I’d also recommend making sure your home folder is on your startup drive (usually it is, unless you’ve deliberately moved it; if you did previously move it, move it back before following these instructions).
  • We ran into trouble trying to do a direct restore from Time Machine to the Fusion drive, and had to do is a reinstall followed by a Time Machine restore at the end (which presented its own set of problems)
  • If you only want to allocate a certain portion of your drives to Fusion, you can change the “99%” parameter in the last part to something else (you can specify the amount in GB if you want by using a “G”, such as 500G).
  • This method has also been reported to work in combining more than two drives together. Simply add the additional drives to the end of the “diskutil cs create” step.
  • Avoid using any third-party SSD-related utilities after this (including the TRIM enabler)
  • If you have Boot Camp already installed to one of the disks you want to use, you can reportedly just use the Mac partition ID rather than the disk ID.
  • If you want to backup a Windows partition and restore it later, you can use WinClone
  • To go back to having separate drives, use “diskutil cs deleteVolume {volumeID}” followed by “diskutil cs delete {groupID}” (this will erase all data on the fusion drive), where {volumeID} is the ID of the “Logical Volume” shown in “diskutil cs list”
  • The instructions above leave 1% of space to allow a recovery partition to be created. You can also try this script after the fact, which may or may not work.
Advertisement

5 Comments

    Dave rose says:

    I’m getting the error -69780: unable to create a new corestorage logical volume following the above commands …. Any ideas?

      NinjaFoodstuff says:

      Need more information, Apple’s documentation on error codes is practically non-existent.
      Can you paste the output of “diskutil cs list”

      First thing I would do is verify the disks in disk utility, and make sure the partitions are set as GUID.

    Gareth says:

    After booting from a clean 10.8.2 located on an external, I used the following

    diskutil cs create “Fusion” disk{SSD#} disk{HDD#}

    e.g.

    diskutil cs create “Fusion” disk0 disk1

    for the next command I used

    diskutil coreStorage createVolume {groupID} jhfs+ “Macintosh HD” 100%

    You don’t need to hold back the 1% because the 10.8 installer will create the recovery partition itself.

    I then installed a clean 10.8.2 from an external and then used the Migration tool from a clone to bring over the apps etc.

    All went fine. 2010 imac quad i7 with 256GB factory SSD and 2TB factory HD, result: one 2.24GB Fusion drive.

      NinjaFoodstuff says:

      Thanks for the info! When I tried it with 100% with a clean install, no recovery partition was created. I’ve yet to see if it will work with 99%

        Gareth says:

        I confirmed by booting with cmd-R and Opt that the Recovery Partition is there. Maybe because both the SSD and HD were both factory originals, but it all was fine.

Your thoughts on this?