[Sammelthread] Proxmox Stammtisch

RAM habe ich 256GB zur Verfügung, aber natürlich soll das nicht alles an ZFS gehen. Habe gelesen, dass es sehr sehr hungrig sein soll und wenn der Speicher knapp wird, war es das mit Speed.

Ist der Controller dafür denn passabel, den ich habe, also geht das überhaupt? Und wie steht es mit den Settings, nimmt Proxmox da vernünftige Default Settings für ZFS oder habe ich hinterher irgendwelche unsinnigen Settings wie abstrus kleine Stripsize und sowas?
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
RAM habe ich 256GB zur Verfügung, aber natürlich soll das nicht alles an ZFS gehen. Habe gelesen, dass es sehr sehr hungrig sein soll und wenn der Speicher knapp wird, war es das mit Speed.

Da gibts viel Halbwissen und Geschreibsel im Internet.
Wahr ist, dass es stark vom Nutzungsszenario ankommt: Art der Last und wieviel User. Ein einfacher Filer daheim für Mediakram, Softwarelager ist mit ein paar GB happy, ein Server für Datenbank-Tablespaces oder VMs mit viel I/O in Enterpriseumgebungen nicht. Ob man HDD-Pools macht, ob man SSD-Pools macht.
Die Range ist da einfach rieeeesig.
Bei OpenZFS kannst Du notfalls den Arc (=Puffer, der wesentliche Ram-Bedarf) limitieren; oder einfach dynamisch lassen. Aber selbst wenn Du da z.B. auf 16-32GB limitierst, wirst Du in den meisten Homelab-Szenarien typischerweise schon extrem gute Performance haben.

Tipp: Tu bitte keine VM-Virtualdisks oder Systemdisks auf HDD-Pools. Macht man heute nicht mehr, da wirst Du unglücklich mit (bzgl. Lautstärke, Stromverbrauch, Performance) . Jede einzelne halbwegs brauchbare SSD ist da besser als ein Pool alter SAS-Laufwerke.

Ach ja: und apropos "Cache-SSDs" . Es gibt keinen SSD-Writecache so wie es Unraid macht. Kennt ZFS nicht.

Bzgl. Controller: Controller die selber Hardware-Raids bauen und Daten Cachen, sind völlig ungeeignet für ZFS. Für ZFS brauchst Du Controller, die die SAS/Sata-Ports ohne Caching direkt dem Betriebssystem zur Verfügung stellen: HBAs eben. Wenn der o.g. Adaptec sowas kann (ich kenne den Controller nicht): ja. Wenn der Adaptec immer cached und/oder Raids baut: hands off für ZFS.
 
Zuletzt bearbeitet:
Ist der Controller dafür denn passabel, den ich habe, also geht das überhaupt?
LSI/Avago/Broadcom ist ja mehr oder minder der Goldstandard, aber solange man den Controller sauber als HBA betreiben kann, spricht da nix gegen. Ich hatte bisher einen einzigen Adaptec-Controller, das war nicht so super intuitiv, aber ich glaube, es geht.

€dit: Ja, geht: https://www.thomas-krenn.com/de/wiki/Adaptec_und_Avago_Raid_Controller_als_HBA_nutzen
Neuste Firmware drauf und ab dafür.
 
Tipp: Tu bitte keine VM-Virtualdisks oder Systemdisks auf HDD-Pools. Macht man heute nicht mehr, da wirst Du unglücklich mit (bzgl. Lautstärke, Stromverbrauch, Performance) . Jede einzelne halbwegs brauchbare SSD ist da besser als ein Pool alter SAS-Laufwerke.

Also, das ist im Prinzip kein Server, der kontinuierlich läuft. Der wird hin und wieder mal für bestimmte Workloads eingespannt und muss dann zwischen 2-6 VMs gleichzeitig laufen haben. Heißt, der Stromverbrauch und die Lautstärke ist für das Kurzzeitszenario erstmal sekundär interessant, ABER ich möchte halt verhindern, dass ich bei 2 VMs schon so sehr im I/O Bottleneck hänge, dass die VMs schon kaum noch responsive sind. Mit dem RAID Controller als R10 geht das halbwegs gut und es fühlt sich responsive an, allerdings höre ich vermehrt, dass klassische RAID Controller einfach nicht mehr Stand der Dinge sind und man mit HBA und ZFS besser fahren soll, auch wenn ich persönlich bisher noch keine Probleme hatte.

das war nicht so super intuitiv,

