Mobile-Menu

Die (R)Evolution der Rechenzentren; Teil 6 Virtualisierung und Speichertechnologie

Autor / Redakteur: Dr. Franz-Joachim Kauffels / Dipl.-Ing. (FH) Andreas Donner

Die Virtualisierung hat, wie könnte es auch anders sein, erhebliche Auswirkungen auf die Speichertechnologie. Daher müssen wir hier die grundsätzlichen Zusammenhänge darstellen. In Konsequenz haben diese wiederum schwer wiegende Implikationen auf das Design des zugrunde liegenden RZ-Netzes.

Anbieter zum Thema

Genau, wie sich die virtuellen Maschinen freizügig über die Server bewegen, müssen sie auch jederzeit einen hochqualitativen Zugang zu den Speicherressourcen haben. Merken Sie etwas? Wenn man das zu Ende denkt, wird das Netzwerk zum Systembus! Wir arbeiten uns erst in die allgemeinen Anforderungen und Zusammenhänge ein und kommen zum Abschluss dieses Teils zu einem weiteren Highlight aus Produktsicht: Wandernde Disk Files mit Storage VMotion.

Die Konvergenz von LAN und SAN im RZ, I/O-Konsolidierung und Begriffe wie NAS, SAN, iSCSI, FCoE, CEE, DEE, DCB, EoFC & Co. hängen damit zusammen, bilden aber einen eigenen so großen Themenblock, dass wir das gesondert und zusammenhängend in weiteren Folgen behandeln werden.

Wie immer, ist es sinnvoll, zunächst auf die grundsätzlichen Methoden des Speicherzugriffs in einem klassischen Betriebssystem zu blicken.

Der Speicherzugriff in einem klassischen Betriebssystem

Anwendungen gehen davon aus, dass sie einen einzigen großen Speicherraum zur Verfügung haben. Dieser ist aufgeteilt in Seiten a X KB. Jede Adresse gibt demnach Seitennummer und Position in der Seite an. Von einem (früher schon als virtuell bezeichneten) Speicherraum der gekennzeichneten Art wird zu einer Zeit immer nur ein kleiner Teil benötigt (Lokalitäts-Prinzip).

Es ist also Unsinn, diesen Speicher tatsächlich zur Verfügung zu stellen. In der Praxis liegt der „Virtuelle Speicher“ auf der Festplatte. Im RAM wird der aktuell benutzte Anteil in RAM-Seiten (Kacheln) bereitgestellt. Bei der Adressierung verwendet die Anwendung virtuelle Adressen. Ein CPU-nah realisierter Memory Management Unit Process sieht nach, ob die geforderte Seite im RAM vorhanden ist oder nachgeladen werden muss. Das Nachladen geschieht mit einer sog. Seitenersetzungsstrategie (Demand Paging), die durch einen systemunterstützenden Elementarprozess implementiert wird.

Bild 1 stellt die Zusammenhänge dar. In der Abbildung ist der MMU-Prozess auf der gleichen Ebene wie ein Anwendungsprozess realisiert. Das dient eher der Verdeutlichung, weil er auch eine Stufe tiefer implementiert werden kann, um eine größere Nähe zur Hardware aufzuweisen.

In den vergangenen Jahrzehnten wurden sehr viele Verbesserungen eingeführt, um den Prozess der Seitenersetzung zu beschleunigen. Dazu gehört vor allem der weite Bereich der Pre-Caching-Techniken. Hier versucht ein „intelligentes“ Demand Paging Verfahren, Seiten vorschauend zu laden, die die Anwendung in naher Zukunft mit hoher Wahrscheinlichkeit benötigen wird. Andere Alternativen ergeben sich aus der Annahme, dass sich die Anwendung relativ kontinuierlich auf dem Speicher bewegt und man daher eine Art „Sliding Window“ für das Nachladen aufbauen kann.

In einem Rechner mit Virtualisierung muss für jede virtuelle Maschine eine sog. Shadow-Tabelle erzeugt werden, die ein virtuelles RAM dieser virtuellen Maschine darstellt und mit einem virtuellen Paging-Algorithmus versehen wird.

Die Erzeugung und Verwaltung dieser Shadow-Tabellen durch den Hypervisor produziert mit die größte Last bzw. den größten Performance-Verlust.

Beim Wechsel auf eine andere virtuelle Maschine muss der Hypervisor die MMU in der physikalischen CPU durch die Shadow-Tabelle dieser VM ersetzen Wir sehen das in Bild 2.

Ohne HW-Unterstützung ist der Hypervisor mittelfristig verloren. Eine HW-Unterstützung kann so aussehen, dass ein oder mehrere Prozessoren aus dem Multicore dazu genutzt werden, Hardware-nahe Speicherbilder zu erzeugen, die vom Hypervisor wie tatsächliche Hardware angesprochen und benutzt werden können, siehe dazu Bild 3.

Die betroffenen Hersteller (Intel, AMD, …) arbeiten daran. Die Hypervisor-Engpässe können nur dann gelöst werden, wenn wir von der Software wieder zurück zur Hardware gehen. Diese Erkenntnis ist extrem wichtig, um die Diskussion auf der Netzwerk-Seite zu verstehen!

Bis hierher hatten wir uns auf die Verhältnisse innerhalb eines einzelnen Servers beschränkt. Erinnern wir uns an die Vision von VMware: hier wurden alle externen Massenspeichersysteme in das Gesamtkonzept eingebunden. Bis das so funktioniert, ist es aber ein weiter Weg.

Es gibt in der Praxis heute einige unhaltbare Dinge:

  • Verteilung von Speicher auf viele physikalische Instanzen
  • Fehlende Trennung von logischem und physischem Speicher

Virtualisierung und verteilter Speicher passen aber nicht zusammen. Glücklicherweise gibt es aber mehrere sich ergänzende Trends, die uns helfen können:

  • Preisverfall von SAN-Lösungen bei gleichzeitig immer besserer Management-SW
  • Trennung von Rechenleistung und Speicher
  • Immer höhere I/O-Raten der Hypervisor-SW

Auch für kleinere Unternehmen wird es deshalb immer attraktiver, zentrale Speicher einzusetzen.

weiter mit: Virtualisierung braucht zentrale Speichersysteme

Artikelfiles und Artikellinks

(ID:2050070)