¿Hay alguna manera de saber si dos instantáneas ZFS con nombres idénticos son realmente idénticas?

¿Hay alguna manera de saber si dos instantáneas ZFS con nombres idénticos son realmente idénticas?

¿Cómo puede saber si dos instantáneas ZFS son idénticas o simplemente tienen el mismo nombre?

Digamos que tengo dos computadoras llamadas host-ay host-b. Supongamos también que host-atiene un conjunto de datos ZFS llamado /tank/mydataset.

En host-a, podría:zfs snapshot tank/mydataset@mysnapshot' and then I could 'zfs send tank/mydataset@mysnapshot | ssh host-b zfs receive tank/mydataset

Esto significaría @mysnapshotque sería idéntico en ambos host-ay host-b.

Por otro lado, en host-aPodría: zfs snapshot tank/mydataset@mysnapshotseguido de ssh host-b zfs snapshot tank/mydataset@mysnapshot.

En este segundo caso, las dos instantáneas tienen nombres idénticos, pero el conjunto de datos puede ser muy diferente.

Al observar las propiedades de tank/mydataset@mysnapshotno se muestra ninguna forma aparente de identificar si las instantáneas son idénticas, es decir, un GUID o hash.

Además de intentar tomar otra instantánea host-a tank/mydataset@mysnapshot2e intentar enviarla, host-b¿ zfs send -i @mysnapshot tank/mydataset@mysnapshot2 | ssh host-b zfs receive tank/mydatasethay alguna manera de determinar que las instantáneas son idénticas no solo en el nombre, sino también en los bloques?

Respuesta1

hay una propiedadespecíficamentepara este caso de uso.

zfs get guid pool/fs@snaple dará un GUID (ID global único) para una instantánea. Si el GUID no coincide entre dos instantáneas, una no se replica desde la otra y no funcionarán como base para una replicación incremental adicional.

Así es también comosincoideIdentifica instantáneas comunes para determinar los comandos de replicación.

(Descargo de responsabilidad: soy el desarrollador inicial y el jefe de mantenimiento del proyecto Sanoid, al que pertenece la herramienta de replicación Syncoid).

información relacionada