„enlightened“ Kernel für den Microsoft-Hypervisor Dynamic Memory: Optimale Speicherallokation für den Hyper-V

Redakteur: Ulrich Roderer

Mit dem ersten Service Pack für den Windows Server 2008 R2 steht den Administratoren mit „Dynamic Memory“ eine neue Funktionalität zur Verfügung, mit deren Hilfe die Virtualisierungslösung von Microsoft immer den idealen Speicherbedarf der virtuellen Maschinen bestimmen soll. Dieser Überblick zeigt „erleuchtete“ Gastsysteme und erläutert die Bedeutung des Memory-Puffers für diese Technik.

Firmen zum Thema

Der grundsätzliche Aufbau des Hypervisors von Microsoft: Hier ist auch der Einsatz eines Gastsystems zu sehen, das einen „enligthened“ Kernel verwendet (Quelle: Microsoft TechNet).
Der grundsätzliche Aufbau des Hypervisors von Microsoft: Hier ist auch der Einsatz eines Gastsystems zu sehen, das einen „enligthened“ Kernel verwendet (Quelle: Microsoft TechNet).
( Archiv: Vogel Business Media )

Mit dem Service Pack 1, das gemeinsam für Windows 7 und den Windows Server 2008 R2 in einem Beta-Release zur Verfügung steht, hat Microsoft auf der Seite der Server zwei interessante Neuerungen eingeführt: Mit RemoteFX steht eine Erweiterung des Remote Desktop-Protokolls (RDP) zur Verfügung, die es dann auch Hosted Desktop-Systemen erlauben soll, eine Hardware-beschleunigte 3D-Grafik zu verwenden.

Mindestens ebenso interessant ist aber die zweite neue Funktionalität, die mit diesem Update zur Verfügung stehen wird: Microsoft ermöglicht mit einer Technik, die als „Dynamic Memory“ bezeichnet wird, eine dynamische Zuteilung des auf dem Hostsystem zur Verfügung stehenden physischen Speichers an die virtuellen Maschinen.

Für den praktischen Einsatz im täglichen Rechenzentrumsbetrieb ist dabei besonders interessant, dass eine solche „Verschiebung“ des jeweiligen Speichers im laufenden Betrieb erfolgen kann: Damit kann ein Systemverwalter dann sehr flexibel auf entsprechend veränderte Anforderungen reagieren, die auf die virtuellen Maschinen zukommen.

Testeinsatz: Der Windows Server 2008 R2 ist Vorbedingung

Wer jetzt bereits testweise ein Host-System mit dieser Funktionalität betreiben möchte, muss das Servicepack 1 auf seinem System installieren. Dieses steht aktuell als Betaversion zur Verfügung, arbeitet auf den Testsystemen des Autors bisher durchaus stabil und hat bereits Updates über den automatischen Update-Dienst von Windows erhalten. Der Rechner muss dabei als Betriebssystem den kompletten Windows Server 2008 Release 2 mit installierter Hyper-V-Rolle einsetzen. Eine zweite Möglichkeit diese Technik auszuprobieren bietet der Einsatz des alleinstehenden Hyper-V Servers 2008 R2.

Auch die Gastbetriebssysteme müssen gewisse Voraussetzungen erfüllen, damit sie von dieser Technik profitieren können: Sie sollten über einen sogenannten „enlightened“ Kernel verfügen. Als diese „Erleuchtung“ bezeichnet Microsoft gewisse Eigenschaften im Betriebssystemkern, die bei anderen Herstellern auch im Zusammenhang mit dem Begriff Paravirtualisierung zum Einsatz kommen.

Der Hauptvorteil dieser Technik besteht darin, dass der Betriebssystem-Kern bei diesen Gastsystemen „weiß“, dass er auf einem Hypervisor läuft und nicht direkt auf der Hardware betrieben wird (Bare Metal). Dadurch kann das System dann besser auf die Eigenheiten des virtualisierten Betriebs eingehen und entsprechende Vorteile aktiv nutzen. Weiterhin sind bei diesen Systemen beispielsweise auch die Gerätetreiber für Netzwerken und Speichergeräte entsprechend optimiert. Die neueren Betriebssysteme von Microsoft ab Windows Vista SP 1 besitzen bereits teilweise diese „enlightenments“ und der Hersteller arbeiten nach eigenen Aussagen auch mit Anbietern wie XenSource zusammen, um entsprechende Treiber und Erweiterungen für Linux-Systeme bereitzustellen. Um Missverständnisse zu vermeiden: Auch Betriebssysteme, die diese Erweiterungen nicht aufzuweisen haben, können problemlos als Gast in einer virtuellen Maschine auf dem Hypervisor von Microsoft betrieben werden – sie können nur nicht direkt von den besonderen Vorteilen wie beispielsweise dem „Dynamic Memory“ profitieren.

Dynamic Memory: Wozu dient der Memory-Puffer?

Der Grundgedanke hinter Dynamic Memory: Hyper-V soll dadurch in die Lage versetzt werden, den möglichst idealen Wert für den Speicherbedarf jeder aktiven virtuellen Maschine zu berechnen. Der Hyper-V nimmt dabei Speicherbereiche hinzu oder entfernt auch wieder Speicherbereiche bei aktiven VMs, um die laufenden virtuellen Maschinen immer so nah wie möglich am Idealwert des Speichers zu halten, den sie benötigen.

Natürlich wird sich ein solcher Idealwert im praktischen Einsatz konstant ändern: Öffnet beispielsweise ein Anwender, der auf dem Betriebssystem in der virtuellen Maschine arbeitet, dort ein Programm, so benötigt diese VM sofort mehr Hauptspeicher. Im Gegensatz dazu braucht sie ihn nicht mehr, wenn das entsprechende Anwendungsprogramm wieder geschlossen wird. Wer sich diese Vorgehensweise einmal genauer betrachtet, könnte zu dem Schluss kommen, dass es doch ideal wäre, wenn das System einer virtuellen Maschine zu jedem Zeitpunkt exakt die ideale Menge des Zielwerts an Speicher zuordnen würde. Das ist aber im normalen Betrieb nicht machbar. Zwar erlaubt es die Dynamic-Memory-Technik, dass der Hyper-V sehr schnell (manchmal sogar innerhalb einer Zeitspanne von weniger als einer Sekunde) einer VM den benötigten Speicher zuweisen kann.

(ID:2047918)