I/O trotz ZFS langsam

da123

Member
Dec 3, 2020
7
0
21
27
Liebe Community,

ich hätte eine Frage zur Konfiguration von PVE. Ich habe einen physischen Server mit 2 SATA-SSD´s. Diese haben Lese-/Schreibraten von ca. 500 MB/s. Die Festplatten sind mit SATA 3-Ports mit dem Server verbunden. Ich habe sie bei der Installation von PVE zu einem ZFS-Pool konfiguriert (vergleichbar mit RAID 1). Das Host-System hat 120 GB DDR3 1033 MHz RAM, die VM´s nutzen davon maximal 20 GB. Der Rest ist frei, bzw. wird von ZFS verwendet (ca. 80 GB für ZFS). Die hohe Verwendung des RAM´s für ZFS stört mich nicht. Der RAM wird sonst nicht gebraucht. Auf dem Host habe ich dann eine VM mit Windows Server und eine VM mit Debian installiert. Soweit so gut.

Leider stelle ich fest, dass die I/O-Geschwindigkeit weit unter dem oben angegeben Limit ist. Sequentiell erreiche ich 1500 MB/s beim Lesen, jedoch nur 60 MB/s beim Schreiben.

Konfiguration der VM´s:

Controller: VirtIO SCSI single
Laufwerk: VirtIO, Discard=1, IO thread=1, Cache deaktiviert

Könnte es am langsamen RAM liegen? Oder an der RAM-Auslastung für ZFS? Oder vielleicht doch die Konfig der Maschinen?

Ich freue mich über jeden Tipp! Danke!
 
2 SATA-SSD´s

Genaue Modellbezeichnung(en)?

Das Host-System hat 120 GB DDR3 1033 MHz RAM, die VM´s nutzen davon maximal 20 GB. Der Rest ist frei, bzw. wird von ZFS verwendet (ca. 80 GB für ZFS).

Sollte standardmäßig und aus "technischen Sicherheitsgründen" nur maximal 50% des Gesamt-RAMs sein...
ARC-Stats kannst du dir mit: arc_summary -s arc anschauen.

Konfiguration der VM´s:

Controller: VirtIO SCSI single
Laufwerk: VirtIO, Discard=1, IO thread=1, Cache deaktiviert

Immer gut die vollständige Konfiguration zu posten mit z.B.: qm config VMID

Edit:
I/O trotz ZFS langsam

Trotz? Vielleicht aber auch gerade deswegen... :eek: ;)
 
Last edited:
Genaue Modellbezeichnung(en)?
Beides sind WD Red SA 500
Sollte standardmäßig und aus "technischen Sicherheitsgründen" nur maximal 50% des Gesamt-RAMs sein...
ARC-Stats kannst du dir mit: arc_summary -s arc anschauen.
ZFS Subsystem Report Thu Dec 08 10:50:58 2022
Linux 5.13.19-6-pve 2.1.4-pve1
Machine:xxx (x86_64) 2.1.4-pve1

ARC status: HEALTHY
Memory throttle count: 0

ARC size (current): 90.7 % 50.0 GiB
Target size (adaptive): 100.0 % 55.1 GiB
Min size (hard limit): 6.2 % 3.4 GiB
Max size (high water): 16:1 55.1 GiB
Most Frequently Used (MFU) cache size: 93.0 % 42.2 GiB
Most Recently Used (MRU) cache size: 7.0 % 3.2 GiB
Metadata cache size (hard limit): 75.0 % 41.3 GiB
Metadata cache size (current): 15.3 % 6.3 GiB
Dnode cache size (hard limit): 10.0 % 4.1 GiB
Dnode cache size (current): 8.8 % 374.2 MiB

ARC hash breakdown:
Elements max: 14.7M
Elements current: 89.8 % 13.2M
Collisions: 3.3G
Chain max: 11
Chains: 3.1M

ARC misc:
Deleted: 2.5G
Mutex misses: 614.9k
Eviction skips: 59.4k
Eviction skips due to L2 writes: 0
L2 cached evictions: 0 Bytes
L2 eligible evictions: 23.5 TiB
L2 eligible MFU evictions: 36.9 % 8.6 TiB
L2 eligible MRU evictions: 63.1 % 14.8 TiB
L2 ineligible evictions: 1.0 TiB

Immer gut die vollständige Konfiguration zu posten mit z.B.: qm config VMID
agent: 1
bios: ovmf
boot: order=virtio0;ide2;net0
cores: 1
cpu: kvm64,flags=+hv-tlbflush;+hv-evmcs;+aes
machine: pc-q35-7.1
memory: 8192
meta: creation-qemu=7.1.0,ctime=XXXXX
name: WinServer22
net0: e1000=XXXXXXX,bridge=vmbr1,firewall=1
numa: 0
onboot: 1
ostype: win11
scsihw: virtio-scsi-single
smbios1: uuid=XXXXXX
sockets: 2
vcpus: 2
virtio0: local-zfs:vm-802-disk-0,discard=on,iothread=1,size=300G
vmgenid: XXXXXXX
 
Beides sind WD Red SA 500

Beide gegen vernünftige Enterprise-SSDs mit PLP austauschen und dann nochmal testen: [1]. :)

Generelle VM-Empfehlungen [2]:
  • cores: 1 Ganz schön überschaubar. ;)
  • cpu: kvm64 Wenn keine Live-Migration benötigt wird, besser auf host stellen.
  • net0: e1000 Besser virtio benutzen. Benötigt allerdings Treiber [3] und mit deutschen Windows-Versionen gibt es leider seit längerem Probleme mit diesen. Also vorher erstmal hier im Forum suchen und einlesen.
  • numa: 0 Bei zwei Sockeln im Optimalfall aktivieren.
  • virtio0: Wäre vermutlich scsi optimaler. Allerdings weiß ich nicht, wie Windows in diesem Fall auf die Änderung reagiert. Ist in dem Bereich gerne zickig. Auch hier vorher unbedingt einlesen!
Besonders die Netzwerk- und Disk-Änderungen vorher testen! Aktuelles Backup sollte sowieso vorhanden sein.

Hauptproblem dürften aber wohl die SSDs in Verbindung mit ZFS sein: [1]...

[1] https://forum.proxmox.com/threads/proxmox-ve-zfs-benchmark-with-nvme.80744
[2] https://pve.proxmox.com/wiki/Windows_2022_guest_best_practices
[3] https://pve.proxmox.com/wiki/Windows_VirtIO_Drivers
 

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!