2つのbtrfsスナップショットが同じかどうかをテストする方法は?

2つのbtrfsスナップショットが同じかどうかをテストする方法は?

私が知っている限り、あるスナップショットが他のスナップショットと同じであることを確認するには、ターゲットスナップショットReceived UUIDのUUIDがソーススナップショットのUUIDと同じであることを確認する必要があります。

ただし、今回はプログラムを適用できません。

root@aea3:/mnt/zencefil/snapshots/rootfs# btrfs send rootfs.20170705T1334/ | pv | btrfs receive /mnt/aea3/manual-snapshots/                                              
At subvol rootfs.20170705T1334/                                                                                                                                          
At subvol rootfs.20170705T1334                                                                                                                                          
37.8GiB 0:37:27 [17.2MiB/s] [                                                                            
root@aea3:/mnt/zencefil/snapshots/rootfs# btrfs sub show rootfs.20170705T1334/
/mnt/zencefil/snapshots/rootfs/rootfs.20170705T1334
        Name:                   rootfs.20170705T1334
        UUID:                   e66ace1b-3efc-5d40-b3ca-af000110e89d
        Parent UUID:            85bc19f1-9d61-da43-a4be-40c717aee652
        Received UUID:          c6f65496-f21d-c049-b2e2-44007b269dc6
        Creation time:          2017-07-10 12:47:16 +0300
        Subvolume ID:           2561
        Generation:             4331
        Gen at creation:        4327
        Parent ID:              257
        Top level ID:           257
        Flags:                  readonly
        Snapshot(s):
                                snapshots/rootfs/rootfs.20170710T1242
root@aea3:/mnt/zencefil/snapshots/rootfs# btrfs sub show /mnt/aea3/manual-snapshots/rootfs.20170705T1334/
/mnt/aea3/manual-snapshots/rootfs.20170705T1334
        Name:                   rootfs.20170705T1334
        UUID:                   53bc9463-2fe6-9a41-b17d-a0a8dc5e6086
        Parent UUID:            -
        Received UUID:          c6f65496-f21d-c049-b2e2-44007b269dc6
        Creation time:          2017-07-12 10:36:50 +0300
        Subvolume ID:           1832
        Generation:             64698
        Gen at creation:        64627
        Parent ID:              1831
        Top level ID:           1831
        Flags:                  readonly
        Snapshot(s):
root@aea3:/mnt/zencefil/snapshots/rootfs# btrfs --version
btrfs-progs v4.11

ただし、テストスナップショットを作成して同じコンピュータの同じドライブに送信すると、期待どおりに機能します。

root@aea3:/mnt/zencefil/test# btrfs send mytest1/ | pv | btrfs receive /mnt/aea3/test/
At subvol mytest1/
At subvol mytest1
 540 B 0:00:00 [73.1KiB/s] [                                                                                                                                        ]
root@aea3:/mnt/zencefil/test# btrfs sub show mytest1/
/mnt/zencefil/test/mytest1
        Name:                   mytest1
        UUID:                   3a932406-8a81-5047-9a23-9333564752c2
        Parent UUID:            -
        Received UUID:          -
        Creation time:          2017-07-12 11:41:22 +0300
        Subvolume ID:           2567
        Generation:             4369
        Gen at creation:        4367
        Parent ID:              5
        Top level ID:           5
        Flags:                  readonly
        Snapshot(s):
root@aea3:/mnt/zencefil/test# btrfs sub show /mnt/aea3/test/mytest1/
/mnt/aea3/test/mytest1
        Name:                   mytest1
        UUID:                   98d59473-5a47-7742-bcf7-47262b9cada2
        Parent UUID:            -
        Received UUID:          3a932406-8a81-5047-9a23-9333564752c2
        Creation time:          2017-07-12 11:44:16 +0300
        Subvolume ID:           1844
        Generation:             64738
        Gen at creation:        64737
        Parent ID:              5
        Top level ID:           5
        Flags:                  readonly
        Snapshot(s):

ここで欠けている部分は何ですか?

答え1

最初のケースでは、スナップショットは/mnt/zencefil/snapshots/rootfs/rootfs.20170705T1334以前に別の場所で受信されました。元のUUIDはとして保存されます。これはReceived UUID、スナップショットを再送信するときにReceived UUIDコピーにも使用されます。

したがって、スナップショットが他のスナップショット(コピーなど)と同じであることを確認するには、受信したターゲットUUIDが次のようになっていることを確認してください。ソースのUUID(存在する場合)を受信するか、それ以外の場合はソースのUUIDです。

関連情報