Thursday, May 14, 2020

Multiple SSD Fusion Drive

I doubt many if any of my intended audience (wishing you could combine two SSDs in a Mac) this post will reach, but I'm wanting to put a basic outline out there to help.
Bottom line: I got it to work. I'm hoping I can give some tips to everyone else.

The system I've got, and had wanted a Fusion setup for is a 2017 iMac with 500GB nvme SSD, to which I added an internal 2TB Samsung Evo SSD to its internal sata connection.

Here are the internal disk speeds of my Evo SSD








Here are the internal disk speeds of the nvme SSD that my iMac came with:









And here are the disk speeds of my Fusion drive:









Besides not finding reliable information online about doing this, I didn't want to make a fusion drive because I was afraid I'd only get the Sata SSD speeds. While good, they're inferior to the drives that the iMac shipped with. Additionally, I was warned that I'd experience bugginess or crashes or file system errors. This doesn't seem to be a well documented thing, and I ran into a couple issues in my attempts to get this working.

Let's jump to the how-to: 

 1.) Backup your computer. I had a Time Machine backup, and a separate external backup of applications and my user folders, in case things ever got really bad. Time Machine was wonderful, and I needed to restore twice (once for a failure, the second time after I got it working). My Time Machine backed up two drives of stuff to one combined backup, which it was able to restore to just one drive.

2.) Boot into recovery mode

3.) Use terminal in recovery mode to determine which disk partitions are going to be used for your fusion drive (for me, my nvme drive was /dev/disk0s2 and my samsung drive was /dev/disk2s2 . Use the physical volumes you want, which should be labeled "Container disk2".

4.) Use terminal to create a logical volume group.
My syntax was: diskutil coreStorage create FusionDrive /dev/disk2s2 /dev/disk0s2
Multiple things to note here:
 a.) APFS is required, and won't allow for a secondary drive that is larger than its primary. I've read many places that the first disk mentioned (here disk2s2) is the faster one. As you can see from the above screenshots, something about that statement either doesn't apply in MacOS Catalina, or is an incomplete statement. In the days of APFS, the smaller portion goes first. How the speed difference was figured out by coreStorage, I don't know.
 b.) Your disk names, and chosen name of your fusion drive (I picked "FusionDrive") may differ.

5.) Create the volume in terminal with jhfs+.
My snytax was: diskutil coreStorage createVolume FusionDrive jhfs+ "Macintosh HD" 100%
 a.) I chose "Macintosh HD" because that's what Apple uses. You can likely change it to something else

6.) Boot into internet recovery mode

7.) Erase your Fusion volume with Disk Utility to reformat it as APFS

8.) Install MacOS Catalina onto your Fusion Drive

9.) Restore from Backup (or don't, if you want a clean install).


The tricky bits for me were: -needing internet recovery mode (don't know why) for the APFS reformatting. Terminal wouldn't support APFS as a coreStorage option. jhfs+ in terminal in recovery mode first, then internet recovery mode Disk Utility (not terminal) for turning the drive to APFS -Ordering the disk partitions in order of size, rather than speed. Biggest, not fastest first.

I hope this reaches someone who it can help.