ZFS Modul konnte nicht geladen werden nach Update

May 13, 2020
65
17
28
Hallo zusammen

Ich benutze Proxmox erst seit vier Monaten als Home Virtualisierungsumgebung und das Erlebnis war bis jetzt recht positiv. Allerdings bekam ich gestern einen ziemlichen Schreck: Nach dem letzten Update und anschliessenden Reboot weigerte sich das System zu starten, weil die ZFS Module nicht geladen werden konnten. Anscheinend hatte die neue Kernel Version Probleme mit dem Wert der Variable "zfs_arc_max". Hier die konfigurierte Option:

options zfs zfs_arc_max=17.179.869.184

Das gleiche Verhalten zeigte sich mit Kernel 5.3.18-3. Erst mit Kernel 5.3.18-2 konnte der Server normal starten. Wie es scheint, hatte dieser Kernel keine Probleme mit der Einstellung. Um mit Kernel 5.4.34-1 starten zu können, musste ich die Zeile im zfs.conf aus kommentieren. Danach funktionierte es einwandfrei.

Leider konnte ich den Vorfall nicht ausreichend dokumentieren (meine Priorität war den Server wieder zum Laufen zu bringen).

Der Witz an der Sache ist, dass ich mich nicht daran erinnere, den Wert so eingegeben zu haben (korrekt wäre options zfs zfs_arc_max=17179869184). Meine Frage ist nun: Gibt es Probleme mit mit diesem Parameter im neuen Kernel? Vielleicht war es nur ein Zufall, aber es wäre interessant zu wissen, ob ich den Parameter erneut setzen kann (logischerweise, mit dem richtigen Wert), ohne dass ich wieder eine böse Überraschung erlebe ... ;)

Vielen Dank im Voraus und Grüsse
 
  • Like
Reactions: VMTester
Gibt es Probleme mit mit diesem Parameter im neuen Kernel?

Ein sehr interessantes Problem. Ich habe noch nie Integer-Werte mit Tausenderpunkten versehen, weil normalerweise jede atoi Funktion, die ich kenne damit nicht zurechtkommt. Zumal die Tausenderpunkte ja auch noch "deutsch" sind, im englischsprachigen Raum sind ja Kommata die Norm.
 
Ein sehr interessantes Problem. Ich habe noch nie Integer-Werte mit Tausenderpunkten versehen, weil normalerweise jede atoi Funktion, die ich kenne damit nicht zurechtkommt. Zumal die Tausenderpunkte ja auch noch "deutsch" sind, im englischsprachigen Raum sind ja Kommata die Norm.

Hallo LnxBil,

danke für Deine Antwort.

Ich will keine Fehler meinerseits ausschliessen, aber ich bin mir ziemlich sicher, dass ich den Wert ohne Tausenderpunkte eingegeben habe. Aber selbst wenn ich doch einen Fehler gemacht hätte, erklärt dies nicht, wieso ich mehrere “Kernel-Updates“ mit der “fehlerhaften“ Einstellung ohne Probleme durchführen konnte...

Zurzeit funktioniert es bei mir mit dem Default Wert (wenn ich nicht falsch liege, 50% vom RAM). Aber es wäre blöd, wenn ich wieder Probleme habe, wenn ich versuche, den Speicherverbrauch für ZFS zu begrenzen... ;)
 
Last edited:
Das gleiche Verhalten zeigte sich mit Kernel 5.3.18-3. Erst mit Kernel 5.3.18-2 konnte der Server normal starten.

Danke für die Info,
hat mir weiter geholfen!

Falls jemand den gleichen Fehler wie ich gemacht hat und mit einem apt autoremove die alten Kernel gelöscht hat, hier die Kurzform:
Bash:
apt install pve-kernel-5.3.18-2-pve

Zum Auswählen des alten Kernel in Grub:
Bash:
grep gnulinux /boot/grub/grub.cfg
Ausgabe wird benötigt:
Bash:
menuentry 'Proxmox Virtual Environment GNU/Linux' --class proxmox --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-xxxxxxxxxxxxxx' {
submenu 'Advanced options for Proxmox Virtual Environment GNU/Linux' $menuentry_id_option 'gnulinux-advanced-xxxxxxxxxxxxxx' {
        menuentry 'Proxmox Virtual Environment GNU/Linux, with Linux 5.4.34-1-pve' --class proxmox --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.34-1-pve-advanced-xxxxxxxxxxxxxx' {
        menuentry 'Proxmox Virtual Environment GNU/Linux, with Linux 5.3.18-3-pve' --class proxmox --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.3.18-3-pve-advanced-xxxxxxxxxxxxxx' {
        menuentry 'Proxmox Virtual Environment GNU/Linux, with Linux 5.3.18-2-pve' --class proxmox --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.3.18-2-pve-advanced-xxxxxxxxxxxxxx' {
        menuentry 'Proxmox Virtual Environment GNU/Linux, with Linux 4.15.18-21-pve' --class proxmox --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.18-21-pve-advanced-xxxxxxxxxxxxxx' {
        menuentry 'Proxmox Virtual Environment GNU/Linux, with Linux 4.15.17-1-pve' --class proxmox --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.17-1-pve-advanced-xxxxxxxxxxxxxx' {

Konfig von Grub öffnen:
Bash:
nano /etc/default/grub

Konfig von Grub anpassen:
GRUB_DEFAULT auskommentieren:
Bash:
#GRUB_DEFAULT=0
dahinter einfügen - xxxxxxxxxxxxxx durch die Nummernkombi ersetzen:
Bash:
GRUB_DEFAULT="gnulinux-advanced-xxxxxxxxxxxxxx>gnulinux-5.3.18-2-pve-advanced-xxxxxxxxxxxxxx"

Jetzt noch grub aktualisieren:
Bash:
update-grub

Nach einem Neustart ging bei mir wieder alles

Ist nur eine Notlösung
Bei einem Update (neuen Kernel) sollte erneut getestet werden ob es wieder funktioniert!
 
  • Like
Reactions: Belegnor

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!