James Thew - Fotolia

F

Wie profitieren Hypervisoren von Memory Sharing und Memory Overcommitment?

Memory Sharing und Memory Overcommitment erhöhen in virtuellen Umgebungen die Effizienz des Arbeitsspeichers. Wo liegen die Unterschiede?

Die Anzahl virtueller Maschinen, die ein Server hosten kann, ist durch die Compute-Ressourcen der physischen Hardware begrenzt. Die meisten dieser Ressourcen können dabei relativ leicht miteinander geteilt werden, beispielsweise Prozessorzyklen, Storage I/O oder auch die Netzwerkbandbreite.

Die Idee dahinter geht ganz einfach davon aus, dass einzelne Workloads nie zu einer vollständigen Auslastung der vorhandenen Ressourcen führen. Dadurch ermöglicht das Teilen der Ressourcen – also das Overcommitment – eine höhere Workload-Konsolidierung, als die physisch vorhandenen Ressourcen auf den ersten Blick nahelegen. Dabei ergibt sich kaum eine Auswirkung auf die Leistung der Workloads oder Applikationen.

Arbeitsspeicher dagegen war lange einer bestimmten virtuellen Maschine fest zugewiesenen Ressource. Da jede virtuelle Maschine im Arbeitsspeicher als vollständiges Image der Applikation mitsamt Daten vorgehalten wird, ist es enorm wichtig, dem Server auch genügend Arbeitsspeicher für jede virtuelle Maschine zur Verfügung zu stellen. Andernfalls nutzt der Server Swap oder Page Files, also Auslagerungsdateien auf der Festplatte, was meist zu signifikanten Performance-Einbußen der betroffenen virtuellen Maschine führt. Diese unflexible Art des Umgangs mit Arbeitsspeicher wurde schließlich durch neuere Techniken des Memory Sharing oder Memory Overcommitment abgelöst.

Schnell merkte man aber, dass viele virtuelle Maschinen gar nicht den gesamten ihnen zugewiesenen Arbeitsspeicher nutzen, was letztlich auf verschwendete Memory-Ressourcen hinausläuft. Hypervisoren sind so entwickelt, dass sie unbenötigte Memory-Kapazitäten entdecken und anderen virtuellen Maschinen zur Verfügung stellen, die sie tatsächlich benötigen. Falls keine anderen virtuellen Maschinen mehr Arbeitsspeicher benötigen, kann dieser letztlich auch für das Provisioning weiterer VMs genutzt werden.

Über Konfigurationsoptionen für den virtuellen Arbeitsspeicher lassen sich virtuellen Maschinen auch unterschiedliche Prioritäten bei der Memory-Zuweisung oder bestimmte Untergrenzen setzen, die ein spezifisches Minimum an Arbeitsspeicher festlegen.

Es ist auch nicht unüblich, dass virtuelle Maschinen sehr große Dateien beherbergen. Man nehme zum Beispiel an, sechs virtuelle Maschinen mit einem Gigabyte Größe wurden alle mit Windows Server 2012 R2 aufgesetzt, wobei zwei der VMs die gleiche Geschäftsanwendung ausführen. Damit wären fünf der sechs Kopien von Windows Server 2012 R2 und eine der beiden Applikationen redundant.

Memory Sharing ermöglicht in dieser Situation die Nutzung einer gemeinsamen Instanz der gleichen Memory Pages. Damit lässt sich der insgesamt von den virtuellen Maschinen genutzte Arbeitsspeicher verringern und ein höheres Memory Overcommitment erzielen. Memory Sharing bietet also die gleiche Effizienz im Arbeitsspeicher, wie dies die Daten-Deduplizierung für Festplattenspeicher ermöglicht.

Dabei sollte nicht vergessen werden, dass Memory Overcommitment und Memory Sharing höchst dynamische Techniken im Umgang mit dem verfügbaren Arbeitsspeicher sind und dabei enorm von der gesamten Compute-Last wie auch von gemeinsam genutzten Dateien abhängen. Wenig ausgelastete virtuelle Maschinen beispielsweise können freie Memory-Ressourcen für das Overcommitment freigeben, sobald die Auslastung aber wieder steigt, wird der Hypervisor den Arbeitsspeicher wieder der ursprünglichen VM zuweisen, wodurch das Risiko von Swap-Dateien steigt.

Virtuelle Maschinen mit unterschiedlichen Betriebssystemversionen, Applikationen und Daten wiederum bieten weniger Möglichkeiten, gemeinsame Memory Pages zu teilen. VM-Migrationen und Load Balancing können dabei gemeinsam genutzte Inhalte im Arbeitsspeicher verändern und damit das Memory Sharing nachhaltig beeinträchtigen.

Folgen Sie SearchDataCenter.de auch auf Twitter, Google+ und Facebook!

Erfahren Sie mehr über Containervirtualisierung

- GOOGLE-ANZEIGEN

ComputerWeekly.de

Close