IO Backpressure, mein Fehler

Jan 18, 2025
55
6
8
Austria
Hallo und frohes Neues 2026. Alles Gute für Euch und das ganze Team!

Ich hab nicht gehört und nun bekomme ich die Rechnung. Mein Proxmox system Läuft auf einem ZFS von ca 3TB aus 3 jeweils 1TB großen Consumer SSDs.
1767299920367.png

1767300326921.png
Nun passiert es regelmäßig, dass das ganze System "zögert" also langsam bis gar nicht reagiert, wenn auf dem System-ZFS etwas passiert. Beispiele sind z.B. Home Assistant, der vor dem Update ein Backup macht oder seine Daten aufräumt beim löschen, Ändern oder Hinzufügen von Sensoren.

Wie komme ich aus dem Schlamassel elegant raus, ohne gleich auf 3 Server-SSDs umzurüsten? Ich habe z.B. noch einen Slot im SSD_Tray frei und könnte eine super schnelle aber kleine SSD hinzufügen als Cache. Oder ich könnte eine PCIe-8x Karte hinzustecken mit Steckplätzen für NVMEs. Aber aktuell habe ich noch andere Prioritäten und suche daher einen zuverlässigen kostengünstigen Weg, den Consumer SSDs die Last zu reduzieren und das ganze System flüssiger zu bekommen.

Für ein paar einfache Schritte und ggf. nötige Kaufempfehlungen wäre ich sehr dankbar!

Alles Gute und vielen Dank
Astralix
 
Hier der zpool status:
Bash:
  pool: rpool
 state: ONLINE
status: Some supported and requested features are not enabled on the pool.
        The pool can still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
        the pool may no longer be accessible by software that does not support
        the features. See zpool-features(7) for details.
  scan: scrub repaired 0B in 00:04:41 with 0 errors on Sun Dec 14 00:29:06 2025
config:

        NAME                                        STATE     READ WRITE CKSUM
        rpool                                       ONLINE       0     0     0
          raidz1-0                                  ONLINE       0     0     0
            ata-CT1000BX500SSD1_2435E98A4C02-part3  ONLINE       0     0     0
            ata-CT1000BX500SSD1_2435E98A4BEF-part3  ONLINE       0     0     0
            ata-CT1000BX500SSD1_2408E898FA2B-part3  ONLINE       0     0     0

errors: No known data errors

Dass ich da noch extra ein "zpool upgrade" machen muss ist mir allerdings entgangen. Ich bin aber fast sicher, dass das das eigentliche Problem nicht löst?

Die SSDs sind Crucial CT1000BX500SSD1
1767301187710.png

There is no swap partition enabled in the system, even there is one on a older SSD that is sitting in the system to have it's data moved to the other partitions.

Code:
:~# cat /proc/swaps
Filename                                Type            Size            Used            Priority
:~# swapon --show
:~# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st gu
 0  0      0 49880552   1388 2476352    0    0 13702  1421 1974    1  0  0 98  1  0  0
:~#
 
Last edited:
die bx500 sind richtig übel. unterste schublade für proxmox zusammen mit sämtlichen qlc ssds ohne dram cache.
du könntest, wenn du schon nicht auf enterprise ssds umstellen willst, zumindest bessere consumer-ssds verwenden.
hier gilt in der regel "you get, what you pay for", also je billiger, desto schlechter.

wenn es unbedingt consumer-ssds sein müssen (kann nur abraten), dann schau wenigstens, dass es welche mit dram-cache sind und keine HMB-Laufwerke (die verwenden das system-ram als cache).

beste performance mit zfs liefern natürlich laufwerke mit PLP, aber da gibts im consumer-bereich so gut wie keine mehr.
 
Ein zpool upgrade wird Dir nichts bringen, das Design Deines RAIDS (Z1) gepaart mit den Crucial BX ist quasi „worst choice“. RAIDZ ist generell nicht für VM workloads sonderlich geeignet, eher für wenig frequentierte virtuelle Speicher. Und die SSDs an sich sind low end desktop Laufwerke. Striped Mirror (aka RAID1+0) sind die performanteste Variante. Das könntest Du mit einer zusätzlichen SSD aus der Serie realisieren. Allerdings würde ich dann noch 2 kleine NVME als Cache oder SLOG mirror hinzufügen, je nach Anwendung.

Oder aber: 4x gebrauchte 960GB Server SSDs. Gerechnet auf 1x neue zusätzliche Crucial + 2x NVME wird das fast gleich teuer.
 
Was wäre langfristig der richtige Weg? 4x NVMe und wenn ja welche? Oder (gebrauchte) 960er Server SSD?
Oder gebrauchte Server NVMEs?
Und kann mir da jemand per PN eine respektable Quelle nennen? Die Hälfte meiner "Gebrauchten Server HDDs" musste ich nämlich umtauschen, weil Fakes.

Finaler Ausbau dann 4x SATA 960GB Server SSD + NVME CACHE + NVME SLOG?
 
Moment, ich denke ich habe das nicht korrekt gelesen.
Langfristig wäre es besser für das Proxmox System und die VM kein ZFS zu verwenden sondern einen Hardware-RAID und diesen dann mit SAS Server SSDs? Dann wäre auch kein SLOG und CACHE nötig? ZFS und RAIDZ nur für die reinen Datenlaufwerke, die sind bei mir alle mechanische HDD
 
Nein, HW RAID benötigst Du nicht. ZFS ist schon die beste Wahl, lediglich die jetzigen Laufwerke sind schlichtweg unbrauchbar. SAS ist natürlich schick, muss Dein Board oder ggf. ein HBA aber auch unterstützen. Reines NVME ZFS RAID bietet die beste Performance, aber auch da wieder die Frage: was für Anschlüsse hast Du? M.2, U.2/U.3? Server NVME sind meistens U.2/U.3, oder direkt als PCIe Karten erhältlich.
 
Man sollte schon auch mit der Kirche im Dorf bleiben.
Das Setup hier hört sich nach Homelab an, da kein vernünftiger Mensch in einem Business-Umfeld Crucial BX-SSD's verbauen würde.
Ich gehe daher sehr stark davon aus, dass die verwendete Hardware gar nicht genug PCIe-Lanes hat um derart viele NVMe-Drives verwenden zu können.

Das kostengünstigste wäre hier schlicht die 3 Crucial BX durch gebrauchte SATA-Enterprise SSD's zu ersetzen (Intel, Micron, Kingston, Whatever), auch wenns immernoch ein RaidZ1 ist.
Das sollte schonmal dafür sorgen, dass die Schwuppdizität des ganzen massiv steigt und es nicht mehr so träge ist.
Natürlich kann man dann hergehen und eine 4. SATA-SSD hernehmen um das als striped Mirror (Raid 10) laufen zu lassen.
Erhöht die Performance nochmal, ohne die Kosten massiv zu erhöhen.

Ich selbst setze hier auf Intel-Laufwerke der Serien S3610 und S4510, weil ich sie günstig bekommen habe.
Im Prinzip kann man aber jedes Enterprise-laufwerk verwenden.
Fürs Homelab würde ich hier nach Preis gehen.

NVMe-Laufwerke bedeuten in der Regel gleich mal ein massives Investment, weil normale Homelab-Hardware nicht mal eben 20-30 Lanes für entsprechende Laufwerke zur Verfügung stellen kann und man mehr als nur die Laufwerke aufrüsten muss.
 
Last edited:
Moin und vielen Dank für die Diskussion!
Doch ich habe ein Server-Board und eine Server CPU und genug PCI Lanes. Das Netz hier ist ebenfalls komplett mit Unifi aufgebaut und verbindet Haus und Labor mit 10GB Glas. Daher darf es schon gebrauchte Server-Hardware sein, das sind die HDDs und das Mainboard ja schließlich auch.
Ich habe nebenberuflich einige private Entwicklungsprojekte laufen und wollte dafür auch einige VMs aufsetzen. Leider macht das wegen dem IO Backpressure keinen Spaß. Die VMs sollten ihre Rootfs alle auf den SSDs haben, aber die Daten können auf den HDD liegen. Es ist nebenberuflich nicht so wichtig, ob ich einen Kernel in 8 oder 6 Minuten kompiliert habe.

Das Mainboard hat 8 SATA/SAS Anschlüsse der zusätzliche Intel Controller ist auf Transparent umgeflasht und hat auch 8 SAS/SATA. Die HDD Drive Bays sind Hot Plug SAS/SATA die SSD Drivebays meine ich sind simple SATA.

Also wie komme ich nun aus dem Schlamassel heraus?

Basis des Servers ist ein eBay Bundle aus
ASUS Z10PA-U8 + Xeon E5-2680v4 + 64 GB RAM | Mainboard Bundle | LGA2011-3 Bundle
Ich komme aktuell wegen Baustelle an den Server nicht vor Ort heran, aber ich meine die SSDs sind direkt an die Mainboard SATA angeschlossen, die HDD sind an einen LSI xxxx-i8 controller mit transparent Mode angeschlossen.

Ich habe aktuell weder ein PCIe NVME board noch NVME für drauf. Bleibt die Frage, wie komme ich kurzfristig für 250€ auf eine weniger üble Performance und was soll ich mir langfristig zulegen, damit es richtig Spaß macht?

Hier noch die Übersicht vom Board. Als PCIe-8x sind aktuell der 10GBE Adapter und der i8 SATA/SAS Controller drin.
 
Dann stehen dir ja im Prinzip alle Möglichkeiten offen.
Das limit ist nur dein Geldbeutel.

Budget-Lösung ist wie gesagt die 3x BX-SSD's durch 3x Enterprise Sata zu ersetzen. Kostet dich nur die 3 gebrauchten Laufwerke.
Optional ein 4. Laufwerk um einen performanteren Pool zu bekommen.

Das bekommst du allerdings nicht für 250 Euro, denn das kosten schon 1-2 von den SSD's (je nach Kapazität).
Es gibt keinen magischen Trick um die Crucial BX auf einmal performanter zu machen.
Du könntest versuchen, eine 4. SSD dazuzupacken und einen striped Mirror zu machen (wie von @cwt vorgeschlagen), aber ich bezweifle, dass das die BX-SSD's gross beschleunigt. Es lindert aber evtl geringfügig dein Leiden.

Wenn du sagst du willst das Nonplusultra an Performance für dein Mainboard, dann kannst du dir entsprechende PCIe zu u.2 Steckkarten kaufen (sofern dein Board bifurcation kann) und dann z.b. 4x u.2 NVMe-Drives mit der Karte verbinden und und als striped Mirror (raid 10) verwenden.
Performt um einiges besser als SATA-Laufwerke, weil höhere Bandbreite pro Laufwerk (3.5 GB/s vs 600 MB/s).

Das benötigt allerdings zwingend einen x16 slot, der auch mit x16 beschaltet ist und bifurcation beherrscht.
Auch kannst du evtl davon nicht booten, sofern dein Board das Booten von NVMe nicht unterstützt.
Laut Internet hat das Board aber einen m.2 Steckplatz, sollte also das booten von NVMe unterstützen.

Ist alles eine Frage dessen, was du ausgeben willst.
 
@beisser Vikelen Dank!
Es geht lediglich um die Prioritäten, also was ich jetzt ausgeben kann um die Not zu lindern und später ausgeben kann, um es richtig zu machen.
Der 16x Slot geht in 8x Modus, wenn Slot 3 oder 5 belegt sind. Da diese im Einsatz sind, werde ich da keine 4x u.2 NVME nutzen können und Bifurcation kennt das Manual nicht mal als Wort. Es hat schon einen Grund, warum diese Server-Boards den Markt fluten inkl RAM und CPU für wenige Euronen.

Leider sind die kleineren Laufwerke aus der Liste von @Impact alle schon auf "Nicht mehr verfügbar". Muss also mal schauen, wo ich 4x 960GB Server SSD auftreibe.
 
Schau dich mal auf Seiten wie dieser hier um: https://www.servershop24.de/komponenten/festplatten/sata/ssds/
Da haben sie z.b. 960GB SATA Laufwerke für um 100€ das Stück, oder halt grössere für entsprechend mehr.
Gibt auch noch andere vergleichbare Seiten mit second hand Enterprise-Hardware.

Du kannst z.b., wenn du erstmal Geld sparen willst, zwei 960GB Laufwerke nehmen und die als Mirror betreiben.
Gibt dir Ausfallsicherheit und performt höchstwarscheinlich um Welten besser als die alten SSD's.

Nachteil: Nur 960GB Kapazität
Vorteil: du kannst den Pool theoretisch später mit 2 zusätzlichen 960GB Disks zu einem striped Mirror mit dann 1920GB Kapazität und besserer IO-Performance upgraden.
Zweiter Vorteil: ausser den Laufwerken braucht du keine neue Hardware.

Gibt evtl auch noch bessere Lösungen, aber ohne grossen Aufwand ist das denk ich am besten machbar.
 
Last edited: