Bundesamt für Sicherheit in der Informationstechnik

M 3.70 Einführung in die Virtualisierung

Verantwortlich für Initiierung: IT-Sicherheitsbeauftragter, Leiter IT

Verantwortlich für Umsetzung: Administrator, Leiter IT

Mit der so genannten Virtualisierung von IT-Systemen steht eine Technik zur Verfügung, mit der ein oder mehrere virtuelle IT-Systeme auf einem physischen Computer betrieben werden können. Ein solcher physischer Computer wird als Virtualisierungsserver bezeichnet. Diese Technik wird bereits seit den 1970er Jahren bei den Mainframes ( z. B. IBM zSeries) eingesetzt. Sie hat aber erst Ende der 1990er Jahre im Bereich der Midrange Server weitere Verbreitung gefunden. Beispiele für Software-Produkte zur Virtualisierung von IT-Systemen mit x86-Architektur sind Microsoft Virtual PC/Server, Parallels Virtuozzo, Sun VirtualBox, VMware Workstation/Server/ESX und Xen. Ein weiteres Beispiel ist SUN Solaris Zones, das für die SPARC- und INTEL-Plattformen von Solaris verfügbar ist. Für die Enterprise Serie der SUN Server ist des Weiteren eine hardwaregestützte Virtualisierung (hier Partitionierung genannt) über die Verwendung so genannter Domains möglich. Im Bereich der zSeries-Großrechner kann eine Virtualisierung beispielsweise über die Nutzung von Logical Partitions (LPARs, hardwaregestützte Virtualisierung) oder über das Produkt z/VM (softwaregestützt) erfolgen (siehe auch B 3.107 S/390- und zSeries-Mainframe ).

Die Virtualisierungstechnik hat sich sehr schnell als strategisches Mittel zur besseren Auslastung und Konsolidierung von Serversystemen durchgesetzt, da sie es ermöglicht, viele Dienste auf einem physischen Serversystem zu konzentrieren, ohne dass die Aufteilung der Dienste auf einzelne IT-Systeme aufgegeben werden muss. Dadurch werden die Ressourcen der physischen Server besser ausgenutzt und es können vielfach Einsparungen im Serverbetrieb erreicht werden. Diese Einsparungen beziehen nicht nur auf die Anzahl der einzusetzenden physischen IT-Systeme sondern auch auf die Stromkosten, den Platz in Serverräumen und Rechenzentren sowie die Klimatisierung. Weiterhin ist es möglich, durch die Virtualisierung Prozesse zur Bereitstellung neuer Server zu beschleunigen, da beispielsweise nicht für jedes neue Serversystem eine Bestellung durchgeführt werden muss. Bei einigen Virtualisierungslösungen können virtuelle IT-Systeme kopiert werden, wodurch Installationsprozesse vereinfacht werden können, oder es können so genannte Snapshots von virtuellen IT-Systemen angelegt werden, die es ermöglichen, nach einer fehlerhaften Konfigurationsänderung schnell den ursprünglichen Zustand wiederherzustellen.

Mehrere Virtualisierungsserver können des Weiteren zu einer so genannten virtuellen Infrastruktur zusammengefasst werden. In einer solchen virtuellen Infrastruktur werden mehrere Virtualisierungsserver gemeinsam mit den darauf laufenden virtuellen IT-Systemen verwaltet. Damit sind weitere Funktionen möglich. Beispielsweise können virtuelle IT-Systeme von einem Virtualisierungsserver auf einen anderen verschoben werden. Dies kann teilweise auch dann durchgeführt werden, während das virtuelle IT-System in Betrieb ist (Live Migration). Weiterhin gibt es Möglichkeiten, die Verfügbarkeit der virtuellen IT-Systeme zu steigern. So können mittels der Live Migration virtuelle Systeme immer auf den Virtualisierungsserver verschoben werden, der gerade die beste Performance für den Betrieb des virtuellen Systems zur Verfügung stellen kann. Eine weitere Möglichkeit besteht darin, virtuelle IT-Systeme automatisch auf einem anderen Virtualisierungsserver neu zu starten, wenn der ursprüngliche Virtualisierungsserver beispielsweise wegen eines Hardwaredefekts ausgefallen ist.

Die reichhaltigen Möglichkeiten zu Manipulation der virtuellen IT-Systeme durch die Virtualisierungssoftware lassen Virtualisierungsserver besonders für den Aufbau von Test- und Entwicklungsumgebungen geeignet erscheinen. Es ist mittels der Virtualisierung möglich, für Test- und Entwicklung schnell IT-Systeme bereitzustellen und komplexe Umgebungen schnell und effizient aufzubauen. Weiterhin können produktive virtuelle IT-Systeme für eine Test- und Entwicklungsumgebung kopiert werden, damit Aktualisierungen und Anpassungen ohne Störungen des Produktivbetriebes getestet werden können.

Voraussetzungen für den Betrieb virtueller IT-Systeme auf einem Virtualisierungsserver

Um verschiedene virtuelle IT-Systeme auf einem Virtualisierungsserver sicher nebeneinander betreiben zu können, muss die Virtualisierungssoftware bestimmte Voraussetzungen erfüllen. Die Virtualisierungssoftware muss dafür sorgen, dass

  • sich jedes virtuelle IT-System für die darin ablaufende Software nahezu wie ein eigenständiger physischer Computer darstellt (Kapselung),
  • die einzelnen virtuellen IT-Systeme voneinander isoliert werden und nur über festgelegte Wege miteinander kommunizieren können (Isolation),
  • die einzelnen virtuellen IT-Systeme in geordneter Weise auf die Ressourcen der Hardware zugreifen können.

Abhängig davon, wie die Virtualisierung der Ressourcen realisiert ist, werden diese Funktionen der Virtualisierungsschicht möglicherweise nur eingeschränkt erfüllt. So gibt es beispielsweise Lösungen, bei denen die Betriebssystem-Software leicht angepasst werden muss, bevor sie in einem virtuellen IT-System laufen kann. Ein anderes Beispiel für Einschränkungen bei der Virtualisierung sind Lösungen, bei denen alle virtuellen IT-Systeme auf einem Virtualisierungsserver verschiedene Instanzen des gleichen Betriebssystems verwenden müssen.

Die Virtualisierungsschicht muss nicht notwendigerweise eine reine Software-Komponente sein. Bei einigen Plattformen unterstützt auch die Hard- oder Firmware die Virtualisierung der Ressourcen. Die Virtualisierungsschicht stellt den virtuellen IT-Systemen in der Regel konfigurierbare Zugriffsmöglichkeiten auf lokale Laufwerke und Netzverbindungen zur Verfügung. Dies erlaubt es den virtuellen IT-Systemen, miteinander und mit fremden IT-Systemen zu kommunizieren.

In der Praxis werden zwei Arten von Virtualisierungssoftware unterschieden, die Servervirtualisierung und die Betriebssystemvirtualisierung.

Servervirtualisierung

Die Servervirtualisierung bildet die Basis für virtuelle IT-Systeme, die meist eine vom Virtualisierungsserver abstrahierte, virtualisierte und vollständige Hardwareumgebung besitzen. In dieser virtuellen Hardwareumgebung wird ein vollständiges Betriebssystem installiert, auf dem dann im Folgenden Anwendungen auf gewohnte Weise betrieben werden können.

In der Regel ist das Betriebssystem, das auf dem virtuellen IT-System installiert werden kann, völlig unabhängig von dem Betriebssystem, unter dem die Virtualisierungssoftware betrieben wird. Der Zugriff des virtuellen IT-Systems auf die Ressourcen (Prozessor, Arbeitsspeicher, Massenspeicher, Netz) des Virtualisierungsservers wird durch die Virtualisierungssoftware gesteuert. Dazu erhält jedes virtuelle IT-System virtuelle Geräte, die den Zugriff auf diese Ressourcen erlauben. Diese Geräte werden entweder vollständig emuliert, oder es werden die physischen Geräte durch die Virtualisierungssoftware an das virtuelle IT-System weiter gereicht. Im jedem Fall sorgt die Virtualisierungssoftware dafür, dass die physischen Geräte auf geordnete Weise durch die virtuellen IT-Systeme genutzt werden können, so dass sich diese gegenseitig möglichst wenig beeinflussen können. Die Treiber, mit denen die virtuellen IT-Systeme auf die Hardwarekomponenten des Virtualisierungsservers zugreifen, müssen in der Regel nach der Betriebssysteminstallation innerhalb der virtuellen IT-Systeme nachinstalliert werden.

Bei der Servervirtualisierung wird zwischen so genannten hypervisorbasierten (Typ 1-) und hostbasierten (Typ 2-) Virtualisierungsprodukten unterschieden. Bei den hypervisorbasierten Virtualisierungsprodukten wird auf der physischen Hardware nur ein auf die Virtualisierung spezialisiertes Rumpf-Betriebssystem, der so genannte Hypervisor, installiert. Dieser erzeugt die für den Betrieb der virtuellen IT-Systeme notwendige virtuelle Hardware-Umgebung und steuert den Zugriff der virtuellen IT-Systeme auf die physischen Ressourcen. Bei den hostbasierten Virtualisierungsprodukten wird der Hypervisor als Dienst in einem voll ausgestatteten und nicht auf den Verwendungszweck optimierten Betriebssystem installiert.

