When Apple updates the OS and Disk Utility to include general support for a Fusion drive, you’ll be able to create your own Fusion drive easily. In the meantime, you can accomplish the same thing using Terminal.
Fusion Drive: an Overview
In October 2012, Apple introduced iMacs and Mac minis with a new storage option: the Fusion drive. A Fusion drive is actually two drives in one. The original included a 128 GB SSD (Solid State Drive) and a standard 1 TB or 3 TB platter-based hard drive. The Fusion drive combines the SSD and the hard drive into a single volume that the OS sees as a single drive. Apple describes the Fusion drive as a smart drive that dynamically moves the files that you use most often to the SSD portion of the volume, ensuring that frequently accessed data will be read from the faster portion of the Fusion drive. Likewise, less often used data is demoted to the slower, but significantly larger, hard drive section. When it was first announced, many thought this storage option was just a standard hard drive with an SSD cache built-in. Drive manufacturers offer many such drives, so it would not have represented anything new. But Apple’s version isn’t a single drive; it’s two separate drives that the OS combines and manages. After Apple released more details, it became apparent that the Fusion drive is a tiered storage system built from individual drives with the express purpose of ensuring the fastest possible read and write times for frequently used data. Tiered storage is commonly used in large enterprises to ensure fast access to information, so it’s interesting to see it brought to the consumer level.
Fusion Drive and Core Storage
Based on the investigation performed by Patrick Stein, a Mac developer and author, creating a Fusion drive doesn’t appear to require any special hardware. All you need are an SSD and a platter-based hard drive. You’ll also need OS X Mountain Lion (10.8.2 or later). Apple has said that the version of Disk Utility that ships with the new Mac mini and iMac are a special version that supports Fusion drives. Older versions of Disk Utility won’t work with Fusion Drives. While this is correct, it is not the whole story. The Disk Utility app is a GUI wrapper for the existing command line program called diskutil. Diskutil already contains all of the capabilities and commands necessary to create a Fusion drive; the only problem is that the current version of Disk Utility, the GUI app we’re used to using, does not yet have the new core storage commands built-in. The special version of Disk Utility that ships with Fusion-enabled Macs have the core storage commands built-in. Updated versions of macOS have all the core storage commands available for any Mac, regardless of the model. If you’re using an older version of macOS, you can use Terminal and the command line interface to create your own Fusion drive.
Fusion With and Without an SSD
The Fusion drive that Apple sells uses an SSD and a standard platter-based hard drive. But the Fusion technology does not require or test for the presence of an SSD. You can use Fusion with any two drives, as long as one of them is noticeably faster than the other. This means you can create a Fusion drive using a 10,000 RPM drive and a standard 7,200 RPM drive for bulk storage. You could also add a 7,200 RPM drive to a Mac that is equipped with a 5,400 RPM drive. You get the idea: a fast drive and a slower one. The best combination is an SSD and a standard drive, however, because it will offer the most improvement in performance without sacrificing bulk storage, which is what the Fusion drive system is all about.
Use Terminal to Get a List of Drive Names
Fusion drives can work with two drives of any type, as long as one is faster than the other, but this guide assumes you’re using a single SSD and a single platter-based hard drive, each of which will be formatted as a single volume with Disk Utility, using the Mac OS Extended (Journaled) format. The commands we will use instruct core storage to make our two drives ready for use as a Fusion drive by first adding them to a core storage pool of logical devices, and then combining them into a logical volume.
Warning: Do Not Use a Drive Made of Multiple Partitions
Core storage can use an entire drive or a drive that has been partitioned into multiple volumes with Disk Utility. As an experiment, we tried creating a working Fusion drive that consisted of two partitions. One partition was located on the faster SSD; the second partition was located on a standard hard drive. While this configuration worked, we do not recommend it. The Fusion drive cannot be deleted or split into individual partitions; any attempt to perform either action causes diskutil to fail. You can recover the drives manually by reformatting them, but you’ll lose any data that was in any partitions contained on the drives. Apple has also stated that Fusion is to be used with two entire drives that have not been divided into multiple partitions, as this capability could be deprecated at any time. Therefore, it’s best to use two entire drives for creating your Fusion drive; don’t try to use partitions on an existing drive. This guide assumes you are using one SSD and one hard drive, neither of which has been partitioned into multiple volumes using Disk Utility.
Creating a Fusion Drive
Both drives should be formatted as a single partition using Disk Utility. Once the drives have been formatted, they will appear on your desktop. Be sure to note each drive’s name, because you’ll need this information shortly. The examples in this guide were made using an SSD named Fusion1 and a 1 TB hard drive named Fusion2. Once the process is complete, they will become a single volume named Fusion. Even when you format a drive on your Mac, you’re going to see at least two partitions when you view the drive using Terminal and diskutil. The first partition is called EFI and is hidden from view by the Disk Utility app and the Finder. We can ignore the EFI partition here. Now that we know the disk names, it’s time to create the logical volume group.
Create the Logical Volume Group
With the disk names at hand, we’re ready to perform the first step in creating a Fusion drive, which is creating the logical volume group. Once again, we will use Terminal to execute the special core storage commands. The command format is as follows:
lvgName is the name you assign to the logical volume group you are about to create. This name won’t show up on your Mac as the volume name for the finished Fusion drive. You can use any name you like; we recommend using lowercase letters or numbers, with no spaces or special characters. Device1 and device2 are the disk names that you wrote down earlier. Device1 must be the faster of the two devices. In our example, device1 is the SSD and device2 is the platter-based drive. Core storage does not check to see which is the faster device; it uses the order you place the drives in when you create the logical volume group to determine which drive is the primary (faster) drive.
The command for this example would look like this: Terminal will provide information about the process of converting your two drives to members of a core storage logical volume group. When the process is complete, Terminal will tell you the UUID (Universal Unique Identifier) of the core storage logical volume group it created. The UUID is used in the next core storage command, which creates the actual Fusion volume, so be sure to write it down. Here is an example of the Terminal output: Notice the UUID that was generated: DBFEB690-107B-4EA6-905B-2971D10F5B53. That’s quite an identifier, definitely unique and definitely not brief and memorable. Be sure to write it down, because we will be using it in the next step. So far, we discovered the disk names we need to start creating the Fusion drive. We then used the names to create a logical volume group. Now we’re ready to make that logical volume group into a Fusion volume that the OS can use.
Creating the Core Storage Logical Volume
Now that we have a core storage logical volume group made up of two drives, we can create the actual Fusion volume for your Mac. The format of the command is:
lvgUUID is the UUID of the core storage logical volume group you created earlier. The easiest way to enter this rather cumbersome number is to scroll back in the Terminal window and copy the UUID to your clipboard. The type refers to the format type to use. In this case, you will enter “jhfs+” which stands for “Journaled HFS+,” the standard format used with your Mac. You can use any name you wish for the Fusion volume. The name you enter here will be the one you see on your Mac’s desktop. The size parameter refers to the size of the volume you are creating. It cannot be larger than the logical volume group you created earlier, but it can be smaller. It’s best to use the percentage option and create the Fusion volume using 100% of the logical volume group.
So, for our example, the final command would look like this: With the Fusion drive created, you are ready to make use of the performance benefits provided by the core storage technology that created the Fusion drive. At this point, you can treat the drive like any other volume on your Mac. You can install macOS, or use it for anything you wish.