Das ist gefasst ausgedrückt. Ich finde das Adaptec BIOS scheußlich, das LSI BIOS war da deutlich besser, aber mein LSI Controller kann kein HBA, daher ist der raus.
 
RAM habe ich 256GB zur Verfügung, aber natürlich soll das nicht alles an ZFS gehen. Habe gelesen, dass es sehr sehr hungrig sein soll und wenn der Speicher knapp wird, war es das mit Speed.
Per default nutzt OpenZFS da bis zu 50% des RAM als Arc Lesecache sowie 4GB RAM als Schreibcache. Kann man einstellen und ZFS gibt RAM (mit leichter Verzögerung) frei wenn andere Anwendungen RAM benötigen.

Im aktuellen OpenZFS 2.3 kann man direkt io aktivieren. Damit wird für das entsprechende Dateisystem gar kein Arc Caching aktiviert. NVMe werden damit scneller.
 
Guten Morgen zusammen,

ich habe ein merkwürdiges Phänomen bei meinem offsite Proxmox Backup Server, hier scheint es mit dem aktuellen Kernel
ein Problem zu geben was ich mir nicht so Recht erklären kann. Googlet man dazu, findet mal viele Treffer im Kontext von
sercure boot und Signaturen, hier handelt es sich aber um ein legacy BIOS baremetal.
Aufgefallen ist es mir jetzt aber auch erst etwas später, da die Kiste nur sporadisch aktiv ist, um die backups zu syncen und
der Job jetzt auf diese Nase gefallen ist, weil der zfs pool als Ziel nicht vorhanden ist. Ich gehe daher stark davon aus, dass
es mit den letzten Updates Einzug gehalten hat, kann es aber auch nicht mehr 100% sagen.

Boote ich das System mit dem Vorgänger Kernel 6.8.12-8-pve läuft alles unauffällig. :unsure:


Fehlermeldungen beim boot mit Kernel 6.8.12-9-pve:
Das System bootet normal, kann dann aber seinen zfs pool nicht importieren, da es offenbar Probleme beim Laden der zfs
Module gibt.
Code:
...
Apr 05 08:35:14 pbs-offsite systemd-journald[311]: Journal started
Apr 05 08:35:14 pbs-offsite systemd-journald[311]: Runtime Journal (/run/log/journal/98b229f1f0e1463fb3a1a93a9a86966c) is 8.0M, max 78.8M, 70.8M free.
Apr 05 08:35:12 pbs-offsite systemd-modules-load[312]: Failed to insert module 'zfs': Key was rejected by service
Apr 05 08:35:14 pbs-offsite systemd[1]: Started systemd-journald.service - Journal Service.
Apr 05 08:35:12 pbs-offsite systemd-udevd[331]: Using default interface naming scheme 'v252'.
Apr 05 08:35:13 pbs-offsite lvm[379]: PV /dev/sda3 online, VG pbs is complete.
Apr 05 08:35:13 pbs-offsite lvm[379]: VG pbs finished
Apr 05 08:35:14 pbs-offsite kernel: usbcore: registered new interface driver usbmouse
Apr 05 08:35:14 pbs-offsite kernel: usbcore: registered new interface driver usbkbd
Apr 05 08:35:13 pbs-offsite systemd-modules-load[382]: Failed to insert module 'zfs': Key was rejected by service
Apr 05 08:35:13 pbs-offsite (udev-worker)[335]: sdc1: Process '/sbin/modprobe zfs' failed with exit code 1.
Apr 05 08:35:13 pbs-offsite (udev-worker)[345]: sdb1: Process '/sbin/modprobe zfs' failed with exit code 1.
Apr 05 08:35:13 pbs-offsite (udev-worker)[338]: sdd1: Process '/sbin/modprobe zfs' failed with exit code 1.
Apr 05 08:35:14 pbs-offsite lvm[303]:   2 logical volume(s) in volume group "pbs" monitored
Apr 05 08:35:13 pbs-offsite systemd-modules-load[412]: Failed to insert module 'zfs': Key was rejected by service
Apr 05 08:35:13 pbs-offsite systemd-modules-load[444]: Failed to insert module 'zfs': Key was rejected by service
Apr 05 08:35:14 pbs-offsite udevadm[334]: systemd-udev-settle.service is deprecated. Please fix zfs-import-cache.service, zfs-import-scan.service not to pull it in.
Apr 05 08:35:14 pbs-offsite kernel: input: BMC Virtual Keyboard  as /devices/pci0000:00/0000:00:1c.7/0000:01:00.4/usb1/1-1/1-1:1.0/0003:03F0:7029.0001/input/input5
Apr 05 08:35:14 pbs-offsite systemd[1]: Starting systemd-journal-flush.service - Flush Journal to Persistent Storage...
Apr 05 08:35:14 pbs-offsite systemd-journald[311]: Time spent on flushing to /var/log/journal/98b229f1f0e1463fb3a1a93a9a86966c is 148.751ms for 1054 entries.
Apr 05 08:35:14 pbs-offsite systemd-journald[311]: System Journal (/var/log/journal/98b229f1f0e1463fb3a1a93a9a86966c) is 74.5M, max 4.0G, 3.9G free.
Apr 05 08:35:14 pbs-offsite systemd-journald[311]: Received client request to flush runtime journal.
Apr 05 08:35:14 pbs-offsite kernel: hid-generic 0003:03F0:7029.0001: input,hidraw0: USB HID v1.01 Keyboard [BMC Virtual Keyboard ] on usb-0000:01:00.4-1/input0
Apr 05 08:35:14 pbs-offsite kernel: input: BMC Virtual Keyboard  as /devices/pci0000:00/0000:00:1c.7/0000:01:00.4/usb1/1-1/1-1:1.1/0003:03F0:7029.0002/input/input6
Apr 05 08:35:14 pbs-offsite kernel: hid-generic 0003:03F0:7029.0002: input,hidraw1: USB HID v1.01 Mouse [BMC Virtual Keyboard ] on usb-0000:01:00.4-1/input1
Apr 05 08:35:14 pbs-offsite systemd[1]: Finished systemd-journal-flush.service - Flush Journal to Persistent Storage.
Apr 05 08:35:14 pbs-offsite systemd[1]: Finished ifupdown2-pre.service - Helper to synchronize boot up for ifupdown.
Apr 05 08:35:14 pbs-offsite systemd[1]: Finished systemd-udev-settle.service - Wait for udev To Complete Device Initialization.
Apr 05 08:35:14 pbs-offsite systemd[1]: Starting zfs-import@offsite\x2dzfs.service - Import ZFS pool offsite\x2dzfs...
Apr 05 08:35:14 pbs-offsite zpool[467]: Failed to initialize the libzfs library.
Apr 05 08:35:14 pbs-offsite systemd[1]: zfs-import@offsite\x2dzfs.service: Main process exited, code=exited, status=1/FAILURE
Apr 05 08:35:14 pbs-offsite systemd[1]: zfs-import@offsite\x2dzfs.service: Failed with result 'exit-code'.
Apr 05 08:35:14 pbs-offsite systemd[1]: Failed to start zfs-import@offsite\x2dzfs.service - Import ZFS pool offsite\x2dzfs.
Apr 05 08:35:14 pbs-offsite systemd[1]: zfs-import-cache.service - Import ZFS pools by cache file was skipped because of an unmet condition check (ConditionPathIsDirectory=/sys/module/zfs).
Apr 05 08:35:14 pbs-offsite systemd[1]: zfs-import-scan.service - Import ZFS pools by device scanning was skipped because of an unmet condition check (ConditionPathIsDirectory=/sys/module/zfs).
Apr 05 08:35:14 pbs-offsite systemd[1]: Reached target zfs-import.target - ZFS pool import target.
Apr 05 08:35:14 pbs-offsite systemd[1]: zfs-mount.service - Mount ZFS filesystems was skipped because of an unmet condition check (ConditionPathIsDirectory=/sys/module/zfs).
Apr 05 08:35:14 pbs-offsite systemd[1]: Reached target local-fs.target - Local File Systems.
...


Den Fehler bekommt man wenig überraschend auch beim manuell Versuch das Modul zu laden.

root@pbs-offsite:~# modprobe zfs
modprobe: ERROR: could not insert 'zfs': Key was rejected by service


Die Probleme scheinen aber initial schon mit dem systemd modul service loszugehen.
root@pbs-offsite:~# systemctl status systemd-modules-load.service
× systemd-modules-load.service - Load Kernel Modules
Loaded: loaded (/lib/systemd/system/systemd-modules-load.service; static)
Active: failed (Result: exit-code) since Sat 2025-04-05 08:52:03 CEST; 4min 58s ago
Docs: man:systemd-modules-load.service(8)
man:modules-load.d(5)
Process: 431 ExecStart=/lib/systemd/systemd-modules-load (code=exited, status=1/FAILURE)
Main PID: 431 (code=exited, status=1/FAILURE)
CPU: 53ms

