How To

To split or not to split your Mac’s Fusion Drive

In a recent post, I wrote about upgrading the original (and failing) blade SSD in my iMac to a bigger and faster NVMe module. During that upgrade process, I wondered whether splitting my Mac’s Fusion Drive would result in better performance, but decided against it for simplicity’s sake.

Even though I decided against splitting my Fusion Drive at that time, I read articles that advocated for it and suggested even better performance was to be had by allowing the SSD and HDD to run as separate volumes. The idea is to install the OS and select files and folders on the SSD, with the bulk of the files on the HDD. For the sake of experimentation and learning something new, I decided to tinker with my iMac and see if I could squeeze out some extra speed.

For those who are wondering what I’m talking about, Fusion Drive is an Apple technology built into macOS that creates what is essentially a hybrid drive, by combining an SSD module (NAND flash) with a traditional HDD (platter drive) and presenting the two as a single volume to the user. The protocols that govern the data I/O are called Core Storage. Apple writes: “Presented as a single volume on your Mac, Fusion Drive automatically and dynamically moves frequently used files to flash storage for quicker access, while infrequently used items move to the high-capacity hard disk. As a result, you enjoy shorter startup times and — as the system learns how you work — faster application launches and quicker file access.”

I’ve been using Fusion Drive since it came out, retrofitting my iMac at the time with a new SSD and thus making it run faster than its original specs. I love this technology, because it offers significant performance improvements for a fraction of the cost of buying a large SSD, which used to be be quite expensive a few years ago.

The long and the short of it is that it’s not worth it to split your Mac’s Fusion Drive. If you’re currently running Fusion Drive on your Mac, keep doing that, you won’t see any significant performance improvements if you split it. Actually, some things may run slower than before, and you’ll also have to deal with a few inconveniences, as detailed below.

I’ll present both scenarios here and you can decide what to do for yourself. There are multiple methods to it. These are the methods I’ve chosen. The number of Terminal commands that you have to run for either scenario is minimal, and the time involved has to do mostly with backing up your computer, waiting for the OS to reinstall and for your data to be restored from backup. For example, if you’ve got a 3TB drive and you’re at about 50-60% usage (and you should be at that threshold or lower on any hard drive), then you should figure on 4-5 hours for either of the two scenarios.

How to split your Fusion Drive

First and foremost, did you backup your computer? If you did, go ahead and create a bootable drive using Apple’s instructions, then boot into it by pressing the Option key as soon as your Mac restarts and holding it down until you see the Apple logo. You need to boot into a separate drive because you’ll be deleting your internal drives entirely, including the boot and recovery partitions.

Once you’re in, open Terminal and get a listing of your disks and volumes.

diskutil list

Your Fusion Drive presents itself as a logical volume group that appears as a separate disk with an HFS+ or APFS partition. Say your SSD is disk0 and your HDD is disk1, your Fusion Drive would be disk2 or disk3. In my case, it was disk3 (disk2 being the bootable recovery drive). Now unmount your internal disks.

diskutil unmountDisk disk0

diskutil unmountDisk disk1

You’ll want to delete that entire disk containing Fusion Drive. Be forewarned, this deletes all you data. Did you backup your computer?

diskutil apfs deleteContainer disk3

Now that Fusion Drive has been nuked, you’ll still have your separate drives that you’ll want to make sure are erased. The eraseDisk command requires that you offer a new name for each disk, so I chose to name them SSD and HDD, to keep things simple.

diskutil eraseDisk JHFS+ SSD disk0

diskutil eraseDisk JHFS+ HDD disk1

Now you’ll want to do a fresh install of macOS onto the SSD, and after that’s complete, you’ll boot up into your fresh install and go to Utilities/Migration Assistant, in order to do a selective data restore. Here you’ll have to decide for yourself, based on the total size of your SSD and your data set, how much of it you’ll want to restore onto the SSD. The rest you’ll need to copy manually from the backup drive onto the HDD. In my case, I restored my user settings and the system and libraries folders onto the SSD, and I copied the following folders onto the HDD: Documents, Downloads, Movies, Music, Parallels (in case you’re running some kind of VM software) and Pictures. Each of those folders was too big to keep on the SSD, even though I have a 512GB module (remember the rule about keeping your drive at or below 50-60% usage).

Once you complete all that work, you’ll need to create links to these folders on the HDD in place of your folders on the SSD. Mojave won’t let you do this when you’re logged into your account, so you’ll need to boot up into recovery mode and open Terminal once more.

Go to your homefolder on the SSD.

cd /Users/yourusername

Delete the folders that are now present on the HDD. You’ll need to do this for each folder that you’ve moved there. Hopefully you’ve written down their names ahead of time.

sudo rm -rf foldername

In your homefolder on the SSD (same location as above), make links to the folders on the HDD. I chose to put mine at the drive’s root level. You may choose to put them in a folder. Just don’t give it the same name as your username, I hear that may cause problems. You’ll need to do this for each folder.

