Festplattenperformance "All over the place"

0x00000c

New Member
Mar 15, 2021
9
0
1
42
Hi,

ich darf eine Proxmoxinstallation troubleshooten die ich nicht selbst durchgeführt habe. *Freude macht sich breit*
Ich komme eher aus dem vmWare Lager und habe mit Proxmox bisher nicht wirklich viele Erfahrungen gemacht.
Nun läuft die Kiste schon eine Weile, aber es wird jetzt über Performanceprobleme geklagt. Nach ein bisschen umschauen auf dem System glaube ich nicht dass es vom Netzwerk her kommt, sondern von der HDD-Performance.
Habe einige Male CrystaldiskMark in zwei VMs laufen lassen (Ja, ich weiß, nicht das beste Programm) und die Ergebnisse variieren sehr stark und wirken eher random.
Server2012R2 VM:
BuD-VMDC-01.JPGBuD-VMDC-08.JPG
Win10 VM:
BuD-VMW10-02.JPGBuD-VMW10-05.JPG



Auch auf dem Host selbst mal mit fio getestet, 4K Random
1. Lauf:
Run status group 0 (all jobs):
READ: bw=203MiB/s (212MB/s), 203MiB/s-203MiB/s (212MB/s-212MB/s), io=11.9GiB (12.8GB), run=60044-60044msec
WRITE: bw=202MiB/s (212MB/s), 202MiB/s-202MiB/s (212MB/s-212MB/s), io=11.9GiB (12.7GB), run=60044-60044msec

danach:
Run status group 0 (all jobs):
READ: bw=4516KiB/s (4624kB/s), 4516KiB/s-4516KiB/s (4624kB/s-4624kB/s), io=268MiB (281MB), run=60722-60722msec
WRITE: bw=4542KiB/s (4651kB/s), 4542KiB/s-4542KiB/s (4651kB/s-4651kB/s), io=269MiB (282MB), run=60722-60722msec

Irgendwie wirkt das auf mich alles seltsam... Weiß da jemand wie ich das Problem weiter eingrenzen könnte? Aktuell vermute ich ja schon fast den Raidcontroller des Systems.
Ist übrigens ein Xeon 6Core/12Threads, 2x16GB RAM, 2x 4TB WD und "richtigem" RaidController MegaRAID9361. Auf dem System laufen aktuell nur vier VMs (3x Windows, 1xLinux).

Und was mir eben beim Schreiben des Threads noch auffällt:
Code:
[root@host tmp]# lsblk
NAME                         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                            8:0    0   3.7T  0 disk
├─sda1                         8:1    0  1007K  0 part
├─sda2                         8:2    0   512M  0 part
└─sda3                         8:3    0   3.7T  0 part
  ├─pve-swap                 253:0    0    16G  0 lvm  [SWAP]
  ├─pve-root                 253:1    0   300G  0 lvm  /
  ├─pve-data_tmeta           253:2    0  15.8G  0 lvm
  │ └─pve-data-tpool         253:4    0     3T  0 lvm
  │   ├─pve-data             253:5    0     3T  0 lvm
  │   ├─pve-vm--100--disk--0 253:6    0   800G  0 lvm
  │   ├─pve-vm--112--disk--0 253:7    0 141.8G  0 lvm
  │   ├─pve-vm--112--disk--1 253:8    0   100G  0 lvm
  │   ├─pve-vm--114--disk--0 253:9    0   250G  0 lvm
  │   ├─pve-vm--114--disk--1 253:11   0   120G  0 lvm
  │   └─pve-vm--113--disk--0 253:13   0   150G  0 lvm
  └─pve-data_tdata           253:3    0     3T  0 lvm
    └─pve-data-tpool         253:4    0     3T  0 lvm
      ├─pve-data             253:5    0     3T  0 lvm
      ├─pve-vm--100--disk--0 253:6    0   800G  0 lvm
      ├─pve-vm--112--disk--0 253:7    0 141.8G  0 lvm
      ├─pve-vm--112--disk--1 253:8    0   100G  0 lvm
      ├─pve-vm--114--disk--0 253:9    0   250G  0 lvm
      ├─pve-vm--114--disk--1 253:11   0   120G  0 lvm
      └─pve-vm--113--disk--0 253:13   0   150G  0 lvm
sdb                            8:16   0   1.8T  0 disk
└─sdb1                         8:17   0   1.8T  0 part
[root@host tmp]#

Wenn das RAID richtig eingerichtet wäre, dürfte doch sdb da gar nicht erscheinen? Oder liege ich da komplett falsch? Habe mit Raids unter Linux nicht wirklich viel Erfahrung....

Wäre schön wenn mir hier jemand noch ein paar Ideen geben könnte.

mfg
 
Last edited:
Wenn das RAID richtig eingerichtet wäre, dürfte doch sdb da gar nicht erscheinen? Oder liege ich da komplett falsch? Habe mit Raids unter Linux nicht wirklich viel Erfahrung....
Vermutlich steckt da noch eine 2TB HDD mit drin? Wäre sdb die zweite HDD aus dem Array sollte die ja 4TB und nicht nur 2TB haben.
Ist bei Linux eigentlich nicht anders als bei Win. Wenn das HW-Raid richtig läuft, dann werden die beiden HDDs des Arrays nur als ein Laufwerk vom Linux erkannt.
 
Last edited:
Vermutlich steckt da noch eine 2TB HDD mit drin? Wäre sdb die zweite HDD aus dem Array sollte die ja 4TB und nicht nur 2TB haben.
Ist bei Linux eigentlich nicht anders als bei Win. Wenn das HW-Raid richtig läuft, dann werden die beiden HDDs des Arrays nur als ein Laufwerk vom Linux erkannt.
Ja, kam mir dann auch als ich nochmal richtig draufgeschaut hatte ;)
 
Für mich sieht das alles danach aus, dass du da eigentlich nur den Cache misst. 4,5MB/s Random Writes sind ja jetzt echt keine schlechten Werte für ein Raid1 aus nur zwei kleinen HDDs.

Die Win VM läuft vermutlich mit virtio SCSI Treibern und hat Writeback oder einen anderen Cache-Mode in Proxmox eingestellt?
 
Last edited:
Ja, die Befürchtung das ich da nur den Cache messe hatte ich auch schon.
Aber ich war auch früher schonmal remote auf den VMs und es war echt sch****e langsam.
Die Windows VMs laufen alle mit virtio SCSI, ja. Cache-Mode ist auf default, also keiner.
 
Du kannst mal gucken was da für eine Architektur für die Win-VMs eingestellt ist. "kvm64" ist da glaube ich default und nicht super schnell, weil es eher auf Kompatibilität und Migrierbarkeit setzt. Nachdem ich auf "host" gewechselt habe waren meine VMs gefühlt schneller.
Auch lese ich hier manchmal im Forum, dass da die RAM Performance in Win-VMs teilweise grottig ist (1/10 von dem was man auf dem Host selbst misst). Das könntest du auch mal prüfen, wenn dir die VMs zu langsam vorkommen.
Und dann gab es mit den letzten Virtio-Treibern irgendwie Probleme und das Balooning hat glaube ich Probleme gemacht.
Und du kannst mal mitloggen wie sich der Takt deiner CPU-Kerne verhält. Teilweise arbeitet da der Governor nicht performant.
Und Thread-Pinning kann manchmal etwas bringen, wenn du genug Kerne für alle VMs hast.
 
Last edited:
Ok, die CPU-Performance im Win10 Gast ist auf Architektur Host zumindest laut CinebenchR15 schonmal dramatisch besser.
Nur mal so als Vergleich die Cinebench Scores:
4Cores/4Threads
KVM64: 270
Host: 721
Ob sich das auch im real-world Verhalten spiegelt sei mal dahingestellt.
Aktuell läuft das Ding auch flüssig und absolut ok, beim Neustart hatte die VM allerdings immernoch sehr lange gebraucht, die ersten Minuten im Windows laut Taskmanager Lese/Schreibraten unter 15MB/s, CPU nur bei ~20%. Firefox öffnen dauerte mindestens 10 Sekunden.
Ich glaub immer noch dass das Storage irgendwie lahmt.
Aber gut, ich werd die anderen Dinge auch mal checken. Schonmal ein dickes Dankeschön bis hierhin. :)

