Update Probleme von Version 25.7.11 auf 26.1.x

Started by LP, Today at 11:59:54 AM

Previous topic - Next topic
Hallo Zusammen,

wir haben insgesamt 4 Standorte mit OPNsense Installationen. Leider gibt es gleich an 3 Standorten Probleme beim Updaten. Folgende Rahmenbedingungen:

OPNsense (virtualisiert)
Installierte Version 25.7.11_9
Hypervisor VMware ESXi-7.0U3w-24784741-standard
Hardware HPE ProLiant DL325 Gen10 Plus v2 Server

Nach dem Update der OPNsense auf Version 26.1.x treten folgende Fehler beim Booten auf:

Auszug Log beim Starten:

Trying to mount root from ufs:/dev/ufs/OPNsense [rw,noatime]...
Root mount waiting for: CAM
Mounting filesystems...
tinefs: soft updates remains unchanged as enabled
tunefs: issue TRIM to the disk remains unchanged as enabled
** /dev/ufs/OPNsense

...

(da0:mptt0:0:1:0): UNMAP failed, switching to WRITE SAME(16) with UNMAP BIO_DELETE
(da0:mptt0:0:1:0): UNMAP. CDB: 42 00 00 00 00 00 00 00 08 00
(da0:mptt0:0:1:0): CAM status: SCSI Status Error
(da0:mptt0:0:1:0): SCSI status: Check Condition
(da0:mptt0:0:1:0): SCSI sense: ILLEGAL Request asc:24,0 (invalid field in CDB)
(da0:mptt0:0:1:0): Command byte 7 is invalid
(da0:mptt0:0:1:0): Error 22, Unretryable error
g_vfs_done():ufs/OPNsense[DELETE(offset=55167287296, lenght=4096)]error=5

...

(da0:mptt0:0:1:0): WRITE SAME(16). CDB: 93 08 00 00 00 00 00 d8 d1 8f 00 00 00 40 00 00
(da0:mptt0:0:1:0): CAM status: SCSI Status Error
(da0:mptt0:0:1:0): SCSI status: Check Condition
(da0:mptt0:0:1:0): SCSI sense: Vendor Specific asc:80, 85 (Vendor Specific ASC)
(da0:mptt0:0:1:0): Info 0
(da0:mptt0:0:1:0): Error 5, Unretryable error
g_vfs_done():ufs/OPNsense[DELETE(offset=7275184128, lenght=32768)]error=5

Selbst wenn die OPNsense hochgefahren ist erscheinen Fehlermeldungen selbstständig im Login-Screen:

FreeBSD/amd64                 (ttyv0)

login: (da0: pvscs i0:0:1:0): WRITE SAME(16). CDB: 93 08 00 00 00 00 02 65 58 cf 0
0 00 00 40 00 00
(da0: pvscs 10:0:1:0): CAM status: SCSI Status Error
(da0: pvscs 10:0:1:0): SCSI status: Check Condition
(da0:pvscs i0:0:1:0): SCSI sense: Vendor Specific asc:80,85 (Vendor Specific ASC)
(da0:pvscsi0:0:1:0): Info: 0
(da0:pvscsi0:0:1:0): Error 5, Unretryable error
g_vfs_done():ufs/OPNsense[DELETE(offset =20580499456, length=32768) lerror = 5
g_vfs_done():ufs/OPNsense[DELETE(offset =20580564992, length=32768) Jerror = 5
g_vfs_done():ufs/OPNsense[DELETE(offset=20580466688, length=32768) lerror = 5

Unterschied zu dem anderen Standort wo es keine Probleme gibt -> Virtualisierung Proxmox

Bei bei der Recherche nach dem Problem hat sich herausgestellt, dass die Logeinträge auf ein Problem mit dem TRIM-Befehl (UNMAP) in virtualisierten Umgebungen hindeuten können. Die VM liegt auf einem SSD-Speicherpool mit Thin-Provisioned. Die OPNsense versucht, ungenutzte Speicherblöcke freizugeben, aber der Virtualisierungs-Host oder der emulierte Controller versteht die SCSI-Befehle (UNMAP / WRITE SAME) nicht korrekt. Dies kann zu Dateisystemfehlern (Error 5, Error 22) führen.


kurzfristigen Fix ausprobiert — UNMAP/TRIM deaktivieren

echo 'vfs.unmap_enabled=0' >> /boot/loader.conf.local

Langfristige Konfiguration (Host-Seite)

Falls TRIM genutzt werden soll (um die VM-Disk dünn zu halten):

Proxmox: Stelle den Controller auf VirtIO SCSI single und aktiviere bei der Disk die Option Discard.
VMware: Prüfe, ob die virtuelle Hardware-Version aktuell ist und der Controller-Typ (z. B. VMware Paravirtual) eingestellt ist.


Also habe ich den Speicher-Controller unter vmware auf Paravirtual umgestellt. Ebenso habe ich die Firmware Versionen aller Komponenten des Host-Servers aktualisiert, da auch eine alte Firmware des RAID-Controllers eine Ursache sein kann. Ich habe bereits die OPNsense im Single User Mode gebootet und das File System checken lassen mit dem Befehl fsck. Hier wurde mir die Ausgabe mit FILE SYSTEM IS CLEAN quittiert. Ich habe jedes Mal erneut das Update getestet.

Trotz dessen treten die Fehler weiterhin beim Starten der OPNsense nach dem Update auf und ich musste auf einen Snapshot vor dem Update zurückrollen. Hat jemand evtl. eine Idee zur Ursache oder wie ich den Fehler beheben kann? Es könnte womöglich auch eine beschädigte vmdk Datei der VM sein aber im Moment bin ich etwas ratlos. Falls weitere Infos benötigt werden liefere ich diese gerne nach. Ich bin für jede Hilfe dankbar!

Viele Grüße
Luca