Equivalent of `btrfs send` and `btrfs recv` for bcachefs
I’m using a setup I consider to be rather fragile and prone to failure involving LUKS, LVM, btrfs, and bcache. I have used btrfs for a long time, and have never experienced any significant issues with it. But, it doesn’t support caching, nor does it handle erasure coding (i.e. RAID5 or 6 style redundancy).
I consider it prone to failure especially when trying to install a new version of my distribution, since it involves a setup that I suspect is very much an outlier, and not accounted for in any kind of testing for upgrade procedures, or any kind of installation of a new system while preserving most of the data from the old one.
I would like to move to bcachefs, but I can’t tell whether or not it supports, or intends to support anything like btrfs send
and btrfs recv
. These two commands are critical to my incremental backup strategy.
Does it support anything like this now in November of 2023? Will it ever?
The roadmap for bcachefs mentions it:
Like ZFS and btrfs have, we need it to. This will give us the ability
to efficiently synchronize filesystems over a network for
backup/redundancy purposes – much more efficient than rsync, and it’ll
pair well with snapshots.Since all metadata exists as btree keys, this won’t be a huge amount
of work to implement: we need a network protocol, and then we need to
scan and send for keys newer than version number X (if making use of
key version numbers), or keys newer than a given snapshot ID.
Since it’s in the roadmap, this means it’s not implemented yet, but there are plans for it in the future (no date).