Storage QoS konfigurieren in Windows Server 2012 R2 Hyper-V


    Tags: , ,

    Quality of ServiceEine der Storage-bezogenen Neuerungen in Windows Server 2012 R2 Hyper-V ist die Kon­trolle der Disk-Zugriffe von virtuellen Maschinen. Dieser Quality of Service (QoS) legt eine Unter- und Obergrenze für IOPS fest, die eine VM pro Sekunde lesen oder schreiben darf.

    Virtualisierte Server zeichnen sich dadurch aus, dass mehrere Workloads die Hardware-Ressourcen einer Maschine gemeinsam nutzen. In den meisten Fällen ist der Hypervisor in der Lage, allen virtuellen Maschinen ihren benötigten Anteil automatisch zu gewähren.

    Manuelle Begrenzung der Ressourcen

    Verhält sich eine Anwendung jedoch nicht kooperativ und verbraucht zu viele Ressourcen, dann ist es günstig, wenn der Administrator eingreifen und diesen Zustand abstellen kann. Umgekehrt mag eine VM besonders hohe Anforderungen stellen, so dass man ihr explizit mehr Leistung zugestehen will.

    In früheren Versionen erlaubte es Hyper-V bereits, den Verbrauch von Rechenleistung durch die Zuteilung von vCPUs und von RAM durch Dynamic Memory explizit zu steuern. Es fehlte jedoch die Möglichkeit, die Speicher-Auslastung manuell zu beschränken. Dies lieferte nun Hyper-V 2012 R2 mit Storage QoS nach, das im Übrigen auch unter Windows 8.1 Hyper-V verfügbar ist.

    Storage QoS pro VHD(X)

    Die Ober- und Untergrenzen für den Datendurchsatz beziehen sich nicht auf eine VM, sondern auf jeweils ein virtuelles Laufwerk (VHD oder VHDX). Dabei spielt es keine Rolle, ob dieses an einen virtuellen IDE- oder SCSI-Controller angeschlossen ist, oder ob es sich dabei um lokale Platten oder einen Speicher im Netzwerk handelt.

    Die Konfiguration von Storage QoS erfolgt separat für jede VHD(X), und zwar über die erweiterten Features in Hyper-V Manager.

    Erwartungsgemäß erfolgt die Konfiguration pro Disk im Hyper-V Manager unter den Einstellungen einer VM. Jeder Eintrag für eine virtuelle Festplatte lässt sich über das Plus-Symbol weiter aufklappen, so dass der Befehl Erweiterte Features sichtbar wird. Der dann folgende Dialog enthält die Option Verwaltung der Dienstqualität, und nach deren Aktivierung sind die Eingabefelder für das Minimum und Maximum freigeschaltet. Die Eingabe der Werte erfolgt in IOPS.

    Benötigte IOPS ermitteln

    Wenn man eine überaktive VM einbremsen möchte, dann wird man den unteren Wert in der Regel bei 0 belassen und den oberen nach Bedarf senken. Umgekehrt kann man für eine Anwendung mit hoher Storage-Priorität das Minimum ausreichend hoch setzen, wobei der angeforderte Durchsatz dann nicht garantiert ist.

    Microsoft misst die IOPS in Schritten von 8 KB. Bei der Festlegung der Limits dürfte diese Information aber nicht sonderlich hilfreich sein. Vielmehr sollte man für diese Aufgabe reale Daten zur Hand haben, mit denen sich die Anforderungen einer VM belegen lassen.

    Perfmon liefert die I/O-Daten für jede einzelne aktive virtuelle Festplatte.

    Diese Informationen lassen sich mit Hilfe der Leistungsüberwachung (perfmon.exe) gewinnen. Sie bietet eigene Indikatoren, mit denen sich die gelesenen und geschriebenen Datenmengen pro Sekunde für jede VHD(X) anzeigen lassen.

    Führt man die Funktion Leistungsindikatoren hinzufügen aus, dann finden sich im Abschnitt Hyper-V Virtual Storage Device die Einträge Read Operations/sec und Write Operations/sec. Hebt man einen dieser beiden Einträge hervor, dann zeigt das Tool im Fenster darunter eine Liste aller geöffneten virtuellen Laufwerke an. Nach der Auswahl der gewünschten VHD(X) kann man deren I/O-Daten in die Diagrammanzeige übernehmen und sie über einen längeren Zeitraum beobachten, um repräsentative Informationen über das Verhalten der VM zu bekommen.

    Keine Kommentare