Betriebssystemvirtualisierung

Die Betriebssystemvirtualisierung unterscheidet sich von der Servervirtualisierung sehr stark in der Art, wie die virtuellen IT-Systeme erzeugt werden. Die Servervirtualisierung stellt den virtuellen IT-Systemen eine vollständige Hardwareumgebung zur Verfügung. Die Betriebssystemvirtualisierung hingegen stellt eine Lösung dar, in der den virtuellen IT-Systemen isolierte Instanzen des Betriebssystems zur Verfügung gestellt werden, auf dem das Virtualisierungsprodukt installiert wurde. Daher sind beispielsweise für den Zugriff auf die Hardwarekomponenten des physischen Systems in der Regel keine speziellen Treiber notwendig, da die Hardwarekomponenten unverändert an das virtuelle IT-System "durchgereicht" werden. Die Virtualisierungssoftware steuert hier nur den Zugriff, so dass sich die virtuellen IT-Systeme nicht gegenseitig beeinflussen.

Durch diese Art der Virtualisierung ergeben sich einige Einschränkungen für die virtuellen IT-Systeme, die mittels einer Betriebssystemvirtualisierungslösung betrieben werden. Es ist in der Regel nicht möglich, unterschiedliche Betriebssysteme in den auf einem Virtualisierungsserver laufenden IT-Systemen zu nutzen, da das Betriebssystem vom Virtualisierungsserver übernommen werden muss. Bei einigen Produkten können allerdings unterschiedliche Kernelversionen des gleichen Betriebssystems auf einem Virtualisierungsserver genutzt werden.

Bei beiden Virtualisierungstechniken steht für die Administration des Virtualisierungsservers, des Hypervisors und der virtuellen IT-Systemen eine Verwaltungssoftware zur Verfügung. Dies kann eine webbasierte Verwaltungsoberfläche, eine spezielle Verwaltungssoftware oder auch eine kommandozeilen-basierte Benutzerschnittstelle sein. Bei einigen Typ 1-Servervirtualisierungsprodukten wird diese Verwaltungsschnittstelle als virtuelles IT-System unter der vollständigen Kontrolle des Hypervisors ausgeführt.

Vergleich von Server- und Betriebssystemvirtualisierung

Der große Vorteil der Betriebssystemvirtualisierung ist es, dass auf dem Virtualisierungsserver so gut wie keine Ressourcen für die Emulation einer virtuellen Hardware benötigt werden, so wie es bei der Servervirtualisierung der Fall ist. Dadurch können mit der Betriebssystemvirtualisierung deutlich mehr virtuelle IT-Systeme auf einem physischen System betrieben werden als bei der Servervirtualisierung. Dies ermöglicht einen höheren Verdichtungsgrad, also ein höheres Verhältnis von virtuellen zu physischen IT-Systemen.

Wesentliche Nachteile der Betriebssystemvirtualisierung sind allerdings die geringere Flexibilität bei der Verwendung unterschiedlicher Betriebssysteme sowie die schwächere Kapselung der virtuellen IT-Systeme. Für den Einsatz unterschiedlicher Anwendungen innerhalb der virtuellen IT-Systeme können daher ebenfalls Einschränkungen bestehen. Dies hängt im Wesentlichen damit zusammen, dass die Verzahnung von virtuellen IT-Systemen und Virtualisierungsserver stärker ist als bei der Servervirtualisierung. Bei der Betriebssystemvirtualisierung werden häufig viele Teile des Betriebssystems des Virtualisierungsservers gemeinsam mit den virtuellen IT-Systemen genutzt. So werden meist die gleichen Software-Bibliotheken und Betriebssystemkomponenten genutzt, bei einigen Virtualisierungsprodukten werden z. B. Software-Bibliotheken nur einmal im Arbeitsspeicher des physischen Systems gehalten und von allen virtuellen IT-Systemen genutzt.

Die Kapselung der virtuellen IT-Systeme ist daher bei der Betriebssystemvirtualisierung im Vergleich mit der Servervirtualisierung geringer ausgeprägt. In der Folge kann auch die Isolation der virtuellen IT-Systeme untereinander und im Verhältnis zum Virtualisierungsserver weniger stark sein.

