09.01.2021 19:01, [email protected] пишет: > I've got a drive with data, and 3 snapshots of that data. I've transferred > all the snapshots to another drive using btrfs send and receive. The send > drive has 3.62 GB of data, the receive drive has 4.99 GB of data. It seems > like the snapshots don't share data between them that was unchanged. > > How can I transfer the snapshots in such a way that the snapshots only occupy > the difference between the snapshots? > > The data on the original drive is organized like this: > /mnt/send/storage/ <= here's all the data > /mnt/send/storage_snapshots/ <= here are the 3 snapshots > > The data on the receiving drive is organized like this: > /mnt/rec/storage/ <= this folder is empty > /mnt/rec/storage_snapshots/ <= here are the 3 snapshots > /mnt/rec/btrfs_receive/ <= here are the 3 files generated by btrfs send > > How can I transfer the snapshots in such a way that /mnt/rec/storage/ holds > the latest version of the data, just like on the original drive? > > In detail: > # mkfs.btrfs -L SEND /dev/sda3 > # mount /dev/sda3 /mnt/send/ -o,compress,noatime > # mkfs.btrfs /dev/sdd2 -L DATA > # mount /dev/sdd2 ./mnt/rec/ -o,compress,noatime
I can think of at least two reasons 1. Inline data is not shared and compressing increases probability of inlining 2. I believe only extents that are aligned on and exact multiple of filesystem block are reflinked during send. > # btrfs subvolume create /mnt/rec/btrfs_receive/ > Create subvolume '/mnt/rec/btrfs_receive' > # btrfs subvolume create /mnt/rec/storage_snapshots > > # btrfs subvolume create /mnt/send/storage > # btrfs subvolume create /mnt/send/storage_snapshots > # cd /mnt/send/storage > # /home/cedric/mkfiles_and_md5.sh <<generates/ change data on the send drive > >> > # btrfs subvolume snapshot -r /mnt/send/storage > /mnt/send/storage_snapshots/storage-$(date +%Y_%m_%d-%H%m) > Create a readonly snapshot of '/mnt/send/storage' in > '/mnt/send/storage_snapshots/storage-2021_01_09-1301' > # /home/cedric/mkfiles_and_md5.sh <<generates/ change data on the send drive > >> > btrfs subvolume snapshot -r /mnt/send/storage > /mnt/send/storage_snapshots/storage-$(date +%Y_%m_%d-%H%m%S) > Create a readonly snapshot of '/mnt/send/storage' in > '/mnt/send/storage_snapshots/storage-2021_01_09-130120' > # /home/cedric/mkfiles_and_md5.sh <<generates/ change data on the send drive > >> > # btrfs subvolume snapshot -r /mnt/send/storage > /mnt/send/storage_snapshots/storage-$(date +%Y_%m_%d-%H%m%S) > Create a readonly snapshot of '/mnt/send/storage' in > '/mnt/send/storage_snapshots/storage-2021_01_09-130146' > > # btrfs send /mnt/send/storage_snapshots/storage-2021_01_09-1301 -f > /mnt/rec/btrfs_receive/storage-2021_01_09-1301.btrfssend > At subvol /mnt/send/storage_snapshots/storage-2021_01_09-1301 > [root@bcache-test rec]# btrfs send -p > /mnt/send/storage_snapshots/storage-2021_01_09-1301 > /mnt/send/storage_snapshots/storage-2021_01_09-130120 -f > /mnt/rec/btrfs_receive/storage-2021_01_09-130120.btrfssend > At subvol /mnt/send/storage_snapshots/storage-2021_01_09-130120 > [root@bcache-test rec]# btrfs send -p > /mnt/send/storage_snapshots/storage-2021_01_09-130120 > /mnt/send/storage_snapshots/storage-2021_01_09-130146 -f > /mnt/rec/btrfs_receive/storage-2021_01_09-130146.btrfssend > At subvol /mnt/send/storage_snapshots/storage-2021_01_09-130146 > > # btrfs receive -f /mnt/rec/btrfs_receive/storage-2021_01_09-1301.btrfssend > /mnt/rec/storage_snapshots > At subvol storage-2021_01_09-1301 > # btrfs receive -f /mnt/rec/btrfs_receive/storage-2021_01_09-130120.btrfssend > /mnt/rec/storage_snapshots > At snapshot storage-2021_01_09-130120 > # btrfs receive -f /mnt/rec/btrfs_receive/storage-2021_01_09-130146.btrfssend > /mnt/rec/storage_snapshots > At snapshot storage-2021_01_09-130146 > > # rm /mnt/rec/btrfs_receive/storage-2021_01_09-1301* > # btrfs filesystem show > Label: 'SEND' uuid: 61b7e45f-62a7-4b04-bc0c-ba1304548b02 > Total devices 1 FS bytes used 3.62GiB > devid 1 size 5.00GiB used 4.52GiB path /dev/sda3 > > Label: 'DATA' uuid: 95e85fa4-217c-429a-be55-833bb63e2c71 > Total devices 1 FS bytes used 4.99GiB > devid 1 size 931.01GiB used 10.02GiB path /dev/sdd2 > > > --- > > Take your mailboxes with you. Free, fast and secure Mail & Cloud: > https://www.eclipso.eu - Time to change! > >
