Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
I'm really disappointed if the APFS fusion drive really took (IMHO) a big backward step. It sure does look like it, though. : (
Why are you convinced it was a step backwards?

Unlike HFS+, APFS was designed around SSD performance characteristics. Therefore, its on-disk layout assumes that seeks are more or less free, that there is no decrease in seek performance with increasing seek distance, and that data placement mostly does not affect throughput. None of these three things is true on HDDs. HFS+ on-disk layout, on the other hand, is well-tuned for these HDD quirks. Fusion Drive's original implementation was also tuned to work well with HFS+ (or perhaps it was the other way around, Apple could have put in hooks to let the HFS+ filesystem driver guide data placement).

It's very plausible that when Apple began experimenting with running APFS on a Fusion drive, they found that the old HFS-tuned tiered storage mode didn't work well, and that a more cache-like approach performed better. The point of Fusion was always making a large HDD perform like a SSD, especially when your frequently-used data fit entirely on the SSD. Sacrificing a little capacity to gain performance fits with the concept.

It's not that I NEED a Fusion drive. Mostly I thought the idea, and making it available to the user, was technically cool. And it could have been extended easily. For example, imagine a Fusion volume composed of: RAM-->internal SSD-->external SSD-->external HDD, all working perfectly and hidden from the user.
The RAM tier here is redundant as the macOS virtual filesystem layer already caches file data in RAM for all filesystem types on all media types. (Also note that you really don't want RAM to be treated as a tier rather than a cache. What happens if the filesystem is very full, meaning there's data in RAM that there's no space for on permanent storage, and the computer has to shut down?)

There also isn't much point in adding a tier that's too close in performance to the tier below it. This is because you don't want to pay data migration costs without an adequate performance gain. Putting an extra SSD layer in there seems like exactly that problem. External SSDs perform close enough to internal that it's probably not super worthwhile.
 
It's very plausible that when Apple began experimenting with running APFS on a Fusion drive, they found that the old HFS-tuned tiered storage mode didn't work well, and that a more cache-like approach performed better. The point of Fusion was always making a large HDD perform like a SSD, especially when your frequently-used data fit entirely on the SSD. Sacrificing a little capacity to gain performance fits with the concept.
Yes, I agree, that is quite plausible. But in my mind "Sacrificing a little capacity" might be considered sacrificing a lot of capacity...

Why are you convinced it was a step backwards?
I guess my main disappointment now is the loss of the capacity of the "main" component of the Fusion drive. I know Apple's hardware implementation used quite small main SSD components and the loss of that capacity would be negligible. However, in my prior and possible future use of a Fusion drive I envisioned a much larger main component, perhaps half as large as the total capacity, in order to get more "SSD-like" benefits. Say, a two- or four TB main component and four or more TB secondary (HDD) component. This still saves money, and only rarely-used data would have to reside on the slow HDD. The rarely-used data would still be easily accessible without taking any extra steps or inconvenience. In this scenario, loosing out on the storage capacity of the main component is significant, IMHO.

The RAM tier here is redundant as the macOS virtual filesystem layer already caches file data in RAM for all filesystem types on all media types. (Also note that you really don't want RAM to be treated as a tier rather than a cache. What happens if the filesystem is very full, meaning there's data in RAM that there's no space for on permanent storage, and the computer has to shut down?)
Really good points!

There also isn't much point in adding a tier that's too close in performance to the tier below it. This is because you don't want to pay data migration costs without an adequate performance gain. Putting an extra SSD layer in there seems like exactly that problem. External SSDs perform close enough to internal that it's probably not super worthwhile.
Also something I hadn't thought about. That makes a lot of sense!
 
I guess my main disappointment now is the loss of the capacity of the "main" component of the Fusion drive. I know Apple's hardware implementation used quite small main SSD components and the loss of that capacity would be negligible. However, in my prior and possible future use of a Fusion drive I envisioned a much larger main component, perhaps half as large as the total capacity, in order to get more "SSD-like" benefits. Say, a two- or four TB main component and four or more TB secondary (HDD) component. This still saves money, and only rarely-used data would have to reside on the slow HDD. The rarely-used data would still be easily accessible without taking any extra steps or inconvenience. In this scenario, loosing out on the storage capacity of the main component is significant, IMHO.
The key is what you mentioned - Apple's hardware implementations. They designed Fusion for use with their own stock Fusion Drive, and nothing more. This is why they never provided an easy GUI pathway for creating Fusion volumes, and diskutil resetFusion checks for exactly Apple's config (one internal SSD + one internal HDD).

While Apple does sometimes try to support interesting features even on third party hardware, I suspect this one is regarded as too niche and too risky with user data. (The risk being that Fusion drives involving external disks are very likely to have problems sooner or later - it only takes one cable tug or wiggle to lose user data.) I expect that it's going to keep on working in its current form as long as they need to support the computers that shipped with Fusion drives, and maybe even a bit longer than that, but new feature development is over. The feature freeze probably happened when they got it working with APFS (you may recall that early on in the APFS transition, they didn't support APFS on Fusion Drive at all).
 
  • Like
Reactions: Brian33
I run a 2021 24" iMac M1 16/256 from the beginning with an home made FusionDrive.
Of the 256gb internal SSD, I have created a 200gb partition with the booting system, and beneath it, I have taken the resting 50gb to create a FusionDrive along with an external SSD Sabrent Rocket Nano (previously bought to be mounted with an adapter in a 2017 MacBook Pro A1708) of 2tb.
The external SSD is permanently connected to the iMac in a TB3 housing.
Things works good for about 3 years know, still I am dubious if it is a good idea.
Kind of fear of an abrupt corruption in the internal SSD which would make me losing everything (I nevertheless have a Time Machine backup in a 3gb Time Capsule).

View attachment 2504166

View attachment 2504168
that is amazing! Could you please provide the info on how you achieved it? When I attempt `diskutil apfs
createContainer` and disk0 is mentioned at all it fails with `The disk is already in use by APFS`
 
I also have a Samsung T7 SSD, which when plugged in via one of the Thunderbolt ports is very fast (700 ~ 1000 Mb/s transfer). Someone mentioned using a drive like that to make a fusion drive with the internal Mac Mini SSD.

However, as others have found, a T7 drive plugged directly, or via a hub, into a Mac Mini gets too hot and needs a cooling solution. I have used a little USB powered fan to keep mine cool and have some cooling fins on order for mine.

Pro Tip: Invest in a good quality Thunderbolt cable for that Samsung T7 (Shield, I presume from the heat reference). The USB cable shipped with the Samsung drives is crappy and holding you back. I have a couple of Samsung T9s that had been perplexingly slow, including some instances where I plugged them in and got only USB 2.0 speeds (480 Mb/s). One day I found some forgotten cash in a pocket and decided to squander it on some Apple Thunderbolt 5 cables. Apple TB5 cable + Samsung T9 SSD really flies.

With a T7 Shield you're only looking for 20 Gb/s, so finding an Intel-certified TB4 cable on Amazon should do you. But skip the Chinese knockoff "Thunderbolt" cables that aren't Intel-certified. They're a waste of time and money.
 
Think I had a breakthrough, the error about disk0 already using apfs must be a bug in diskutil's error output and it is actually talking about the secondary disk because I already formatted disk0s2 as hfs+.

Then I found this comment:
"...The volumes to be Fusioned has to be first in hfs+!..."

So I formatted the secondary also as HFS+ and creating the fusion worked! Now wil try installing the OS.

Code:
I-bash-3,2# diskutil apfs createContainer -main disk0s2 -secondary disk8s2
Creating container with disk0s2 disk8s2
Started APFS operation on disk0s2 (Untitled)
Creating a new empty APFS Container
Unmounting Volumes
Switching disk0s2 to APFS
Switching disk8s2 to. APFS
Creating APFS Container
nx_format:203: FusionLC autodetect: regular Fusion
Created new APFS Container disk3
Disk from APFS operation: disk3
Finished APFS operation on disk0s2 (Untitled)
Above was copy pasted from a photo and I fixed mistakes sorry if missed some.

Unfortunately after post install reboot it is failing to boot and the mini's LED is flashing red. Seems it kernel panics when the fusion is being mounted regardless if on boot or when in recovery.
edit: with a working os in another partiion it was possible to see the reason for the boot loop. "unencrypted data volume is not allowed". So I made the fusion encrypted apfs and then in recovery restored the working os to the fusion. Then did a repair over the top. That fixed the boot loop but the sad end is this error:
"The current instance of macOS does not match what was expected by Apple. Reinstall macOS to resolve the issue."

Instead, I am going to try the splitting the internal into boot and a user data fusion now. 123GB for each I suppose since this is home server with not many apps. Admin user will be on boot volume and will attempt to put the regular user's home folder on the fusion.
 
Last edited:
  • Like
Reactions: Brian33
I got the fusion working with 123GB internal SSD partition with external 14TB. I enabled ownership then made a home folder on it then in the user's advanced settings used that folder as the home folder path (then deleted the folder so the OS would recreate it with the correct permissions). That all worked.

Then I took it a step further and did it again but first making a RAID JBOD (concat) with the 14TB external and fusing that. Suprisngly that worked fine too.

Code:
admin@Mac-mini ~ % diskutil list                                              
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *251.0 GB   disk0
   1:             Apple_APFS_ISC Container disk1         524.3 MB   disk0s1
   2:                 Apple_APFS Container disk3         122.6 GB   disk0s2 // OS, apps and admin user
   3:                 Apple_APFS Container disk6         122.6 GB   disk0s3 // SSD cache for main part of Fusion
   4:        Apple_APFS_Recovery Container disk2         5.4 GB     disk0s4


/dev/disk3 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +122.6 GB   disk3
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD            11.3 GB    disk3s1
   2:              APFS Snapshot com.apple.os.update-... 11.3 GB    disk3s1s1
   3:                APFS Volume Preboot                 6.2 GB     disk3s2
   4:                APFS Volume Recovery                1.0 GB     disk3s3
   5:                APFS Volume Data                    4.2 GB     disk3s5
   6:                APFS Volume VM                      20.5 KB    disk3s6


/dev/disk4 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *14.0 TB    disk4
   1:                        EFI EFI                     209.7 MB   disk4s1
   2:                 Apple_RAID                         14.0 TB    disk4s2 // external HD
   3:                 Apple_Boot Boot OS X               134.2 MB   disk4s3


/dev/disk5 (external, virtual):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                 Apple_APFS                        +14.0 TB    disk5 // HD for secondary part of fusion


/dev/disk6 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +14.1 TB    disk6 // Fusion drive
                                 Physical Stores disk0s3, disk5

Next I'm going to experiment with adding/removing disks from the JBOD and resizing the Fusion just to check it's possible before I start filling it up with data.
 
Last edited:
Seems after a while I was unable to add and mount a new volume in the APFS fusion container. Disk utility just silently fails to mount and diskutil shows:
Code:
Error: -69842: Couldn't mount disk
I recreated the Fusion and am unable to add a second volume now so it isn't like there is a 1 volume limit.
 
Last edited:
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.