Bei der Servervirtualisierung ist der Ressourcenverbrauch pro virtuellem IT-System auf dem Virtualisierungsserver in der Regel höher als bei der Betriebssystemvirtualisierung. Der Aufwand zur Wartung und Pflege (Beispiel: Einspielen von Softwareaktualisierungen) der virtuellen IT-Systeme ist ebenfalls höher, da diese auf Grund der starken Kapselung häufig für jedes virtuelle IT-System einzeln erfolgen muss. Bei der Betriebssystemvirtualisierung können solche Softwareaktualisierungen teilweise durch Installation des Patches auf dem Virtualisierungsserver in allen virtuellen IT-Systemen mit installiert werden.

Weiterhin wird die größere Flexibilität der Servervirtualisierungslösungen mit einem höheren Komplexitätsgrad erkauft. Diese höhere Komplexität ergibt sich durch den etwas höheren Aufwand, mit dem Virtualisierungsserver für eine Servervirtualisierung in die Infrastruktur des Informationsverbundes integriert werden müssen. Die Verfahrensweisen für die Integration dieser Systeme in Netze und Speichernetze sind in der Regel komplexer. Des Weiteren müssen bestehende Prozesse zum Ausrollen neuer IT-Systeme möglicherweise angepasst werden.

Daher eignet sich die Betriebssystemvirtualisierung dann besonders gut, wenn eine große Menge gleichartiger virtueller IT-Systeme benötigt wird, beispielsweise viele gleich oder ähnlich konfigurierte Webserver. Die Servervirtualisierung kann ihre Vorteile dann ausspielen, wenn viele verschiedene virtuelle IT-Systeme betrieben werden müssen. Sollen heterogene Serverlandschaften virtualisiert werden, existiert häufig keine Alternative zur Servervirtualisierung.

Netzwerkintegration der Virtualisierungsserver und virtuellen IT-Systeme

Bei den verschiedenen Virtualisierungslösungen bestehen viele unterschiedliche Methoden, den virtuellen IT-Systemen Zugriff auf die Netze des Informationsverbundes zu ermöglichen. Im Wesentlichen können zwei Prinzipien unterschieden werden, wie diese Netzverbindungen realisiert werden.

  • Den virtuellen IT-Systemen werden direkt physische Netzschnittstellen des Virtualisierungsservers zugeordnet. Hierbei sind die virtuellen IT-Systeme direkt mit dem Netz verbunden, mit dem der Virtualisierungsserver selbst verbunden ist.
  • Die physischen Netzschnittstellen werden indirekt mit den virtuellen IT-Systemen verbunden. Dabei wird ein virtueller Switch durch den Hypervisor erzeugt, mit dem die virtuellen Netzschnittstellen der virtuellen IT-Systeme verbunden sind. Dieser virtuelle Switch wiederum kann mittels einer physischen Netzschnittstelle des Virtualisierungsserver mit dem physischen Netz verbunden werden. Es ist mit dieser Technik auch möglich, virtuelle Switche und Netze zu definieren, die keine Verbindung in das physische Netz des Informationsverbundes haben.

Diese zwei unterschiedlichen Netzintegrationstechniken haben unterschiedliche Auswirkungen darauf, wie die Integration der virtuellen IT-Systeme und der Virtualisierungsserver in das Netz des Informationsverbundes vorgenommen werden muss. Besonders mit der zweiten Variante ist es möglich, flexibel auf unterschiedliche Schutzbedarfsanforderungen der virtuellen IT-Systeme zu reagieren.

Gastwerkzeuge

Viele Hersteller stellen für die virtuellen IT-Systeme so genannte Gastwerkzeuge zur Verfügung, mit denen die virtuellen IT-Systeme auf einfache Weise durch die Virtualisierungssoftware gesteuert werden können. Diese Werkzeuge ermöglichen es beispielsweise, virtuelle IT-Systeme über die Virtualisierungssoftware herunterzufahren, ohne dass mit dem virtuellen System direkt interagiert werden muss. Weitere Funktionen sind z. B. der Austausch der Zwischenablage zwischen virtuellem IT-System und dem Rechner des Benutzers des virtuellen IT-Systems oder der vereinfachte Zugriff auf Datenträger wie CD- oder DVD-ROMs, die in die entsprechenden Laufwerke des Virtualisierungsservers oder des Rechners des Benutzers des virtuellen IT-Systems eingelegt werden. Die Treiber für den Zugriff auf die virtualisierte Hardware und die Werkzeuge zur Steuerung der virtuellen IT-Systeme werden häufig als ein integriertes Installationspaket bereitgestellt.

Stand: 12. EL Stand 2011