Rekursiver Rollback eines ZFS-Datasets

06.01.2024
Dieser Inhalt ist bereits etwas älter.
This content is already a bit old.
Bild

Vor kurzem ist bei der Aktualisierung eines Paketes in einer Jail etwas schiefgelaufen und eine Datenbank wurde hierbei unbrauchbar. Also musste schnell ein Rollback auf die vorherige Version durchgeführt werden. Natürlich war ein regelmäßiger ZFS-Snapshot in FreeNAS eingerichtet gewesen.

Die Weboberfläche von FreeNAS hilft einem leider in diesem Fall nicht wirklich weiter, da dort nur das Rollback von den letzten erstellten Snapshot möglich ist. Also musste hier einmal mehr die Befehlszeile herhalten:

zfs rollback -r <Dataset-Pfad>@<Snapshot-Name>

Um den Namen des Snapshots ausfindig zu machen, sucht man diesen am besten über die FreeNAS-Weboberfläche:

auf Speicher > ZFS-Snapshots > 

Bild

klicken, und dann in Feld

Bild

den Namen des Datasets eingeben, welches wiederherstellt werden soll. Nach der Eingabe mit

Bild

bestätigen.

Nun werden alle verfügbaren Snapshots angezeigt. Nun muss nach dem letzten Snapshot gesucht werden, mit welchem die Konfiguration noch in Ordnung war. Die von FreeNAS automatisch erstellten Snapshots sind immer nach dem Schema auto-YYYYMMDD.HH.MM-<Aufbewahrungszeit> benannt. Wenn man nun den richtigen Snapshot gefunden hat, kann man nun den Befehl oben verwenden um einen rekursiven Rollback seines Datasets durchzuführen. Wenn es sich dabei um eine Jail handelt, muss diese vor dem Rollback gestoppt werden!

Natürlich kann man (sollte man) auch bei besonders kritischen Updates von Paketen ein manueller Snapshot kurz vor dem Update erstellen, um möglichst ohne Datenverluste die vorherige Version wiederherstellen zu können.


 

Feedback, suggestions for improvement, further ideas?

Simply use the contact form or send an email directly to info@kirgus.net.