I have a btrfs partition on a drive which I would like to move to a new bigger drive. I would like to move the volume pretty much as is, retaining all the subvolumes and (snapper) snapshots.
What is the best way to do this, ideally with some way to check the integrity and fidelity of the copy?
Some things I have looked at:
btrfs send
I'm not sure how to rebuild the snapshot structure (I have to specify parents manually?), how sending multiple subvols at once works, how to best check the integrity (maybe just a diff of the directories including the .snapshot directories?), or whether I should be using the "clone" argument and what it does.
buttersink
Seems to be abandoned. Designed for backups. Not sure if it offers much more than btrfs send.
btrbk
Designed for backups, not sure it fits my use case.
dd
Probably too low-level, might have problems with block size, partition sizing, etc.
My impression at the moment is that "btrfs send" followed by a diff is the best bet but I don't know how to handle sending the numerous snapshots that are on each subvol.