mfg
 
Windows laut Taskmanager Lese/Schreibraten unter 15MB/s, CPU nur bei ~20%. Firefox öffnen dauerte mindestens 10 Sekunden.
Für den VM Storage hätte man aber auch am besten SSDs nehmen sollen. Ein normales Windows installiert ja heute auch kein Mensch mehr auf HDDs, weil sich die Benutzung auf SSDs einfach viel flüssiger anfühlt. Das macht es dann mit Virtualisierung nicht besser, wo sich dann sogar etliche Gäste die HDD noch teilen müssen...
Was sagt denn in Proxmox unter "Node -> Summary" das "IO Delay"? An dem sieht man eigentlich immer schön, ob da der Storage überfordert ist.
 
Für den VM Storage hätte man aber auch am besten SSDs nehmen sollen. Ein normales Windows installiert ja heute auch kein Mensch mehr auf HDDs, weil sich die Benutzung auf SSDs einfach viel flüssiger anfühlt. Das macht es dann mit Virtualisierung nicht besser, wo sich dann sogar etliche Gäste die HDD noch teilen müssen...
Was sagt denn in Proxmox unter "Node -> Summary" das "IO Delay"? An dem sieht man eigentlich immer schön, ob da der Storage überfordert ist.
Das ist natürlich korrekt... aber es sollte halt wiedermal "nichts" kosten :rolleyes:
Ich hätte bei dem Projekt einiges anders gemacht, aber da haben Personen entschieden die mehr zu sagen haben ¯\_(ツ)_/¯

Aber btt:
Das Seltsame, oder sagen wir mal blöde, ist aber dass es generell recht gut läuft, nur manchmal die Performance eben echt unterirdisch ist.
Mal nachgesehen, so im Idle ist das IO Delay bei 0.xx%. Wenn ich auf der Win10 VM mal nen cipher /w:c absetze, also mit Maximalgeschwindigkeit Nullen geschrieben werden, schwankt das IO Delay zwischen 5% und 20%.

Wie läuft das eigentlich bei Proxmox mit der VHD Provisionierung?
Bei VMWare gibts ja die Thin- oder Thick provisioning Option, das wirkt sich ja auch auf die Performance aus. Nicht dass die VM-Platten hier im Thin angelegt wurden und er jedesmal zusammenbricht wenn noch nicht genutzte Bereiche beschrieben werden?

Die RAM-Geschwindigkeit in der Windows VM hab ich auch mal gecheckt, liegt bei ca. 35GB/s, sollte passen.
 
Das ist natürlich korrekt... aber es sollte halt wiedermal "nichts" kosten :rolleyes:
Ich hätte bei dem Projekt einiges anders gemacht, aber da haben Personen entschieden die mehr zu sagen haben ¯\_(ツ)_/¯
Ja, das ist schon doof. Hätten ja nicht einmal zwei U.2 SSDs sein müssen. Zwei "Intel SSD D3-S4610 960GB" mit 6000GB TBW für je 190€ im Raid1 hätten es ja auch schon getan.
Wie läuft das eigentlich bei Proxmox mit der VHD Provisionierung?
Bei VMWare gibts ja die Thin- oder Thick provisioning Option, das wirkt sich ja auch auf die Performance aus. Nicht dass die VM-Platten hier im Thin angelegt wurden und er jedesmal zusammenbricht wenn noch nicht genutzte Bereiche beschrieben werden?
Wenn da HW-Raid läuft wurde wohl Proxmox mit "LVM Thin" installiert. Wäre jedenfalls glaube ich der Standard. Musst du mal gucken was unter "DeinNode -> Disks -> LVM bzw LVM-Thin" steht.
 

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!