Warum sind alle meine ZFS-Snapshot-Verzeichnisse leer?

13

Ich verwende eine Oracle 11-Box als ZFS-Speicher-Appliance und mache über regelmäßig Snapshots der ZFS-Dateisysteme cron.

In der Vergangenheit wusste ich, dass, wenn ich eine bestimmte Datei aus einem Schnappschuss abrufen wollte, eine schreibgeschützte Kopie beibehalten wurde .zfs/snapshot/{name}/und ich einfach dorthin navigieren und die Datei herausziehen konnte. Dies ist auf der Oracle-Website dokumentiert .

Allerdings habe ich dies neulich getan und festgestellt, dass die ZFS-Verzeichnisse in den Snapshot-Verzeichnissen alle leer sind. zfs list -t snapshotZeigt die Liste der Snapshots an, die vorhanden sein sollten, und .zfs/snapshotsenthält korrekterweise ein Verzeichnis für jeden Snapshot. In jedem Snapshot ist ein Verzeichnis für jedes ZFS-Dateisystem vorhanden. Diese Verzeichnisse scheinen jedoch leer zu sein.

Ich habe gerade eine Wiederherstellung getestet, indem ich eine Datei in einer wenig genutzten Freigabe berührt und einen Rollback auf den letzten stündlichen Snapshot durchgeführt habe. Dies hat anscheinend gut funktioniert. Die Rollback-Funktionalität ist also da.

Hat Oracle die Erstellung von Snapshots geändert? Oder stimmt hier etwas nicht?

wachsen
quelle
Und auch github.com/zfsonlinux/zfs/issues/3030 . Sie verwenden jedoch den Oracle ZFS-Baum, und sie haben wahrscheinlich genug umgeleitet, um nicht mehr direkt vergleichbar zu sein.
Perseiden

Antworten:

5

Wenn Sie zum Beispiel ein untergeordnetes ZFS-Dateisystem haben tank/newfs. Dann werden Sie keine Dateien in finden tank/newfsim /tank/.zfs/mysnapshotOrdner nur die einhängepunkt newfsexistieren. Wenn Sie auf die Dateien zugreifen möchten, müssen Sie im /tank/newfs/.zfs/mysnapshotOrdner nach Ihren Dateien suchen .

Olav Grønås Gjerde
quelle
0

Die in aufgelisteten Snapshots .zfs/snapshot/werden beim Durchsuchen bei Bedarf automatisch bereitgestellt und bei Nichtverwendung automatisch entfernt.

Ein einfaches lsVerzeichnis zu erstellen, reicht anscheinend nicht aus, um als "Nachfrage" zu gelten. Sie müssen cdin das betreffende Verzeichnis und dann den lsBefehl ausgeben .

Möglicherweise müssen Sie auch snapdir=visiblefür das Dateisystem festlegen .

Daniel
quelle