Vergleich 6.8.12-8-pve (-b -1) vs 6.8.12-9-pve (-b):
root@pbs-offsite:~# journalctl -b -1 -k -p err
Apr 05 08:45:56 pbs-offsite kernel: ACPI: SPCR: [Firmware Bug]: Unexpected SPCR Access Width. Defaulting to byte size
Apr 05 08:45:56 pbs-offsite kernel: DMAR: [Firmware Bug]: No firmware reserved region can cover this RMRR [0x00000000000e8000-0x00000000000e8fff], contact BIOS vendor for fixes
Apr 05 08:45:56 pbs-offsite kernel: [Firmware Bug]: the BIOS has corrupted hw-PMU resources (MSR 38d is 330)
Apr 05 08:45:56 pbs-offsite kernel: DMAR: DRHD: handling fault status reg 2
Apr 05 08:45:56 pbs-offsite kernel: DMAR: [INTR-REMAP] Request device [01:00.0] fault index 0x17 [fault reason 0x26] Blocked an interrupt request due to source-id verification failure
root@pbs-offsite:~# journalctl -b -k -p err
Apr 05 08:52:02 pbs-offsite kernel: ACPI: SPCR: [Firmware Bug]: Unexpected SPCR Access Width. Defaulting to byte size
Apr 05 08:52:02 pbs-offsite kernel: DMAR: [Firmware Bug]: No firmware reserved region can cover this RMRR [0x00000000000e8000-0x00000000000e8fff], contact BIOS vendor for fixes
Apr 05 08:52:02 pbs-offsite kernel: [Firmware Bug]: the BIOS has corrupted hw-PMU resources (MSR 38d is 330)
Apr 05 08:52:03 pbs-offsite kernel: DMAR: DRHD: handling fault status reg 2
Apr 05 08:52:03 pbs-offsite kernel: DMAR: [INTR-REMAP] Request device [01:00.0] fault index 0x14 [fault reason 0x26] Blocked an interrupt request due to source-id verification failure
Apr 05 08:52:04 pbs-offsite systemd[1]: Failed to start systemd-modules-load.service - Load Kernel Modules.
Apr 05 08:52:04 pbs-offsite systemd[1]: Failed to start systemd-modules-load.service - Load Kernel Modules.
Apr 05 08:52:04 pbs-offsite systemd[1]: Failed to start systemd-modules-load.service - Load Kernel Modules.



Bin im Moment etwas überfragt, woran es liegen könnte - vielleicht hat ja jemand 'ne Idee oder kennt das Phänomen?

Habe jetzt den Kernel erst mal auf 6.8.12-8-pve gepint und die Kiste läuft damit soweit.
 
Kernal Probleme haben je nach Hardware oft die Ursache im Bereich Bios/IOMMU. Beim HP Mircoserver Gen8 musste ich ab Kernal 6.8.xx irgendwann im Bios vt-d und vt-x abschalten, und beim booten IOMMU abschalten, sonst hagelte es Fehlermedungen bzw das System bootetet nicht mehr vernünftig.

1) Falls vorhanden/möglich: Bios Update machen
2) vt-x/vt-d abschalten
3) IOMMU im Grub abschalten

Oder mit pinned Kernal leben, das wird aber imit zukünftigen Updates i.d.r. nicht besser, d.h. irgendwann wird der Kernal zu alte sein oder andere Probleme nach sich ziehen.
 
Fand ich auch nicht gut, war aber eben auch lt. expliziter Nachfrage im Proxmox Forum der einzige weg. Oder halt alten Kernal verwenden.
 
Der wird hin und wieder mal für bestimmte Workloads eingespannt und muss dann zwischen 2-6 VMs gleichzeitig laufen haben. Heißt, der Stromverbrauch und die Lautstärke ist für das Kurzzeitszenario erstmal sekundär interessant, ABER ich möchte halt verhindern, dass ich bei 2 VMs schon so sehr im I/O Bottleneck hänge, dass die VMs schon kaum noch responsive sind. Mit dem RAID Controller als R10 geht das halbwegs gut und es fühlt sich responsive an, allerdings höre ich vermehrt, dass klassische RAID Controller einfach nicht mehr Stand der Dinge sind und man mit HBA und ZFS besser fahren soll, auch wenn ich persönlich bisher noch keine Probleme hatte.

Alleine aus Performancegründen packe ich VMs grundsätzlich nicht mehr auf HDDs/HDD-Pools. Seit Jahren. Einfach auf ne SSD packen statt nem HDD-Raid. Du wirst Bauklötze staunen, wie schnell das ist. (sofern die SSD halbwegs was taugt).
Vielleicht klingt es für manche User etwas hart, aber VMs auf HDD halte ich mittlerweile für Retrocomputerei. Selbst einzelne SSDs haben, unabhängig von ZFS, eine um Magnituden höhere Performance.
HDDs sind daher bei mir nur noch für Coldstorage/Backups und Archiv großer Mediafiles oder Software. Alles andere seit vielen Jahren nur noch SSDs.
Beitrag automatisch zusammengeführt:

Im aktuellen OpenZFS 2.3 kann man direkt io aktivieren. Damit wird für das entsprechende Dateisystem gar kein Arc Caching aktiviert. NVMe werden damit scneller.
:banana: Hoffe 2.3 kommt bald in Proxmox rein. Bringt ja auch Raidz Expansion.
Endlich "all ahead flank speed" dann bei NVME-Speeds? Fein fein fein. Das nervt mich irgendwie, dass ich die selbst bei guten und sehr guten gen4 NVME-SSDs bei großen Blöcken grad mal an 2,5 GB/s auf nem Einzeldevice sehe, während die bei Windows und DD (dort mit Direct IO) 7+ GB/s drücken.
 
Zuletzt bearbeitet:
Den 2208 wird man wohl nicht umflashen können. Am besten wäre es einen günstigen LSI 3008 basierten HBA zu kaufen. Zur Not ginge ZFS ohne BBU und deaktiviertem Cache mit Raid-0 artigen Arrays aus einzelnen Platten.
 

Den 2208 wird man wohl nicht umflashen können.

Geht :)


Sinnvoll? Vermutlich ist es einfacher, einen passenden HBA zu besorgen und den RAID-Controller auf Halde zu legen oder zu veräußern. Aber für wirklich mutige gäbe es einen Weg, ohne weitere finanzielle Ausgaben.

Edit: STH hat auch noch ein bisschen Lektüre dazu.

 
1) Falls vorhanden/möglich: Bios Update machen
2) vt-x/vt-d abschalten
3) IOMMU im Grub abschalten

1) dürfte lange raus, da ist wird nix mehr kommen,
2) mal zum Testen beides abgeschaltet
3) grub mal ergänzt, hoffe das ist das richtige vorgehen?
Apr 05 22:27:02 pbs-offsite kernel: Command line: BOOT_IMAGE=/boot/vmlinuz-6.8.12-9-pve root=/dev/mapper/pbs-root ro quiet intel_iommu=off

Das Ergebnis ist, geht dennoch nicht, zwar bleiben nun ein paar andere DMAR Fehlermeldunge aus, das eigentlich Problem mit dem zfs Modul bleibt
aber.


Code:
root@pbs-offsite:~# journalctl -b -k -p err
Apr 05 22:34:22 pbs-offsite kernel: ACPI: SPCR: [Firmware Bug]: Unexpected SPCR Access Width. Defaulting to byte size
Apr 05 22:34:22 pbs-offsite kernel: x86/cpu: VMX (outside TXT) disabled by BIOS
Apr 05 22:34:22 pbs-offsite kernel: [Firmware Bug]: the BIOS has corrupted hw-PMU resources (MSR 38d is 330)


root@pbs-offsite:~# systemctl status systemd-modules-load.service
× systemd-modules-load.service - Load Kernel Modules
     Loaded: loaded (/lib/systemd/system/systemd-modules-load.service; static)
     Active: failed (Result: exit-code) since Sat 2025-04-05 22:34:22 CEST; 9min ago
       Docs: man:systemd-modules-load.service(8)
             man:modules-load.d(5)
    Process: 434 ExecStart=/lib/systemd/systemd-modules-load (code=exited, status=1/FAILURE)
   Main PID: 434 (code=exited, status=1/FAILURE)
        CPU: 56ms

Apr 05 22:34:22 pbs-offsite systemd[1]: Starting systemd-modules-load.service - Load Kernel Modules...
Apr 05 22:34:22 pbs-offsite systemd[1]: systemd-modules-load.service: Main process exited, code=exited, status=1/FAILURE
Apr 05 22:34:22 pbs-offsite systemd[1]: systemd-modules-load.service: Failed with result 'exit-code'.
Apr 05 22:34:22 pbs-offsite systemd[1]: Failed to start systemd-modules-load.service - Load Kernel Modules.
root@pbs-offsite:~# modprobe zfs
modprobe: ERROR: could not insert 'zfs': Key was rejected by service
 
Nee, un-pinned hatte ich ihn nicht, aber explizit unter den advanced grub options zum booten ausgewählt.

Werde die Frage mal im Proxmox Forum stellen und hoffe auf 'ne Idee.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh