Multi-tier storage caching?

Hi folks, my desktop has a mix of disks including a small NVME SSD, a SATA SSD, and rust. I like the idea of using BTRFS and LVM to keep them all as a single storage volume that I can easily manage snapshots on. Is there a way I can merge them all as a single logical volume but have data automatically moved between tiers based on how frequently it’s accessed?

I am only aware of LVMs caching. So you could go a little wild have an LVM caching the SATA SSD which is then used to cache the HDD.
Btrfs or ZFS are probably a good choice thanks their data integrity stuff.

I’ll have to play around with it and see what I can do. I’m not sure if I’ll go that route; the lack of easily found docs and info tells me that if it is possible, it’s gonna be kludgey. I’ve already had issues with a scrambled BTRFS tree when doing VFIO on BTRFS with LVM (I don’t think it’s happy with the changing hardware addresses). Been meaning to poke around without LVM and see how it goes.

Did you run into this?
https://btrfs.wiki.kernel.org/index.php/Gotchas#Block-level_copies_of_devices

Btrfs doesnt like having two partitions visible with the same UUID.

If you used a distro installer and had it set up LVM then just adding one cache device should be easy :wink:
See the archlinux wiki for the commands.