- Sep 4, 2012
- GigaByte Z390 Aorus Pro WiFi
- RX 560
- Mobile Phone
Striping Fusion Drives Together for a Hackintosh
I experimented with several ways to use my two SSDs and two HDDs together (happily, they were bought with someone else's money).
I tried using the Gigabyte Jmicron raid support for SSD HDD caching and was underwhelmed.
I tried striping the HDDs in the Jmicron and building a fusion drive with one of the SSDs. It worked but I had a leftover SSD.
Finally I used the SSDs and HDDs as simple disks and built two fusion drives, pairing one SSD with an HDD and the second SSD with the second HDD.
I then used the appleraid functionality of diskutil to stripe the two fusion drives together. I used a command like this (for this example, the two fusion drives ended up as disk8 and disk9).
diskutil appleraid create stripe BigFuz JHFS+ disk8 disk9
This will create a new disk (disk10 for example) with a volume called BigFuz on it.
This is a good time to refresh the boot blocks and the boot file and Extras folder on each of the 4 drives involved in the fusion sets. It is not necessary to do the same for the striped disk because it is invisible to the BIOS booter.
From this point you can install a fresh system on BigFuz or restore a Time Machine backup to it, as I did.
The advantage of doing this is to improve both read and write performance over other solutions.
A simple fusion drive reserves 4GB from the SSD for quick writing and will later move that data to the HDD. After you have written 4GB, it begins writing directly to the HDD component of the fusion drive at a much slower rate than the SSD.
When you stripe two fusion drives together, each reserves 4GB for writes, allowing you to write as much as 8GB before you begin writing (much more slowly) to the magnetic media of the HDD. As a bonus, it may write as much as twice as fast while it is doing it. In my case, those writes tend to be > 550MB/sec to the SSD and almost 300MB/sec when we finally begin writing to the HDD (after 8GB).
After the write is complete, the fusion drive will wait a moment, then begin copying the data out of the reserved write area to the HDD. The speed at which this occurs is limited so that this background task does not interfere with foreground activity. When the devices are striped, both drives do the write copy simultaneously and double the rate at which the reserved write area is freed, making it available for more SSD-speed writing, sooner.
Reads benefit in much the same way. Whether the data currently resides on SSH or HDD the access is striped across both devices and may be read at a rate approaching twice what it was for a single drive.
I have verified that it is behaving appropriately with iostat disk0 disk1 disk2 disk3 1 and I see fast writes, delayed copy back to the HDD, migration of popular blocks to the SSD and demotion of those that have not been much used.
It boots and Time Machine backups of the combined drives work without issue. Disk speed tests and real-world compiles of large projects inside a VM are very fast.
Give it a try if you can scratch up the hardware.
Of course, like the fusion drive itself, a striped pair of fusion drives adds no redundancy to the system while adding points of failure. A Time Machine or other backup is a very good thing.
My only "issue": can't install a Recovery HD/partition with this AppleRaid setup to do the RAID0
Otherwise this works for me on Yosemite etc.