Zfs Bookmark
urzantwort: Mit dem Befehl zfs bookmark kannst du aus einem bestehenden Snapshot einen Bookmark erzeugen. Syntax:
zfs bookmark <dataset>@<snapshot> <dataset>#<bookmarkname>
Ein Bookmark ist ein sehr platzsparender Verweis auf den Zeitpunkt des Snapshots und kann z. B. als Quelle für inkrementelle zfs send-Operationen genutzt werden.
🔹 Was sind Bookmarks in ZFS? Snapshots: vollständige, unveränderliche Abbilder eines Datasets zu einem bestimmten Zeitpunkt.
Bookmarks: extrem leichte Marker, die nur Metadaten enthalten. Sie zeigen auf den Zeitpunkt eines Snapshots, ohne den Snapshot selbst vorzuhalten.
Vorteil: Wenn du einen Snapshot löschen willst, kannst du vorher einen Bookmark anlegen, um den Zeitpunkt für spätere inkrementelle Backups zu behalten.
🔹 Syntax und Beispiele Einfacher Bookmark aus Snapshot
zfs bookmark tank/data@snap1 tank/data#bmark1
tank/data@snap1 = vorhandener Snapshot
tank/data#bmark1 = neuer Bookmark
Verwendung in zfs send Bookmarks können wie Snapshots als Referenz für inkrementelle Send-Streams dienen:
zfs send -i tank/data#bmark1 tank/data@snap2 | zfs recv backup/data
Hier wird ein inkrementelles Backup von bmark1 bis snap2 erstellt.
🔹 Praktische Tipps
Feature aktivieren: Bookmarks sind ein ZFS-Feature. Stelle sicher, dass dein Pool das Feature bookmarks unterstützt (zpool get all | grep bookmark).
Auflisten:
zfs list -t bookmark
Löschen:
zfs destroy tank/data#bmark1
👉 Zusammengefasst: Mit zfs bookmark wandelst du Snapshots in platzsparende Marker um, die sich hervorragend für inkrementelle Backups eignen, auch wenn der ursprüngliche Snapshot gelöscht wird.
Um aus bestehenden Snapshots in ZFS platzsparende Bookmarks zu machen, nutzt du den Befehl zfs bookmark.
🔹 Grundsyntax
zfs bookmark <dataset>@<snapshot> <dataset>#<bookmarkname>
# <dataset>@<snapshot> → der vorhandene Snapshot
# <dataset>#<bookmarkname> → der neue Bookmark
🔹 Beispiel Angenommen, du hast ein Dataset tank/data mit einem Snapshot snap1:
zfs bookmark tank/data@snap1 tank/data#bmark1
Damit entsteht ein Bookmark bmark1, der auf den Zeitpunkt von snap1 verweist.
🔹 Bookmarks auflisten
zfs list -t bookmark
🔹 Einsatzmöglichkeiten
Inkrementelle Backups:
zfs send -i tank/data#bmark1 tank/data@snap2 | zfs recv backup/data
→ erstellt ein inkrementelles Backup von bmark1 bis snap2.
Snapshots löschen, Zeitpunkt behalten: Du kannst den Snapshot löschen, aber den Bookmark behalten, um später noch inkrementelle zfs send-Operationen durchführen zu können.
🔹 Unterschiede Snapshot vs. Bookmark
| Merkmal | Snapshot | Bookmark |
|---|---|---|
| Speicherbedarf | benötigt Platz für geänderte Blöcke | nur wenige Bytes Metadaten |
| Sichtbar im FS | ja (.zfs/snapshot) | nein |
| Löschbar | ja, löscht aber Datenreferenzen | ja, ohne Datenverlust |
| Nutzung in send | ja | ja (als Referenzpunkt) |