Storage is and, for the foreseeable future, will continue to be a large concern for end users and businesses alike. Despite the significantly lowered cost per GB of Solid State Drives (SSDs) and the outright dive in prices for old-school mechanical hard disk drives (HDD), users are always clamoring for more space and faster speeds.
Ideally, SSDs are great for increased performance, and when they’re configured in a RAID array, the storage limits are only the available ports and your pocketbook. But still, a 2, 4, or 6 TB HDD presents more storage at a much lower price point than an SSD equivalent.
However, what if you could have speed and storage benefits by merging both? This can be achieved by leveraging OS X’s Core Storage technology to create a DIY Fusion Drive of your own, using any SSD and HDD you wish. Furthermore, since introducing Fusion Drives in 2012, they’ve only been available for Mac Mini and iMac models, yet as long as your Mac has at least two available SATA data/power ports and is capable of running 10.8.2 or later, you can use Terminal.app to create a DIY Fusion Drive to bring the benefits of the modern technology to older Apple computers, like I’ve personally done on my Mac Pro (early 2008).
Additionally, opting for a lower model Mac Mini or iMac and later installing a second SSD/HDD for the purposes of creating a DIY Fusion Drive is possible. Doing so allows you (or your company) to save hundreds of dollars on Apple’s direct-from-factory solution by easily implementing your own with larger HDDs and faster SSDs. Just note that Apple does not support Fusion Drives unless it’s purchased as an upgrade when buying your new Apple computer.
However, if you feel right at home in the Terminal or wish to give it a shot, read below for step-by-step instructions on setting up a new DIY Fusion Drive.
Creating a DIY Fusion Drive
Follow these steps to create a DIY Fusion Drive:
- Connect both the SSD and HDD to the Mac using SATA ports, and boot the system into OS X. If you’re planning to use the newly created Fusion Drive as the boot drive, then boot the computer using an OS X USB Recovery Partition.
- Once OS X or the recovery partition has loaded, go to \Applications\Utilities\Terminal.app (or from the menu bar, Utilities | Terminal) to load the Terminal.
- The first command to enter will retrieve a listing of the drives connected to the Mac. Due to the destructive nature of the process, any data stored on the drives will be destroyed, so please make sure to backup anything on those drives you don’t wish to lose:
- Each drive listed will contain a mount point in the following format:
Where the “#” designates a number assigned to the drive by OS X. Locate the mount points for the SSD and HDD you wish to use to create the Fusion Drive. They’ll be needed in the next command.
- The second command will create the logical volume group using Core Storage, which will act as a container for the drives being pooled together. The command will require the exact drive mount points obtained in step #4:
diskutil coreStorage create LOGICAL_VOL_GROUP_NAME DRIVE_1 DRIVE_2
For the “LOGICAL_VOL_GROUP_NAME,” enter a name that will help define the storage group being created. DRIVE_1 and DRIVE_2 represent where to insert the drive mount points for the devices being fused. For example, if the group name was “FUSE” and the mount points were SSD = /dev/disk1; HDD = /dev/disk2, the command would be executed as follows:
diskutil coreStorage create FUSE /dev/disk1 /dev/disk2
- The third and final command needed in the Fusion Drive creation process will create the logical volume, which will actually be where data is stored once the process has been completed. The command will require the LVG UUID, a unique identifier that’s assigned by OS X to all storage groups. Upon successful completed of the second command in step #5, the ID will be displayed as “Core Storage LVG UUID.” Record the ID, as it will be necessary for the final command:
diskutil coreStorage createVolume lvgUUID type name size
As explained previously, the “lvgUUID” will require the ID output from the previous command. “Type” refers to the file system; in this case, use “jhfs+” for Journaled HFS+, which is native to OS X. For the “name,” enter a name for the volume–by default, OS X titles the root drive “Macintosh HD.” The “size” refers to the size of the volume, which can be expressed by numerical expressions in GB, TB, or as a percentage. If you’re wishing to use the entire volume size, enter “100%” to utilize the full storage pool. The complete command should look similar to this:
diskutil coreStorage createVolume S87D6F8F-D9WJ-8AD9-SD88-VU89JI4FUI09 jhfs+ “Macintosh HD” 100%
Once the commands have been executed successfully, the Fusion Drive will have been created and the volume should now be mounted (and viewable) from within Disk Utility. If using the newly created drive as a boot drive, continue to install OS X as you normally would, making sure to select the Fusion Drive as the installation drive.
Disabling a DIY Fusion Drive
While disabling a Fusion Drive from Core Storage is not likely to be something done very often, you may find yourself in a situation in which it is necessary, such as upgrading the respective SSD and/or HDD drives or replacing a faulty drive.
To do so, simply execute this one command from Terminal:
diskutil coreStorage delete lvgUUID
As listed above, the “lvgUUID” is the unique identifier assigned to the volume. This can be obtained by executing a diskutil list. Once the lvgUUID for the Fusion Drive is located, execute the command, and the fuse will be broken.
Remember that prior to working on any storage related task, it’s extremely importance to backup you data from the drive(s) you’ll be working on. The process to both create or break a Fusion Drive is destructive, so any/all data contained in those drives will surely be lost.
Once the drives have been separated, booting from a USB recovery drive will once again allow you to reinstall OS X… or perhaps upgrade to a larger, higher performing Fusion Drive.