Hallo zusammen,
Wir betreiben ein Hyper-V Failover-Cluster mit drei Knoten:
- 2x Dell R715 (AMD Opteron 6386 SE, Windows Server 2012 R2 Datacenter)
- 1x Dell R7425 (AMD EPYC 7351, Windows Server 2016 Datacenter)
Die Storage-Anbindung erfolgt via FC (Multipath) auf ein Dell Compellent System. Alle vhdx-Dateien liegen auf LUNs in Cluster Shared Volumes. Die Netzwerk-Anbindung erfolgt via 1 GBit-NICs (2 Karten mit NIC-Teaming pro VLAN).
Auf unseren Dateiservern beobachten wir leider schlechte Performance bei Leseraten (also Kopiervorgängen vom Server auf Clients), wenn die betroffene Festplatte von der gelesen wird als vhdx-Datei als zweite bzw. zusätzliche Festplatte für die VM
konfiguriert ist. Die Situation ist auf allen drei Hosts zu beobachten. Schreibvorgänge erzielen meist gute Werte von 110+ mb/s über das Netzwerk. Lesevorgänge variieren im schlimmsten Fall von unter 1 mb/s bis zu seltenen max. 50 mb/s, wobei wir leider
zu häufig am unteren Ende nagen (200 kbit/s).
Kopiert man direkt aus dem Ordner ClusterStorage von der LUN, auf der eine betroffene vhdx-Datei liegt, treten keine Performance-Probleme auf. Ebenso ohne Probleme laufen vhdx-Dateien, die als erste Festplatte einer VM zugewiesen sind.
Folgende Maßnahmen haben wir bereits getroffen:
- Dell Case (Ergebnis: Hardware ok)
- Firmware und Softwarestände aktualisiert
- Windows Updates stets aktuell
- Windows Server Versionen gewechselt
- Linux VMs verhalten sich identisch
- Verschiedene Treiberversionen getestet
- MPIO-Pfade getestet
- LWL-Kontakte gesäubert
- Dienst VMQ (Virtual Machine Queues) ein- und ausgeschaltet
- fixed und dynamic sized vhdx-Dateien getestet
- Clustergrößen für NTFS verändert
- NIC-Teaming ein- und ausgeschaltet
- Generation 1 und 2 VMs getestet
- IDE- und SCSI-Controller verhalten sich identisch
Bindet man eine LUN direkt als Passthrough-Disk an eine VM, treten die Performance-Probleme nicht auf. Da es mit Passthrough-Disks aber andere unschöne Probleme im Bereich der Live-Migration gibt, können wir diese Variante aktuell nicht produktiv umsetzen.
Habt ihr noch weitere Ideen, die wir verfolgen können?