ZFS - Teil 3 - Snapshot

Snapshots - quasi ein Schnappschuss des momentanen Zustands der Festplatte und dessen Daten. Das ist die Kurzfassung. Doch die ZFS-Snapshots sind faszinierend und daher gibt's hier mehr...

Es liest sich faszinierend. Ich drücke auf einen Knopf, es macht "knips" und ich habe einen Zustand, den ich immer wieder herstellen kann. Und was soll ich sagen: Es funktioniert wirklich so!

ZFS Snapshots sind "read-only". - Also nur lesbare Dateisystemkopien. Da keine Blöcke gelöscht werden, sondern nur neu verlinkt werden, geht für die Snapshots praktisch kaum Speicherplatz verloren. Um diese Funktion mal auf einfachst weise erleben zu können, kann in der "System-Verwaltung" die automatischen Snapshots aktiviert werden und schon ist das "Uhren-Symbol" in der Symbolleiste des Nautilus nicht mehr ausgegraut. Klick man das Symbol an, so erscheint eine Zeitleiste, die Snapshots der zuvor festgelegten ZFS-Pools anzeigt. Schiebt man den Regler auf eine beliebige Position zurück, sieht man den Stand zu eben dieses Zeitpunktes. Das diese Funktion auch wirklich das hält, was sie verspricht, kann man einfach testen indem man die Icons vom Desktop löscht, in der Zeitleiste ein paar Minuten zurück fährt und diese einfach auf den Desktop zurück zieht. Es funktioniert!

Das automatisierte Sichern durch Snapshots ist ein wirklich gutes Feature. Im Bereich "Dienste/Services" in der Verwaltung kann man alternative Snapshot-Intervalle angeben. Ist auch sinnvoll, wenn sich nicht so häufig die Daten ändern. Das Erstellen von Snapshots, so wie ich es bisher vorstellte, wäre so schon revolutionär. Richtig praktisch wird es aber erst, wenn man beliebige Snapshots erstellen kann. ...und das kann man natürlich auch...

zfs snapshot -r pool/export@jetzt

Hier wird also "jetzt" ein Snapshot gemacht, der über die Bezeichnung "jetzt" wieder aufgerufen werden kann. Wie an diesem Beispiel ist es praktikabler eine sinnvolle Bezeichnung für den Snapshot zu wählen. Das "-r" steht für "rolling", "-i" für "incremental". Diese Parameter sind optional. Was im einzelnen die Parametrisierung angeht, so sollte man sich etwas Zeit nehmen und die entsprechenden Dokumentationen durchforsten. Warum schreibe ich das nicht hier? Es geht um Datensicherung und um Datensicherheit und das ist ein Thema, mit dem man sich aktiv beschäftigen sollte und nicht nur mal so zwischen durch was gelesen haben.

Um einen bestehenden Snapshot umbenennen zu können reicht folgende Eingabe: zfs rename /pool/export@jetzt /pool/export@vorhin

Die Pools müssen natürlich die selben sein. Ein verschieben eines Snapshots in einen anderen Pool wäre dann ja auch kein Umbenennen mehr, oder?! Solche Sachen kann man dann über das "Klonen" bewerkstelligen. - Dies ist aber ein Thema für sich.

Anlegen und Umbenennen sind ja schon mal ganz gut, aber die Timeline von Nautilus kann doch wohl nicht die einzige Möglichkeit sein, auf die Snapshots zugreifen zu können? Nein, natürlich nicht! Mit zfs list -f snapshot kann man sich die Liste der vorhandenen Snapshots anzeigen lassen, die man im ".zfs/snapshot"-Verzeichnis im entsprechenden Pool findet.

Hat man sich für den richtigen Snapshot entschieden und will den Pool bzw. das Dateisystem auf eben diese Sicherung wieder zurückfahren, kann man das auch recht leicht erledigen: zfs roolback -r /pool/export@vorher Das "-r" bedeutet hier (wohl) "remove", denn Snapshots, die zwischen dem ausgewählten Snapshot und dem jetzigen Zeitpunkt erstellt wurden, werden somit entfernt.

Da dies hier nur ein kleiner Einblick sein soll, ende ich nun meine Ausführung und schließe mit der Überzeugung, dass ZFS und die Snapshot-Funktionalität eine perfekte Umgebung für einen FileServer sind. Was man mit dieser Aussage anfängst, bleibt des Lesers Motivation, Fantasie und Möglichkeiten überlassen.

ZFS - Übersicht