ln -s /Volumes/HDD/foldername

That’s it, restart and use your computer. However, you may find a few inconveniences — these are the ones I experienced:

  • I noticed no performance improvements. There wasn’t even an improvement in the bootup time. Nothing, nada, zilch.
  • While Apps may open up faster, if they’re still accessing files on the HDD, editing will still be sluggish. In order for you to see that performance boost talked about with SSDs, both apps and their files need to be on the SSD.
  • In my case, I had to keep the Photos library on the HDD, because it was too big to keep on the SSD, and while Photos may have opened up fast, loading up the library took forever, until enough of the recent photos were cached on the SSD to allow me to work with my library. So things were a LOT slower with this app.
  • I kept my mailboxes on the SSD so I was hoping for better performance from Mail, but I didn’t get it. I have a lot of mail stored locally, so in theory, things should have worked faster because everything was on the SSD, but they didn’t. I also experienced odd issues, like when moving messages between mailboxes, it took a lot longer and sometimes didn’t register. I’d drag and drop them, then come back to the app a little while later and find them in the same place, just as if I hadn’t moved them.
  • iCloud would display an odd notification icon, but when I’d go into it, there was no message. This icon was displayed continually for as long as my Fusion Drive was split. See the screenshot below.
  • While Time Machine will backup both internal drives, data restores will only restore the files from the SSD. I don’t know why and I don’t know how to fix that, so keep this limitation in mind. You can go into the Time Machine drive manually and copy the files over afterward, but if you run a restore operation on your computer and you wonder where most of your stuff is after it’s completed, don’t freak out, just know you’ll need to get it manually from the drive.
See that “1” over iCloud? It was there all the time.
This is the kind of performance the SSD provided when my Fusion Drive was split. It looks impressive, but hold on until you see the same test with Fusion Drive enabled, later down in this post.

How to enable your Fusion Drive

After about a week of running my Mac with a split Fusion Drive, I’d had enough and decided to re-enable it. Here’s how I did it. Before you proceed with this, I’ll ask you again, did you do a full backup of your computer? This will wipe all your data.

Using the same bootable drive, I booted into it and opened up Terminal. Since you’ll be wiping all your internal drives again, you need to be booted from an external drive.

Apple recommends this single Terminal command that is supposed to do everything in one fell swoop. It didn’t work for me, perhaps because my SSD module was a newer NVMe running off an adapter card, not the Apple-approved blade SSD manufactured specifically for this kind of thing.

diskutil resetFusion

I had to do it with a few more commands. First, find out your disk IDs.

diskutil list

Now unmount your internal disks.

diskutil unmountDisk disk0

diskutil unmountDisk disk1

Then create a merged virtual hard drive with Core Storage.

diskutil coreStorage create Macintosh\ HD disk0 disk1

Now get its logical volume group name (the very long alphanumerical name that appears in Terminal after you type this command).

diskutil coreStorage list

Now format and create the JHFS+ volume that will run Fusion Drive.

diskutil coreStorage createVolume yourlogicalvolumegroupname jhfs+ Macintosh\ HD 100%

Don’t worry about formatting the drive to APFS. That’ll happen automatically when you install Mojave. Besides, APFS is not an entirely separate file system, it’s a container running inside HFS+, so like I said, don’t worry about it. That’s it. Now quit Terminal and do a full restore from Time Machine, but prepare yourself for an incomplete data restore (see the reasons given in the previous section). Once the data restore is complete, you’ll need to manually copy the folders that are missing from the Time Machine drive. Or, as I did, you can do a full restore to a backup set that existed before I split my Fusion Drive, which means you’ll get all your old data back in all the right places, but you’ll still need to get your newer files manually from the Time Machine drive.

In my case, I needed to copy the mailboxes, which are located in ~/Library/Mail/V6 from the newest backup set (the one with the split drive) to my computer, and that gave me all my mail, including the interim stuff. I also copied the latest Photos library, and that gave me all my photos, including the interim stuff. Then I went through the Documents and Downloads folders on the Time Machine drive, sorted by date modified and copied the interim files onto my computer. I didn’t need to go through the other folders because I knew I hadn’t worked on other stuff. And once I did this, my data restore was complete. Mail and Photos still needed to rebuild their libraries though, and that took a while.

And because I use Backblaze to backup my computer offsite, I also needed to uninstall and reinstall that, then inherit a previous backup state (don’t worry about this if you’re not using Backblaze).

When that was done, Backblaze told me it had “made” my computer inherit my backup state, as if it had forced it to do this, in a non-consensual way. Kind of a funny way to word things, but their service works well.

Here’s the kicker. I ran another drive performance test after all this, and these were the results.

Actually a little bit faster than before 🧐

Everything runs fast now, and it runs as expected, without hiccups.

As I said at the start of this article, if you’re already running Fusion Drive, do yourself a favor and leave it running. You’ll avoid headaches you don’t need, unless you like complications.

