I made brief use of btrfs circa 2015, but not since. Now I’m thinking of moving a desktop/laptop install to btrfs and I’m wondering how btrfs might best be used on OMV6 for both OS and data drives. I know forum members macom and Soma do this and others probably do the same.
Obviously this means resorting to the CLI and making use of snapper (with snap-sync?) and /or btrbk. Rolling back the OS is made convenient by using snapper with grub-btrfs. Limitations I’m aware of when using btrfs for both OS and data include:
1. There seems little point in adopting a multi-subvolume layout for the OS as the system and various plugins write/read from many different files/dirs on the root filesystem. Hence OS snapshots can waste space.
2. For the data drives, which are likely to be in a raid0, 1 or 10 profile, OMV6 controls the relevant “/etc/fstab” entries. You cannot selectively mount btrfs subvolumes. The btrfs mount options are controlled by the environmental variable OMV_FSTAB_MNTOPS_BTRFS, which is a global setting.
3. Using snapper to snaphot subvols on data drive(s) is not ideal as the snaphots are create on the same subvol. So while you can access individual files and dirs in a snapshot on the server or via SMB/CIFS using shadow copies, you cannot easily rollback to a previous version of the subvol. Without the limit imposed by 2 above you could create dummy directories for snapper to use and mount subvolumes at these points. This limitation does not exist if you use btrbk as subvol snapshots are placed in a directory outside of the subvol.
4. Part of configuring snapper can mean the creation of ACL on snapper directories. I don’t know if this can cause problems elsewhere in OMV6.
5. The use of docker and/or virtual machines on any btrfs filesystems can result in poor performance. What is the impact and what can you do to reduce it? Turning off checksums by using “nocowdata” on selective subvols on anything with a raid profile sounds like a recipe for problems.
Feedback on any of the above, especially point 5, would be appreciated.