pfSense: Update und wechsel auf ZFS

Es stand wieder ein Update an. Meine SG-2440 sollte von 21.05.1 auf 22.01 upgedatet werden. Normalerweise geht das einfach über die Weboberfläche und war in den vergangenen Jahren immer langweilig. Diesmal wollte ich im Rahmen des Updates direkt das Filesystem von UFS auf ZfS wechselt. Das geht leider/verständlicherweise nicht in place.

Also wieder die Standardvorbereitungen

  • Reboot (wir wollen ja nicht ein Problem mit der Festplatte haben und dann nach dem Update nicht wissen ob es ein Update oder Festplattenproblem ist)
  • dem Download der aktuellen und der neuen Firmware über ein Support Ticket (Dauert nur 10 Minuten und man hat die Download links)
  • einem aktuellen Backup der Konfiguration
  • Konsolezugriff noch einmal getestet.

Der Plan war direkt mit dem neuen Installationsmedium und einem dort platzierten Backup in eine funktionierende neue Version auf ZFS zu installieren. (Glücklicherweise verfüge ich über eine Backupmachine so das das Ganze etwas entspannter funktioniert)

Zuerst prüfen ob der neue Download korrekt ist

more pfSense-plus-memstick-ADI-22.01-RELEASE-amd64.img.gz.sha256
sha256 pfSense-plus-memstick-ADI-22.01-RELEASE-amd64.img.gz

Dann wie hier beschrieben das neue Installationsmedium erstellen

Wo ist mein UsB Stick

da0 at umass-sim0 bus 0 scbus4 target 0 lun 0
da0: <Generic Flash Disk 8.07> Removable Direct Access SPC-2 SCSI device
da0: Serial Number B4977845
da0: 40.000MB/s transfers
da0: 960MB (1966080 512 byte sectors)
da0: quirks=0x2<NO_6_BYTE>

Aha /dev/da0

Auspacken und schreiben

gzip -d pfSense-plus-memstick-ADI-22.01-RELEASE-amd64.img.gz
sudo dd if=pfSense-plus-memstick-ADI-22.01-RELEASE-amd64.img of=/dev/da0 bs=4m

In der Zwischenzeit kann man sich schon mal ein unverschlüsseltes Backup der aktuellen Konfiguration machen und nach config.xml umbenennen.

Wenn der dd Prozess beendet ist einmal den USB Stick raus und wieder rein. Dann habe ich den USB Stick gemounted und die gesicherte Konfiguration an die richtige Stelle kopiert

mkdir mount
mount /dev/da0s2a mount
mkdir mount/config
cp config.xml mount/config
umount mount

Von hier ab hat sich die Praxis ein wenig von der Theorie entfernt. Vielleicht habe ich aber auch irgendwo etwas falsch gemacht. Es funktionierte dann so

  1. Normal booten
  2. Neuen USB STick rein
  3. auf der Console einen Reboot anfordern
  4. Dann wurde in den Installer gebootet und ich habe die pfSense mit “yes,yes…” auf zfs installiert
  5. neu starten
  6. ausschalten und mit USB Stick neu gebootet

Dann wurde das Backup direkt eingerichtet und die Firewall kam mit den gesicherten Einstellungen aus dem Backup wieder hoch.