Backbrain   Archive

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)