Gibt es eine Möglichkeit, festzustellen, ob zwei gleichnamige ZFS-Snapshots tatsächlich identisch sind?

Gibt es eine Möglichkeit, festzustellen, ob zwei gleichnamige ZFS-Snapshots tatsächlich identisch sind?

Wie können Sie feststellen, ob zwei ZFS-Snapshots identisch sind oder lediglich den gleichen Namen haben?

Angenommen, ich habe zwei Computer mit den Namen host-aund host-b. Nehmen wir außerdem an, dass dieser host-aeinen ZFS-Datensatz mit dem Namen hat /tank/mydataset.

Auf Host-A konnte ich:zfs snapshot tank/mydataset@mysnapshot' and then I could 'zfs send tank/mydataset@mysnapshot | ssh host-b zfs receive tank/mydataset

Dies würde bedeuten, dass auf beiden @mysnapshotidentisch wäre .host-ahost-b

Andererseits host-akönnte ich Folgendes schreiben: zfs snapshot tank/mydataset@mysnapshotgefolgt von ssh host-b zfs snapshot tank/mydataset@mysnapshot.

In diesem zweiten Fall sind die beiden Snapshots identisch benannt, der Datensatz kann jedoch völlig unterschiedlich sein.

Beim Betrachten der Eigenschaften tank/mydataset@mysnapshotwird keine offensichtliche Möglichkeit aufgelistet, um festzustellen, ob die Snapshots identisch sind (z. B. eine GUID oder ein Hash).

Gibt es eine andere Möglichkeit als zu versuchen, einen weiteren Snapshot zu erstellen und ihn über host-a tank/mydataset@mysnapshot2zu senden, um festzustellen, dass die Snapshots nicht nur vom Namen, sondern auch von den Blöcken her identisch sind?host-bzfs send -i @mysnapshot tank/mydataset@mysnapshot2 | ssh host-b zfs receive tank/mydataset

Antwort1

Es gibt eine Immobiliespeziellfür diesen Anwendungsfall.

zfs get guid pool/fs@snapgibt Ihnen eine GUID (Globally Unique ID) für einen Snapshot. Wenn die GUID zwischen zwei Snapshots nicht übereinstimmt, wird einer nicht vom anderen repliziert und sie dienen nicht als Grundlage für weitere inkrementelle Replikation.

So ist auchsynoididentifiziert allgemeine Snapshots, um Replikationsbefehle zu bestimmen.

(Haftungsausschluss: Ich bin der ursprüngliche Entwickler und Hauptbetreuer des Sanoid-Projekts, zu dem das Replikationstool Syncoid gehört.)

verwandte Informationen