Suchen

Netzwerk-Grundlagen – Rechenzentrumsnetze im Umbruch, Teil 3

Die grundsätzliche Funktionsweise der Virtualisierung im Überblick

Seite: 4/5

Firmen zum Thema

Vom klassischen Betriebssystem zur Virtualisierung

Konstruktiv gesehen passiert Folgendes: man schreibt ein Programm, welches zunächst einmal den Status eines Anwendungsprogramms hat. Dieses Programm bildet die durch das Betriebssystem normalerweise erzeugte Oberfläche für die Bearbeitung von Laufzeitumgebungen, wie sie für die Ausführung von Anwendungsprogrammen erzeugt werden, in allen dafür wichtigen Einzelheiten getreu nach.

Dieses Programm ist eine Virtuelle Maschine. Auf dieser Virtuellen Maschine können dann Anwendungsprogramme genau so ablaufen, wie gewohnt: man erzeugt aus dem ausführfähigen Code mittels der weiter oben beschriebenen Zuordnungen eine Laufzeitumgebung, die wiederum auf Elementarprozesse abgebildet wird. Diese Elementarprozesse werden atzt aber nicht mehr vom Scheduler der physikalischen Maschine bereitgestellt, sondern von dem Teil des „VM-Programms“, welches einen Scheduler nachbildet.

Bildergalerie
Bildergalerie mit 7 Bildern

Virtualisierung bedeutet also in jedem Falle die Erzeugung einer zusätzlichen Betriebssystemebene.

Das „VM-Programm“ ist seinerseits aus der Perspektive der physischen Maschine und dem darauf laufenden Betriebssystem zunächst einmal nichts anderes als ein normales Anwendungsprogramm. Es muss also eine Laufzeitumgebung bekommen, die durch die Bindung an reale anwendungsunterstützende Elementarprozesse implementiert wird. Das hat Vor- und Nachteile, wie wir noch sehen werden; siehe hierzu auch Abbildung 3.

Sobald man verstanden hat, wie die einfache Virtualisierung funktioniert, kommen einige Bedenken hinsichtlich folgender Komponenten bzw. Themen auf:

  • Möglicher Leistungsverlust
  • CPU
  • RAM
  • I/O pro Sekunde, Latenz
  • Netzwerk
  • Offenheit
  • Management (Umfang, Kosten)
  • Sicherheit

Beste Voraussetzungen für die Virtualisierung

Der aktuelle Schwung bei der Virtualisierung kommt daher, dass die Hersteller moderner Virtualisierungssoftware genau diese Probleme aufgegriffen und (in Stufen) weitgehend gelöst haben. Gleichzeitig hat sich mit den Multi-Core-Systemen eine Rechnergeneration entwickelt, die sehr gute Voraussetzungen für die Virtualisierung mit sich bringt.

Beginnen wir einfach einmal mit der Offenheit.

Wie Sie gesehen haben, ist eine Virtuelle Maschine ein Programm im Status eines Anwendungsprogramms. Dieses Programm kann man natürlich schreiben, wie man möchte, also kann es nicht nur ein bestimmtes Betriebssystem nachbilden, sondern unterschiedliche. Da das alles Anwendungsprogramme sind, können sie natürlich wie gewöhnliche Anwendungsprogramme koexistieren; siehe Abbildung 4.

Natürlich ist das zu schön, um wirklich wahr zu sein. Die Hersteller von Betriebssystemen waren in den vergangenen Jahrzehnten enorm fleißig darin, unmittelbare Durchgriffe des Betriebssystems auf reale Befehle der physikalischen Prozessoren zu erlauben. Die Offenheit im Rahmen der Virtualisierung ist auch heute davon abhängig, inwieweit die durch die VM-Programme nachgebildeten Betriebssysteme in ihrem Leben als „echte“ Betriebssysteme den HAL durchlöchert haben. Im Rahmen der VM-Programmierung kann man manche dieser Löcher zurückbilden, aber nicht immer alle. Es ergibt sich damit das Problem, wie man mit diesen unmittelbaren Durchgriffen umgeht, aber dazu später mehr.

Kommen wir zunächst zu anderen Aspekten. Das VM-Programm ist ja eigentlich nichts weiter als ein Anwendungsprogramm, also kann es auch rein theoretisch mit anderen Anwendungsprogrammen koexistsieren. Wird das so realisiert, spricht man von einer gehosteten Lösung; siehe Abbildung 5

Die Nachteile der gehosteten Lösung

Bei Versuchen hat sich gezeigt, dass das keine gute Lösung ist. Virtuelle Maschinen und normale Anwendungsprogramme behindern sich gegenseitig, weil sich das Profil, mit dem eine Virtuelle Maschine einen physischen Rechner beschäftigt, doch sehr von dem einer normalen Anwendung unterscheidet. Der Durchbruch der Virtualisierung mit modernen Konzepten basiert daher auf der Einführung eines so genannten Hypervisors.

Da wir eben so schön tief in die Funktionen eines Betriebssystems eingestiegen sind, lässt sich der Hypervisor, der vielen als unverständliche Komponente erscheint, von der man eigentlich nur weiß, dass sie orange ist, leicht erklären:

weiter mit: Der Hypervisor

Artikelfiles und Artikellinks

(ID:2045771)