The only way I can see to speed up my iMac even more, is to purchase a large 3-4TB SSD and run it as my only internal drive. That might be a little faster. But as you can see from the test screenshot shown above, my iMac is no slouch right now. And 4TB SSDs are still fairly expensive. It might actually be cheaper (and possibly faster) to get a 2TB SSD and a 512GB NVMe module, and run them together with Fusion Drive, although the overall capacity wouldn’t be the same. Food for thought.

Standard
How To

How to create a Fusion Drive on a mid-2011 iMac

Yes, you can enable Fusion Drive on older Macs. I’m not sure how this method will work with Macs older than 2011, but I know for sure that it works on mid-2011 iMacs, and quite possibly on other Macs made since then. I have just completed this process for my iMac and I thought it would help you if I detailed it here.

I like Fusion Drive because it’s simple and automated, like Time Machine. Some geekier Mac users will likely prefer to install an SSD and manually separate the system and app files from the user files which take up the most space, which is something that gives them more control over what works faster and what doesn’t, but that’s a more involved process. Fusion Drive works automatically once you set it up, moving the files that are used more often onto the SSD and keeping the ones that are accessed less often on the hard drive. This results in a big performance increase without having to fiddle with bash commands too much.

The hardware

My machine is a 27″ mid-2011 iMac with a 3.4 GHz processor and 16GB of RAM. I bought it with a 1TB hard drive, which I recently considered upgrading to a 3TB hard drive but decided against, given the fan control issues with the temperature sensor and the special connector used on the factory drive.

imac-basic-specs

I purchased a 128GB Vertex4 SSD from OCZ. It’s a SATA III (6 Gbps) drive and when I look in System Info, my iMac sees it as such and is able to communicate with it at 6 Gbps, which is really nice.

ocz-vertex4-ssd-128gb

ssd-specs

The hardware installation is somewhat involved, as you will need to not only open the iMac but also remove most of the connections and also unseat the motherboard so you can get at the SATA III connector on its back. You will also need a special SATA wire, which is sold as a kit from both OWC and iFixit. The kit includes the suction cups used to remove the screen (held into place with magnets) and a screwdriver set.

2nd-drive-ssd-kit

You can choose to do the installation yourself if you are so inclined, but realize that you may void the warranty on the original hard drive if something goes wrong, and this is according to Apple Tech Support, with whom I checked prior to ordering the kit. Here are a couple of videos that show you how to do this:

In my case, it just so happened that my iMac needed to go in for service (the video card, SuperDrive and display went bad) and while I had it in there, I asked the technicians to install the SSD behind the optical drive for me. This way, my warranty stayed intact. When I got my iMac back home, all I had to do was to format both the original hard drive and the SSD and proceed with enabling the Fusion Drive (make sure to back up thoroughly first). You can opt to do the same, or you can send your computer into OWC for their Turnkey Program, where you can elect to soup it up even more.

The software

Once I had backed up everything thoroughly through Time Machine, I used the instructions in this Macworld article to proceed. There are other articles that describe the same method, and the first man to realize this was doable and blog about it was Patrick Stein, so he definitely deserves a hat tip. I’ll reproduce the steps I used here; feel free to also consult the original articles.

1. Create a Mountain Lion (10.8.2) bootup disk. Use an 8GB or 16GB stick for this, it will allow you to reformat everything on the computer, just to clean things up. Otherwise you may end up with two recovery partitions when you’re done. I used the instructions in this Cult of Mac post to do so. The process involves re-downloading 10.8.2 from the Apple Store (if you haven’t bought it yet, now is the time to do so) and an app called Lion Diskmaker.

2. Format both the original HD and the SSD, just to make sure they’re clean and ready to go. Use Disk Utility to do this, or if you’re more comfortable with the command line, you can also do that (just be aware you can blow away active partitions with it if you’re not careful).

2. List the drives so you can get their correct names. In my case, they were /dev/disk1 and /dev/disk2.

diskutil list

3. Create the Fusion Drive logical volume group. When this completes, you’ll get something called a Core Storage LGV UUID. Copy that number, you’ll need it for the following step.

diskutil coreStorage create myFusionDrive /dev/disk1 /dev/disk2

4. Create the Fusion Drive logical volume. I used the following command:

diskutil coreStorage createVolume paste-lgv-uuid-here jhfs+ "Macintosh HD" 100%

5. Quit Terminal and begin a fresh install of Mountain Lion onto the new disk called “Macintosh HD”.

6. Restore your apps, files and system settings from the Time Machine backup using the Migration Assistant once you’ve booted up. Here’s an article that shows you how to do that. When that completes, you’re done!

The result

Was it worth it? Yes. The boot-up time went from 45-60 seconds to 15 seconds, right away. And over time, the apps and files I use most often will be moved onto the SSD, thus decreasing the amount of time it’ll take to open and save them.

At some point, I expect Apple to issue a utility, like Boot Camp, that will allow us to do this more easily and automatically. Until then, that’s how I set up Fusion Drive on my iMac, and I hope it’s been helpful to you!

Standard