Search This Blog

Saturday 17 November 2012

How to make your own Fusion Drive



Fusion Drive gives you the best of two worlds: the high storage capacity of a traditional platter-based hard drive, and the speed boost of a solid-state drive, without you having to manually manage files. Apple offers the Fusion Drive as build-to-order options for the $799 Mac mini and the upcoming iMac, but if you are willing, able, and have the parts, you can make your own Fusion Drive.
To build a Fusion Drive, you need to use the Terminal. We're going to lay out the commands you need in a way that most can understand, and you don't need to enter a lot of them. However, a warning to anyone who has never used the Terminal: Working with the Terminal isn't as simple as a graphic interface, as spelling counts and you don't always have a nice list of commands. You also need to be using OS X 10.8.2 or later.

Gather your drives

1TB Apple HDD and 250GB OWC Mercury Extreme SSDALBERT FILICE
1TB Hitachi hard drive (from a Mac mini) and 250GB OWC Mercury Extreme SSD.
You need two drives to make a Fusion Drive, and if you want to get the speed boost, one should be an SSD. In our setup, we used a Hitachi 1TB 2.5-inch hard drive (the one that ships in a Mac mini) and a 240GB OWC Mercury Extreme Pro 6G SSD.
Apple chooses the drives they use based on extensive testing, which is why they recommend buying a Fusion Drive at the point of purchasing your Mac. Apple does not support users who have built their own Fusion Drive. (In our lab experiments, I was able to create a Fusion Drive with two flash thumb drives.)

Back up your data

If you have anything that you want to keep on either of the drives, now is the time to back it up: linking the drives with CoreStorage, the technology behind the Fusion Drive, will erase them completely. If you need help with backing up your data, check out our guide on how to back up your data with Time Machine or, if you don't need to save absolutely everything on your drive, our more generic guide on backing up your data.

Bust open Terminal

CoreStorage Terminal CommandsALBERT FILICE
A list of Disk Utility's CoreStorage Terminal commands
The Disk Utility application (Application > Utilities > Disk Utility) doesn't support the management or creation of Fusion Drives in its graphical interface, and knowing Apple, it might not ever support it. To create the Fusion Drive, we'll use Disk Utility, but the command line version that comes with every Mac. (Learn more about the Disk Utility command line.)
If you aren't going to include the drive you booted from in a Fusion Drive, you can open the Terminal app (Applications > Utilities > Terminal). This would be the case, say, if you're using a Mac Pro with multiple drive bays, since you can format them both externally.
If you want to include your current boot drive as part of the Fusion Drive, you're going to need to boot into recovery mode and run Terminal from there. The CoreStorage process used to "fuse" the drives also formats them, and you can't do that to a drive used as the boot drive. You can boot into recovery mode by holding Command+R when starting up your Mac, and open Terminal from there.
One last thing to note: If you're using a Mac currently in Apple's product line, such as the 13-inch Retina MacBook Pro or the new Mac mini, you can't use just any old install disc as a boot disc. Those machines require a special version of Mountain Lion that's not yet in the App Store. So in this circumstance, recovery mode is your best bet.

Make the drive

Once you have the Terminal open, you're ready to get to creating the Fusion Drive.
List the drives you system can see. Use the following command to list the drives attached to your system:
diskutil list
This will list the drives like this:
A list of the attached devices using TerminalALBERT FILICE
A list of attached devices using the command "diskutil list"
The drive mount points are labeled /dev/disk#. Make a note of the mount points for the disks you want to make into a Fusion Drive. In our example, /dev/disk0 is the boot disk, while /dev/disk1 and /dev/disk2 are the SSD and hard drive (respectively) that we want to put together as a Fusion Drive. An easy way to tell drives apart is by their size and their name. Make sure you don't confuse them, as the Terminal doesn't give much warning before wiping your drive.
Create a logical volume group.  Let's create a CoreStorage logical volume group, the pool of data that will be made from the combined space of our physical drives. Use the following format of the diskutil command:
diskutil coreStorage create nameYourThing drive1 drive2
Going off the example using /dev/disk1 and /dev/disk2 as the drives to combine, I simply type:
diskutil coreStorage create myLogicalVolGroup /dev/disk1 /dev/disk2
When the process is done, your logical volume group should be completed and the command will finish by presenting you with a unique identifier for the group, which you should copy to your clipboard. It should look similar to this:
Output of diskutil coreStorage createVolume commandALBERT FILICE
The UUID is the unique identifier you want to copy
Create a logical volume. Now that we have a logical volume group, we can create the logical volume, what your Mac will recognize as a single drive. Use the following format of the diskutil command:
diskutil coreStorage createVolume lvgUUID type name size
  • lvgUUID is the unique identifier you copied from the previous step.
  • type use Journaled HFS+ (typed as jhfs+).
  • name can be whatever you want to name the drive (traditionally "Macintosh HD"). Make sure you use quotes if there's a space in the name.
  • size is how much of the "pool" that you want to make into a drive, using the following suffixes: B(ytes), S(512-byte-blocks), K(ilobytes), M(egabytes), G(igabytes), T(erabytes), P(etabytes), or (%) a percentage of the current size of the logical volume group.
Going off my previous example, my command would look like this:
diskutil coreStorage createVolume 50B457C3-ADC6-4EDC-9ABA-FD8C6EEDE69A jhfs+ "Macintosh HD" 100%
Output of diskutil coreStorage create commandALBERT FILICE
The final command to create the Fusion Drive can be seen at the top of the Terminal screen
That will create a volume named Macintosh HD, and fill the entire logical volume group (100%), or all the space on the two drives.

No comments: