Proxmox io problem

Nov 25, 2023
67
2
13
Germany
Guten Abend,
ich habe hier ein merkwürdiges Problem wo ich irgendwie keine Lösung finde und auch nicht verstehe wieso das so ist. Eventuell kann mir jemand weiter helfen.

Folgende Ausgangslage:
- Proxmox ist auf 2x 4TB im Mirror (Samsung PM9A3 U.2 - per SlimSAS angeschlossen). Hier laufen die VMs auch drauf.
- ein Supermicro JBOD ist separat verbaut wo 8x18TB+4x12TB HDD (Toshiba Datacenter HDDs), 2x 480GB SSD (Intel S4610), 3x 960GB SSD (Intel S4610) drin stecken. Diese sind per SAS3 Backplane an eine 9400-16e angebunden.
- alle Festplatten laufen in diversen ZFS Pools.
-auf einer VM laufen Downloads (hier ist noch eine separate M.2 PCI verbaut, mit 4TB) mit ca 120MB/s, diese werden nach Fertigstellung entpackt. Dies läuft alles auf der M.2 wegen dem Write und Read Speed. Danach werden die entdeckten Medien auf einen ZFS Pool verschoben (8x18TB).

Jetzt habe ich das Problem, sobald diese Konstellation läuft mit Fullspeed Download, entpacken und verschieben, das die Systemplatten einiger VMs (das sind die U.2, die nicht mit den anderen angeschlossen sind), massive Auslastung (100%) haben und teils sekundenlang nicht reagieren.


Hat jemand eine Idee wieso diese Aussetzer da sind, obwohl von den oberen Vorgängen auf der U.2 nichts passiert?

Hier zpool list:
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT


Download-nvme 3.62T 530G 3.11T - - 0% 14% 1.00x ONLINE -


nvme-Samsung_SSD_990_PRO_with_Heatsink_4TB_S7DSNJ0WC00577J_1 3.64T 530G 3.11T - - 0% 14.3% - ONLINE


Downloads 888G 134G 754G - - 1% 15% 1.00x ONLINE -


ata-SSDSC2KG960G8L_01PE338D7A09686LEN_PHYG829301UV960CGN 894G 134G 754G - - 1% 15.1% - ONLINE


Firewall 444G 31.7G 412G - - 7% 7% 1.00x ONLINE -


mirror-0 444G 31.7G 412G - - 7% 7.14% - ONLINE


ata-INTEL_SSDSC2KG480G8_BTYG941600PU480BGN 447G - - - - - - - ONLINE


ata-INTEL_SSDSC2KG480G8_BTYG941601YE480BGN 447G - - - - - - - ONLINE


Kamera 10.9T 8.44T 2.46T - - 25% 77% 1.00x ONLINE -


mirror-0 10.9T 8.44T 2.46T - - 25% 77.4% - ONLINE


ata-TOSHIBA_MG07ACA12TE_33W0A0C6F95G 10.9T - - - - - - - ONLINE


ata-TOSHIBA_MG07ACA12TE_33W0A0D6F95G 10.9T - - - - - - - ONLINE


PBS 3.48T 2.45T 1.04T - - 2% 70% 1.00x ONLINE -


mirror-0 3.48T 2.45T 1.04T - - 2% 70.2% - ONLINE


nvme-eui.36344830529003640025384500000001 3.49T - - - - - - - ONLINE


nvme-eui.36344830528006630025384500000001 3.49T - - - - - - - ONLINE


P. 132T 26.1T 106T - - 0% 19% 1.00x ONLINE -


raidz1-0 65.5T 13.1T 52.4T - - 0% 19.9% - ONLINE


wwn-0x5000039b28d2cba1 16.4T - - - - - - - ONLINE


ata-TOSHIBA_MG09ACA18TE_53U0A0B3FJDH 16.4T - - - - - - - ONLINE


ata-TOSHIBA_MG09ACA18TE_71H0A08UFQDH 16.4T - - - - - - - ONLINE


ata-TOSHIBA_MG09ACA18TE_71F0A1KYFQDH 16.4T - - - - - - - ONLINE


raidz1-1 65.5T 13.0T 52.4T - - 0% 19.9% - ONLINE


ata-TOSHIBA_MG09ACA18TE_91J0A09GFJDH 16.4T - - - - - - - ONLINE


ata-TOSHIBA_MG09ACA18TE_71F0A1JJFQDH 16.4T - - - - - - - ONLINE


ata-TOSHIBA_MG09ACA18TE_71H0A08TFQDH 16.4T - - - - - - - ONLINE


ata-TOSHIBA_MG09ACA18TE_53F0A2PJFJDH 16.4T - - - - - - - ONLINE


special - - - - - - - - -


mirror-2 888G 14.2G 874G - - 8% 1.59% - ONLINE


wwn-0x55cd2e414f9dd978 894G - - - - - - - ONLINE


wwn-0x55cd2e414f9de042 894G - - - - - - - ONLINE


Tdarr 232G 28.8G 203G - - 0% 12% 1.00x ONLINE -


ata-CT250MX500SSD1_2152E5F7B391 233G 28.8G 203G - - 0% 12.4% - ONLINE


VX 10.9T 39.8G 10.9T - - 1% 0% 1.00x ONLINE -


mirror-0 10.9T 39.8G 10.9T - - 1% 0.35% - ONLINE


ata-TOSHIBA_MG07ACA12TE_51Q0A1TDF95G 10.9T - - - - - - - ONLINE


ata-TOSHIBA_MG07ACA12TE_51Q0A1TBF95G 10.9T - - - - - - - ONLINE


rpool 3.48T 359G 3.13T - - 5% 10% 1.00x ONLINE -


mirror-0 3.48T 359G 3.13T - - 5% 10.1% - ONLINE


nvme-eui.37324130583016350025385300000001-part3 3.49T - - - - - - - ONLINE


nvme-eui.37324130583032590025385300000001-part3 3.49T - - - - - - - ONLINE
 
Eventuell Swapt die VM auf ihrer OS Disk. Check mal was in der VM los ist.
 
Eventuell Swapt die VM auf ihrer OS Disk. Check mal was in der VM los ist.

Hatte ich natürlich gecheckt. Leider nicht.
Hab das auch versucht zu checken mit iotop, sobald das iodelay hochgeht Richtung 20-35%. Aber es ändert sich nicht viel, die Werte von den Programmen bleiben ca gleich, das delay geht zwischenzeitlich trotzdem massiv hoch. Proxmox iotop zeigt mir zu der Zeit auch nur Write/Read das relevant wäre auf der VM an, in der VM wie gesagt nichts was sich dann groß verändert hätte.
 
Hi, iotop ist da nicht ganz so hilfreich. Ich nutze lieber nmon dafür. Wenn du nmon startest, einfach "d" drücken für Disk und dann zeigt er dir auch schön an welche Disk gerade busy ist. Dann weißt du schon mal welche Hardware deine Handbremse spielt. Dann musst du nur noch schauen womit du diese Disk so auslastest.
 
- auf einer VM laufen Downloads (hier ist noch eine separate M.2 PCI verbaut, mit 4TB) mit ca 120MB/s, diese werden nach Fertigstellung entpackt. Dies läuft alles auf der M.2 wegen dem Write und Read Speed.
Hier habe ich köstlich gelacht! Das ist dein Problem?
Zitat: "Dies läuft alles auf der M.2 wegen dem Write und Read Speed."
 
Hier habe ich köstlich gelacht! Das ist dein Problem?
Zitat: "Dies läuft alles auf der M.2 wegen dem Write und Read Speed."

Was gibt es da zu lachen? eine M2 bzw. U2 hat nun mal bessere Performance als eine SSD. Was hat die M2 mit der Systemplatte zu tun? Vielleicht verstehe ich hier auch einfach was nicht, aber ich bin auf die Antwort gespannt.

Hi, iotop ist da nicht ganz so hilfreich. Ich nutze lieber nmon dafür. Wenn du nmon startest, einfach "d" drücken für Disk und dann zeigt er dir auch schön an welche Disk gerade busy ist. Dann weißt du schon mal welche Hardware deine Handbremse spielt. Dann musst du nur noch schauen womit du diese Disk so auslastest.

Danke, ich schaue mir das gleich mal an.
 
Last edited:
Hi, iotop ist da nicht ganz so hilfreich. Ich nutze lieber nmon dafür. Wenn du nmon startest, einfach "d" drücken für Disk und dann zeigt er dir auch schön an welche Disk gerade busy ist. Dann weißt du schon mal welche Hardware deine Handbremse spielt. Dann musst du nur noch schauen womit du diese Disk so auslastest.

Hab mir das jetzt mal mit nmon angeschaut, allerdings ist auf der Systemplatte kaum io vorhanden das erklären würde wieso die anderen VMs zwischendrin solche lags haben.

Hier mal ein Screen (sda3 ist die besagte Platte):

2kuLHbd.webp

in 5 Minuten nicht einmal über 50Mb/s.




Dazu auch mal zpool iostat gemacht für rpool:

Q7I5j1d.webp

Ich sehe da jetzt nichts außergewöhnliches wieso rpool so in "stocken" gerät.
 
Deine Platte sdc ist 100% Busy. Welche Platte ist das?
 
Eine NVMe mit M.2 interface ist im allgemeinen nicht schnell als eine SATA 3 SSD, in Bezug auf Random 4k IOPs.
Ich hatte 2x NVMe M.2 mit 2 TB, mit TWB 4,4 PTB zurück gegeben, da sie bei Schreiben nur 20 - 30 MB/s im ZFS Raid1 - Mirror mit einem VDEFV lieferte. Das war also nichts.
 
Ist der P ZFS Pool mit 8x18TB.
Ein Pool mit einer Disk? Ist da ein Raid Controller dahinter, eventuell ohne Batteriecache?
Eine NVMe mit M.2 interface ist im allgemeinen nicht schnell als eine SATA 3 SSD, in Bezug auf Random 4k IOPs.
Ich hatte 2x NVMe M.2 mit 2 TB, mit TWB 4,4 PTB zurück gegeben, da sie bei Schreiben nur 20 - 30 MB/s im ZFS Raid1 - Mirror mit einem VDEFV lieferte. Das war also nichts.
Das kann man nicht so pauschal stehen lassen. Einige Consumer m.2 NVMe sind tatsächlich auf SATA Niveau. Habe ich aber vernünftige m.2 NVMe (mit PLP) dann kommt da schon ein vielfaches von SATA SSDs raus. Bottleneck ist aber nicht die NVMe sondern /dev/sdc (HDDs)
 
  • Like
Reactions: Johannes S
Ein Pool mit einer Disk? Ist da ein Raid Controller dahinter, eventuell ohne Batteriecache?

Ist ein Pool mit 8 Disks und 2 Special. Hier einmal die Übersicht:

Plex 132T 31.4T 100T - - 0% 23% 1.00x ONLINE -
raidz1-0 65.5T 15.7T 49.8T - - 0% 24.0% - ONLINE
wwn-0x5000039b28d2cba1 16.4T - - - - - - - ONLINE
ata-TOSHIBA_MG09ACA18TE_53U0A0B3FJDH 16.4T - - - - - - - ONLINE
ata-TOSHIBA_MG09ACA18TE_71H0A08UFQDH 16.4T - - - - - - - ONLINE
ata-TOSHIBA_MG09ACA18TE_71F0A1KYFQDH 16.4T - - - - - - - ONLINE
raidz1-1 65.5T 15.7T 49.8T - - 0% 23.9% - ONLINE
ata-TOSHIBA_MG09ACA18TE_91J0A09GFJDH 16.4T - - - - - - - ONLINE
ata-TOSHIBA_MG09ACA18TE_71F0A1JJFQDH 16.4T - - - - - - - ONLINE
ata-TOSHIBA_MG09ACA18TE_71H0A08TFQDH 16.4T - - - - - - - ONLINE
ata-TOSHIBA_MG09ACA18TE_53F0A2PJFJDH 16.4T - - - - - - - ONLINE
special - - - - - - - - -
mirror-2 888G 16.8G 871G - - 9% 1.89% - ONLINE
wwn-0x55cd2e414f9dd978 894G - - - - - - - ONLINE
wwn-0x55cd2e414f9de042 894G - - - - - - - ONLINE



Das kann man nicht so pauschal stehen lassen. Einige Consumer m.2 NVMe sind tatsächlich auf SATA Niveau. Habe ich aber vernünftige m.2 NVMe (mit PLP) dann kommt da schon ein vielfaches von SATA SSDs raus. Bottleneck ist aber nicht die NVMe sondern /dev/sdc (HDDs)

Ich teste die m2 ja jetzt schon länger und da läuft soweit alles mit vollem Speed.
Die sdc ist halt der Pool oben verlinkt, aber das dieser limitiert sollte dann am Ende halt nicht verwunderlich sein, was auch garnicht so ein Problem darstellt.

Mein Problem ist das auf sda3 eig nichts passiert (ist der rpool) und dieser durch einige andere VMs lags verursacht.
 
Ich sehe in deinem Screenshot nur die SCSI Disks sda-sdf. Die NVMe für das OS sieht man bei dir auch nicht. Ein ZFS Pool taucht bei mir auch niemals als einzelnes Laufwerk auf.
 
Ich sehe in deinem Screenshot nur die SCSI Disks sda-sdf. Die NVMe für das OS sieht man bei dir auch nicht. Ein ZFS Pool taucht bei mir auch niemals als einzelnes Laufwerk auf.

Das OS ist sda, ist halt per SCSI von rpool eingebunden. Der Screenshot von oben, ist nmon aus der VM direkt. Kann gerne noch einen vom Host machen.

Wie soll ich den ein ZFS Pool sonst einbinden?
Hab als zwei Disks per Datasets eingebunden.
 
Last edited:
Bei mir sehe ich alle Disks, inklusive NVMe in nmon und auch ZFS-Pool Devices. Damit sehe ich die Auslastung der Pool Member und auch der Special Devices.
 
In der VM ist das nicht aussagekräftig. Nur auf dem Host kannst du das Bottleneck finden.
 
  • Like
Reactions: waltar
Hier ist mal ein neuer Screenshot from Host:


c48tSpa.png


die obere ist die M2 wo gedownloaded und entpackt wird.
nvme3 + 4 ist rpool. Dort ist ja dauerhaft so gut wie keinerlei Auslastung.


Hier ist z.B. eine Windows VM. Sobald die Auslastung der der "C" Platte bei 100% liegt, hängt die ganze VM für paar Sekunden. Die C Platte ist eine SCSI vom rpool.


GTOwtqY.png


Sobald ich den Download abschalte, bleibt die Auslastung hier aber im Bereich 1-5%. Weshalb? Die Download NVME und die anderen HDD Pools (wo die Auslastung hoch ist), sind doch komplett anders angebunden als der rpool.