OPNsense – Upgrade ohne Risiko mit Backup via Boot-Environment („Snapshots“) unter ZFS

Bei einem größeren Update bzw. Upgrade auf eine neuere Version von OPNsense, ist es immer gut ein Backup bzw. einen Notfallplan für den „Worst Case“ zu haben, gerade wenn man  nicht vor Ort ist um einen manuellen Neustart durchführen zu können, falls einmal etwas Schief geht…

Hier kommen die ZFS Boot-Environments („Snapshots“) ins Spiel…

Voraussetzung dafür ist, dass als Dateisystem ZFS bei der Installation von OPNsense gewählt wurde.
Mit UFS funktioniert das hier nicht, wobei UFS auch nicht mehr empfohlen wird bei neuen Installation, da bei einem Stromausfall, das Dateisystem beschädigt werden kann.
Da ist ZFS robuster! 💡 – deswegen wird für neu Installationen von OPNsense mittlerweile nur mehr ZFS empfohlen.

So wird’s gemacht:

Prüfen der Voraussetzungen:

  1. Via SSH (zb mit Putty) auf der OPNsense einloggen & die Console starten
  2. bectl checkausführen
    💡  ➡  wenn keine Ausgabe kommt, bedeutet das OK, sprich die Voraussetzung wird erfüllt!

 

Beispiel anhand des Upgrades von v24.1.10-8 auf v24.7.6:

Als erstes lassen wir uns alle bestehenden BE anzeigen, mit bectl list.

Das N hinter dem Namen steht dabei für das aktuell gestartete BE.
Das R hinter dem Namen für das BE, welches bei einem Neustart gestartet wird.

Bevor es mit dem Update/Upgrade los geht, legt man ein neues BE (mit der aktuell laufenden Version die man sichern möchte) an.
Dies geschieht mit: bectl create 24.1.10-8


Ruft man nun erneut die Übersicht aller vorhanden BE mit bectl listauf, sieht man, dass es nun zwei gibt.
Das gerade angelegte & das Standardmäßige „default“ BE:

Als nächstes wird das soeben erstelle BE aktiviert, dies ist das „Fallback“ falls etwas schiefgehen sollte, kann einfach dieser „Snapshot“ wieder gestartet werden, und man hat sein „altes“ funktionierendes System wieder.
Dies geschieht mit bectl activate 24.1.10-8

Ein erneuter Blick mit bectl list in die Auflistung der vorhanden BE zeigt nun hinter dem neuen BE „24.1.10-8„, ein „R“ an, was für „Reboot“ steht!

Würde man jetzt das Update/Upgrade im aktuellen „default“ BE starten, und die OPNsense anschließend neu booten, würde nachdem booten die alte Version mit „24.1.10-8“ wieder geladen werden.

Deswegen gibt es die Möglichkeit ein BE, in diesem Fall das „default“ als temporäres BE zu aktivieren.
Dies geschieht mit: bectl activate -t default

Ruft man nun erneut die Liste aller bestehenden BE mit bectl listauf, steht nun hinter dem „default“ BE zusätzlich zum N (für Now) ein T (für Temporary).

 

Update bzw. Upgrade durchführen:

Nun kann mit dem eigentlichen Update bzw. Upgrade begonnen werden.
Hierfür wie gewohnt in der GUI von OPNsense nach Aktualisierungen suchen & diese anschließend installieren lassen.

(Bild nur zur Veranschaulichung – hier hatte ich das Upgrade auf 24.7.6 bereits abgeschlossen!)


Sollte es hier nun also zu einem Fehler kommen & die Firewall nicht mehr starten, reicht es diese einmal vom Strom zu trennen bzw. manuell neu zu starten.
Anschließend wird das „alte“ „24.1.10-8“ BE wieder booten (das mit dem R in der Auflistung…), und man kann das Update/Upgrade nochmals versuchen.

➡ Hier dann aber vorher wieder ein neues funktionierendes BE erstellen, das als neues „Fallback“ dient!
➡ Denn wenn sonst beim aktuellen „24.1.10-8“ BE auch etwas schief geht, hat man kein „Fallback“ mehr, auf das man zurückgreifen könnte 😉

Außerdem steht nach dem erfolgreichem Boot der neuen Version  in der Auflistung der vorhandenen BE mit bectl listhinter dem „default“ BE wieder ein N

 

Letzte Abschlussarbeiten:

Zum Schluss muss das gerade Upgedatete BE hier „default“ wieder als BE bei Reboots aktiviert werden.
Dies geschieht mit bectl activate default
Prüft man anschließend mit bectl listnochmal die Auflistung der vorhandenen BE, sieht man das beim „default“ BE, nun wieder NR steht.
Was für „Now & Reboot“ steht!

Gutes Gelingen bei künftigen kritischen Updates eurer OPNsense Firewalls 😎 

Permanentlink zu diesem Beitrag: https://blog.adminweb.at/opnsense-upgrade-ohne-risiko-mit-backup-via-boot-environment-snapshots-unter-zfs/

Schreibe einen Kommentar

Deine Email-Adresse wird nicht veröffentlicht.