I have a laptop with an internal drive using Btrfs. There are several subvolumes and snapshots on here. I want a copy of this drive to be made periodically to an external USB disk of approximately the same size. The external drive must be bootable, and near enough identical to the internal one, so that if the main drive fails I can just swap it in.
What is the best way to achieve this?
Below, some methods I have considered:
I considered using Btrfs RAID 1, but this is really designed for a permanently connected drive, so I suspect it would not work well.
When I had the same disk and used Ext4 on both, I managed this setup with Rysnc, which worked well. I expect this would not work though now, because rsync would not understand the snapshots, and would copy everything many times.
Maybe using Btrfs send / receive could be made to work, but it is not so simple, because to send a filesystem, a read only snapshot must first be made, and then the name of this snapshot is used on the external disk. I don't think there is a way to receive the root filesystem, at /