Windows VM auf RAW Disk in local-zfs - sehr schlechte Schreibgeschwindigkeit

rbChris

New Member
Feb 20, 2020
4
0
1
31
Hallo zusammen,

ich suche seit einer Woche in sämtlichen Foren und Internet nach einer Lösung für mein Problem. Es scheinen viele davon betroffen zu sein, eine eindeutige Lösung oder Ansätze sind da aber leider nie zu finden.

Meine Windows VM hat eine Schreibgeschwindigkeit auf dessen Festplatte von unter 30 MB/s und das ob wohl die VM HDD als RAW Disk auf einer SSD liegt (im Standard local-zfs).

Zur Konfiguration:
- i3-8100, 16GB DDR4 RAM
- 2x SSDs 128GB im ZFS Raid Mirror (bei Proxmox Installation ausgewählt)

Die VM:
- 4 Cores, 10GB Arbeitsspeicher
- virtio0: local-zfs:vm-100-disk-0,cache=none,size=90G
- Windows Direktinstallation per Treiber CD auf die virtio Disk

Ich habe schon all mögliches probiert. Cache Modus verändert, ARC unlimited, ARC limited auf 2GB (nachdem ich OutOfMemory gelaufen bin), ZFS Compression aus, Compression an usw.
Es hilft nichts. Die Lesegeschwindigkeit ist bei Tests extrem hoch (DiskMark zeigt 4GB/s), schreiben klappt jedoch nur mit rund 30MB/s. Zeitweise beginnt ein Kopiervorgang mit 300 MB pro Sekunde und bricht dann auf 0 ein und läuft danach mit 30MB/s weiter. Für eine SSD ist das definitiv zu gering.

Hat jemand damit bereits Erfahrungen gemacht? Im Screenshot zu sehen ist ein Kopiervorgang (2GB Datei) innerhalb der VM auf eine testweise eingehängte identische Festplatte. Kann es sein, dass ZFS einfach nicht mit dem "wenigen" RAM klar kommt?

Danke für Eure Unterstützung.
 

Attachments

  • ZFS.PNG
    ZFS.PNG
    9.7 KB · Views: 19
hi,

Es scheinen viele davon betroffen zu sein, eine eindeutige Lösung oder Ansätze sind da aber leider nie zu finden.
kannst du diese vielleicht hier linken?

Kann es sein, dass ZFS einfach nicht mit dem "wenigen" RAM klar kommt?
kann sein.

Die Lesegeschwindigkeit ist bei Tests extrem hoch (DiskMark zeigt 4GB/s), schreiben klappt jedoch nur mit rund 30MB/s. Zeitweise beginnt ein Kopiervorgang mit 300 MB pro Sekunde und bricht dann auf 0 ein und läuft danach mit 30MB/s weiter. Für eine SSD ist das definitiv zu gering.
hast du dieses problem auch bei einer linux VM? koenntest du das ausprobieren? so wissen wir, ob das problem windows-spezifisch ist
 
Hi Oguz,

das sind die Posts:
https://forum.proxmox.com/threads/slow-zfs-performance.51717/
https://forum.proxmox.com/threads/zfs-slow-write-performance.57725/
https://forum.proxmox.com/threads/poor-performance-with-zfs.21568/

Ich habe eben schnell ein Linux drauf geschmissen: beim ersten Kopiervorgang schaffte es tatsächlich die mindestens erwarteten 200 MB/s. Beim nochmaligen kopieren auch hier wenig power.

Ich habe danach auch versucht eine weitere SSD als log Cache einzubinden. Diese wird auch genutzt aber bringt auch kein MB mehr Speed.

Was mir noch aufgefallen ist: die IO delay ging bei der Installation des Linux ziemlich in die Höhe. Aber auch beim kopieren kommt es öfter mal in den gelben Bereich.

Langsam bin ich ratlos und drauf und dran ZFS nicht mehr zu verwenden und zum guten alten Raid per Controller zurück zu gehen. Wobei sogar ein damaliges Software Mirror Raid unter Windows performanter war :D
 

Attachments

  • IO_bei Linux Installation.PNG
    IO_bei Linux Installation.PNG
    10.3 KB · Views: 17
  • ZFS_Linux.png
    ZFS_Linux.png
    12.9 KB · Views: 15
Hi,

wie ist dein Füllgrad deines local-zfs pools?

ZFS benötigt ca 25% freien Speicher auf dem Volume, sonst geht die Perfomance wegen CopyOnWrite in den Keller.
 
Hi,
der sieht wie folgt aus:

66.74% (56.72 GiB von 84.98 GiB) Das sollte also noch passen.

EDIT: Ich hatte zuvor mehr als 50% frei, selbes Verhalten.

So sieht es gesamt aus:

Code:
NAME                       USED  AVAIL     REFER  MOUNTPOINT
rpool                     72.5G  28.3G      104K  /rpool
rpool/ROOT                15.7G  28.3G       96K  /rpool/ROOT
rpool/ROOT/pve-1          15.7G  28.3G     10.9G  /
rpool/data                56.7G  28.3G       96K  /rpool/data
rpool/data/vm-100-disk-0  33.4G  28.3G     23.4G  -
rpool/data/vm-100-disk-1  9.19G  28.3G     4.93G  -
rpool/data/vm-101-disk-0  12.6G  28.3G     12.0G  -
rpool/data/vm-300-disk-0  1.55G  28.3G     1.48G  -

Noch eine Anmerkung, es scheint nichts mit Proxmox zutun zu haben. Auf dem Host Linux selber erreiche ich nun auch nur noch 40 MB/s max.
 
Last edited:
Hallo zusammen,

ich konnte das Problem nun lösen. Es lag an den SSDs. Diese waren wohl einfach, trotz das sie nagelneu waren, fehlerhaft.
Nach Lesen der ausschließlich negativen Rezessionen beim Händler, bestätigen mehrere User das Verhalten.
Auch wenn die neuen SSDs auch nicht ganz an ihre echte Leistung im ZFS Pool ran kommen, bin ich mit rund 200 MB/s zufrieden.

Danke für eure freundliche Unterstützung! :)

EDIT: Für alle die trotz guter SSD aber ähnlichen (Server untypischen) Komponenten wie meinen ZFS verwenden, noch 5 Tipps:
- Setzen des maximalen und minimalen Speichers von ZFS:
Code:
echo 2000000000 >> /sys/module/zfs/parameters/zfs_arc_min
Code:
echo 3000000000 >> /sys/module/zfs/parameters/zfs_arc_max
- nicht alle CPU Cores in den VMs zuweisen (ich habe 4 Cores, aber der VM nur 3 zugewiesen)
- die gesetzten maximalen 3GB ARC Speicher + 2GB Puffer zum Maximum nach VM Speicher dem System lassen
- ZFS Compression ausschalten + rebooten (für gewünschte Datasets):
Code:
 zfs set compression=off rpool
- Tipp von globoximator beachten: local-zfs min. 25% freien Speicherplatz
 
Last edited:

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!