|
Technik-Trend oder Hersteller-Hype? Virtualisierung ist ein Begriff, unter dem in der IT sehr unterschiedliche Technologien zusammengefasst sind. Allen gemeinsam ist die Abstraktion physikalischer Ressourcen. Eine Virtualisierungsschicht kann auf der Server-Ebene ansetzen, auf der Ebene der Speichersubsysteme oder speicher- und serverneutral auf Netzwerkebene. Stark im Kommen ist die Virtualisierung von x86-Servern und die damit mögliche Konsolidierung alter Server. Als Lösungen stehen eine Reihe von Technologien zur Verfügung, die im Unixumfeld oft aus Open Source-Projekten hervorgegangen sind. Die Basis bildet immer eine Software, die als Abstraktionsschicht zwischen Anwendung und Prozessor liegt. Sie wird Hypervisor oder Virtual Machine Monitor (VMM) genannt. Ein Hypervisor, ist ein Programm, das es ermöglicht, auf einem Prozessor mehrere Instanzen eines oder verschiedener Betriebssysteme laufen zu lassen. Der Hypervisor ist prozessorspezifisch. Er kontrolliert den Prozessor sowie alle Ressourcen der Hardware und stellt jeder Betriebssysteminstanz die benötigten Ressourcen zur Verfügung. Je nach Technik emuliert er die Hardware für jede Instanz (s. Hardwarevirtualisierung) oder übersetzt die Anforderungen an den Prozessor (s. Paravirtualisierung).
Hardwarevirtualisierung Diese Technik stand am Beginn der Virtualisierungsbewegung. Die x86-Architektur hat Virtualisierung ursprünglich nicht unterstützt. So war es schwierig, virtuelle Maschinen sicher auf einem System zu betreiben, da die Trennung mehrerer Umgebungen nicht möglich war und privilegierte Systemaufrufe der Betriebssysteme zu Konflikten geführt hätten. Deshalb haben erste Generationen der Virtualisierungslösungen die komplette Hardware für jede virtuelle Maschine emuliert und mussten dabei alle Instruktionen der Betriebssysteme abfangen und umsetzen.
Betriebssystemvirtualisierung Im Gegensatz zu Hardware- und Paravirtualisierung erlaubt die Virtualisierung des Betriebssystems es nur, viele virtuelle Instanzen eines Betriebssystems auf einem System zu erzeugen, nicht jedoch unterschiedliche Gast-OSs einzusetzen. Betriebssystemvirtualisierung, auch OS-Level- oder Shared-OS-Virtualisierung genannt, virtualisiert Server auf der Betriebssystem-(Kernel-)Ebene. Diese Virtualisierungsmethode bildet isolierte Partitionen oder virtuelle Umgebungen (Virtual Environments = VEs) auf einer einzelnen physikalischen Server- und Betriebssysteminstanz, so dass Hardware-, Software-, Rechenzentrums- und Verwaltungsressourcen mit maximaler Effizienz genutzt werden können. Zu den führenden Anbietern gehört SWSoft mit Virtuozzo, Sun hat mit der Containertechnik diesen Ansatz in Solaris implementiert und auch das neue AIX von IBM wird Virtualisierung in dieser Richtung bieten.
Paravirtualisierung Von der Open Source Gemeinde initiierte Technologie, von Microsoft auch als “Enlightenment” bezeichnet. Dabei wird ein Gastbetriebssystem so modifiziert, dass es innerhalb einer virtuellen Maschine direkt die entsprechenden Instruktionen des Hypervisors aufruft, so dass kein Performanceverlust durch die Emulation der gesamten Hardware entsteht. Der Ansatz wurde an der University of Cambridge unter dem Namen Xen entwickelt. Viele Linux-Distributionen sind an Xen angepasst und Xensource arbeite mit Microsoft an der Paravirtualsierung des Windows Server.
|