Virtualisierung

Aus Mikiwiki
Zur Navigation springen Zur Suche springen

Der Begriff Virtualisierung in der Informatik ist schwierig zu definieren. Es gibt viele Konzepte und Technologien im Bereich der Hardware und Software, die diesen Begriff verwenden. Ein sehr offener Definitionsversuch könnte wie folgt lauten: Virtualisierung bezeichnet Methoden, die es erlauben, Ressourcen eines Rechners zusammenzufassen oder aufzuteilen. Zu den Herstellern von Virtualisierungs-Software gehören Innotek, Parallels und Vmware. Daneben gibt es die freie Virtualisierungs-Software Xen.

Hauptziel ist es, dem Benutzer eine Abstraktionsschicht zur Verfügung zu stellen, die ihn von der eigentlichen Hardware (Rechenleistung und Speicherplatz) isoliert. Eine logische Schicht wird zwischen Anwender und Ressource eingeführt, um die physischen Gegebenheiten der Hardware zu verstecken. Dabei wird jedem Anwender vorgemacht, dass er zum einen der alleinige Nutzer einer Ressource sei, zum anderen werden mehrere (heterogene) Hardwareressourcen zu einer homogenen Umgebung zusammengefügt. Die für den Anwender unsichtbare bzw. transparente Verwaltung der Ressource ist dabei in der Regel die Aufgabe des Betriebssystems.

Zu den wichtigsten aktuellen Virtualisierungsansätzen zählen:

Allen Ansätzen gemeinsam ist die Rolle eines Hypervisors, der mit der höchsten Privilegstufe ausgeführt wird und die virtuellen Maschinen und deren Zugriff auf Ressourcen wie Arbeitsspeicher, Prozessor usw. kontrolliert.

Einige Befehle, die das Gastsystem an den Prozessor sendet, müssen über die Virtualisierungsschicht abgefangen werden. Die Ursache liegt im Design der x86-Prozessoren. Betriebssysteme dürfen privilegierte Prozessoranweisungen (Ring 0, direkter Zugriff auf Hardware und Arbeitsspeicher) verwenden, Anwendungen dagegen nicht (Ring 3). Ein Problem ergibt sich daraus, dass in der Virtualisierung Betriebssystem und Anwendungen gleichgestellt sind - also beide auf Ring 3 laufen - und bestimmte Befehle sich in Ring 3 anders verhalten als in Ring 0. Da das Betriebssystem in der Annahme programmiert ist, dass es auf Ring 0 läuft, arbeitet es nur instabil oder überhaupt nicht. Damit die Virtualisierung trotzdem funktioniert, analysiert die Software beim Start einer virtuellen Maschine jeden Befehl und baut ihn so um, wie das Gastsystem ihn erwartet. Zwar geht das mit geringem Leistungsverlust, doch sind für jedes Betriebssystem besondere Anpassungen nötig. Bei den VMware-Produkten und Virtual PC beispielsweise muss deshalb bei der Erstellung einer neuen virtuellen Maschine immer das gewünschte Gastsystem angegeben werden.

Für neuere Prozessoren haben sich Intel und AMD eine Befehlserweiterung ausgedacht, über die ihre Prozessoren die Virtualisierung besser unterstützen und auf Leistung hin optimieren. VMware-Produkte verwenden die Befehlserweiterungen bisher aber nur auf 64-Bit-Systemen.

  • Intel nennt die Technik "Virtualization Technology" (Codename "Vanderpool")
  • AMD nennt die Technik "AMD Virtualization" (Codename "Pacifica")

Vorteile

Die Vorteile der Virtualisierung sind:

  • Konsolidierung: Die Ressourcen eines normalerweise stark ausgestatteten Rechners werden den einzelnen virtuellen Maschinen ganz nach Bedarf zugewiesen. Dadurch werden Überkapazitäten vermieden und direkt Beschaffungs- und Wartungskosten für Hardware gespart. Ausserdem entfallen auch Kosten für Infrastruktur, da virtuelle Maschinen keine eigenen Netzwerk- oder Stromanschlüsse besitzen müssen.
  • Virtuelle Maschinen veralten nicht und müssen somit nicht ständig neu installiert werden. Ausserdem ist man beim Einsatz virtueller Maschinen auch nicht ständig einem Aktualisierungsdruck ausgesetzt: man kann sicher sein, dass eine ganz spezielle Legacy-Anwendung, die nur auf einem inzwischen veralteten Betriebssystem läuft, auch in 10 Jahren noch in einer virtuellen Maschine ausgeführt werden kann.
  • Gewinn an Sicherheit durch die gegenseitige Abschottung von Serverdiensten (Isolation): Prozesse können nicht aus ihrer virtuellen Umgebung ausbrechen. So bleiben im Fall von Speicherlecks, Kompromittierung durch fehlerhafte Software oder Sicherheitsmängel deren Auswirkungen eben nur auf diese virtuelle Maschine beschränkt und greifen nicht auf andere Dienste über.
  • Gewinn an Verfügbarkeit durch Ausfallsicherheit: ein HA-Cluster mehrerer Rechnersysteme kann zusammen eine oder mehrere virtuelle Maschinen betreiben. Diese können beim Ausfall eines der Rechnersysteme im Live-Betrieb auf ein anderes migriert werden. VMware VMotion als Teil von VMware Infrastructure 3 bietet diese Funktionalität ebenso wie der Xen-Server, einen entsprechenden Shared Storage-Bereich vorausgesetzt.

Weblinks

Herausgeber Sprache Webseitentitel Anmerkungen
Wikipedia ger Virtualisierung (Informatik)wbm Enzyklopädischer Artikel