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 snapshot
Zeigt die Liste der Snapshots an, die vorhanden sein sollten, und .zfs/snapshots
enthä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?
Antworten:
Wenn Sie zum Beispiel ein untergeordnetes ZFS-Dateisystem haben
tank/newfs
. Dann werden Sie keine Dateien in findentank/newfs
im/tank/.zfs/mysnapshot
Ordner nur die einhängepunktnewfs
existieren. Wenn Sie auf die Dateien zugreifen möchten, müssen Sie im/tank/newfs/.zfs/mysnapshot
Ordner nach Ihren Dateien suchen .quelle
Die in aufgelisteten Snapshots
.zfs/snapshot/
werden beim Durchsuchen bei Bedarf automatisch bereitgestellt und bei Nichtverwendung automatisch entfernt.Ein einfaches
ls
Verzeichnis zu erstellen, reicht anscheinend nicht aus, um als "Nachfrage" zu gelten. Sie müssencd
in das betreffende Verzeichnis und dann denls
Befehl ausgeben .Möglicherweise müssen Sie auch
snapdir=visible
für das Dateisystem festlegen .quelle