Install profile for bcache and btrfs, SSDs and several HDDs


for some curious reasons, I am ending up with a system that contains 6 SATA powered disks (slow), including one SSD and 6 HDDs, + 2 NVMe SSDs (fast). I can use their storage capacity well.
I am currently approaching a fresh install of Fedora.

After some reading around, I am getting the sense that it would make sense to use one or both of the NVMe SSDs as a bcache for the much slower HDDs. I have difficulties finding advice on how to configure that.
I do find some mentions of bcache around Fedora 20 but nothing current, let alone in relation to btrfs.

Well, my question/topic is not yet well formed, as my understanding is not yet well formed.

So, at this point I would welcome very much suggestions on what to read that might help me better understand.


I’m not sure what your goals are. If it’s data preservation, you want multiple, independent copies of your data. If there is no important data and this is about understanding complex storage stacks, then the advice will be quite different. It mainly depends on your expectations.

Here’s a recent story about such a complicated arrangement:

A small hardware problem had a greater impact due to the design which reduced device isolation. The overall complexity of the storage stack made it difficult for folks to understand, in particular the user.

The more complex anything is, the more important design and expertise in each layer become. And the less you can rely on repair as a way out, the more you will have to depend on backup->reformat->restore.

Any backup is better than none. And any backup you understand and trust is better than any fancy feature rich sounding backup. I do like Btrfs snapshots with send/receive, that’s the primary way I backup these days, and it’s because I understand it and now consider it less exotic than alternatives. One hint of this can be discovered with the btrfs subvolume find-new command.


ArchWiki has some good info on this topic.

1 Like

Another idea, since you have the hardware and are interested in using one of the flash drives as a cache, you could experiment with Stratis which has integrated cache support.

And separately use Btrfs on a plain partition on one of the other hard drives (no cache). And compare the two setups. Depending on your workload, it might turn out that using Btrfs native compression helps more than Stratis SSD caching. But there’s one way to find out!

For system installation, Stratis isn’t supported but I suggest just using default/automatic partitioning when installing, which for Fedora 33 will use Btrfs.


Thank you for this idea. Now getting back to this theme.
In case you know more about stratis: is it really the case that stratis does not yet allow for redundancy/raid-like pools? stratis man page - stratis-cli - System Administration says the only option is no redundancy. Or do I read this wrongly?