Virtualisierung wird Mainstream

Dank CPU-Unterstützung und Multicore-Prozessoren wird Virtualisierung auf x86 immer interessanter. Wir geben einen Überblick über die technischen Ansätze und Produkte.

Artikel erschienen in Swiss IT Magazine 2007/15

     

In den letzten Monaten hat sich Virtualisierung von Computern mittels Software auf x86 von einer Randgruppen-Technologie zu einem Mainstream-Thema gemausert. Dank neuer Technologien und Produkte ist sie nicht mehr nur für Software-Entwickler, Anti-Virus-Spezialisten und einige grosse Rechenzentren interessant, sondern macht sich so ziemlich überall breit, wo sie bisher noch nicht war – sogar auf dem heimischen Desktop. Die Gründe sind vielfältig:


- Dank stetig wachsender Rechenleistung, Multicore-Prozessoren mit integrierter Virtualisierungsunterstützung (AMD-V,
Intel-VT) und Technologien wie Para- (Xen) oder Betriebssystemvirtualisierung (Virtuozzo, Solaris Zones) sind die Performance-Unterschiede zwischen nativem und virtualisiertem Betrieb vernachlässigbar respektive kaum noch vorhanden.




- Der hohe Energieverbrauch und damit die hohen Kosten für Energie und Kühlung machen trotz immer günstigerer Hardware Serverkonsolidierung attraktiv. Insbesondere wenig belastete Server (beispielsweise DNS- oder Intranet-Server verschiedener Abteilungen) lassen sich einfach zusammenfassen, ohne dass die Anwender auf ihre «eigenen» Server verzichten müssen.



- Werkzeuge wie Live-Migration, die das Verschieben von virtuellen Servern im laufenden Betrieb über Servergrenzen hinweg erlauben, ermöglichen es, Downtimes niedrig zu halten oder gar nicht erst entstehen zu lassen und Applikationen bei Bedarf mehr Performance zur Verfügung zu stellen.



- Kostenlose Virtualisierungssoftware wie Virtual PC und Virtual Server (beide Microsoft) oder Vmware Server (Vmware) machen es Privatanwendern oder KMUs leichter, Virtualisierung auszuprobieren oder zu verwenden, da sie vorab kein Geld in Software investieren müssen.



- Der Trend zu alternativen Betriebssystemen wie Linux oder MacOS X erhöht den Bedarf nach Virtualisierungssoftware, um beispielsweise auf Windows-Programme zugreifen zu können, die noch nicht auf der jeweiligen Plattform verfügbar sind oder für die es keine Alternativen gibt. Insbesondere auf MacOS X hat der Wechsel von PowerPC zu x86 zu mehreren Produkten geführt (Parallels Desktop for Mac, Vmware Fusion), die sogar virtualisierte Windows-Programme auf dem Mac-Desktop anzeigen können.



- Dank der immer gleichen Hardware, die von einiger Virtualisierungssoftware den Gästen vorgegaukelt wird, lassen sich auch alte Betriebssysteme (beispielsweise NT, Netware oder OS/2) und Applikationen mit neuer Hardware verwenden, für die es ansonsten keine Treiber gäbe.


Diese Liste ist nicht abschliessend, und mit der Zeit dürften sich weitere Anwendungsbereiche für Virtualisierung finden, insbesondere, wenn beispielsweise Grafikkarten Unterstützung für Virtualisierung mitbringen. Ein Beispiel für ein Konzept, das erst durch Virtualisierung ermöglicht wurde, sind Virtual Appliances, bei denen Hersteller ein einsatzbereites System als Image ausliefern. Die Hardware braucht der Kunde nicht mehr zwingend vom Software-Hersteller zu kaufen und kann sie statt dessen selber mitbringen (mehr dazu auf Seite 38).


Virtualisierung ist nicht gleich Virtualisierung

Die verschiedenen Produkte zur Virtualisierung unterscheiden sich nicht nur preislich oder bei den Betriebssystemen, die sie als Wirt respektive Gast unterstützen. Es gibt eine Vielzahl von Unterschieden, was eine intensive Evaluierung der Produkte erfordert.
Das wichtigste Unterscheidungsmerkmal der Produkte in unserer Übersicht ist die Art, wie sie virtualisieren.



- Bei der Betriebssystemvirtualisierung wird nicht die Hardware abstrahiert und den Gästen eine bestimmte Umgebung simuliert, sondern das Gastsystem aufgeteilt. Dabei teilen sich alle Gastsysteme den Kernel des Wirts und erhalten nur eine isolierte Umgebung, die vom Wirtssystem respektive den anderen Gästen abgeschottet ist. Dies hat zur Folge, dass man bei einem Linux-Wirt nur andere Linux-Distributionen als Gast verwenden kann. Zudem stehen den Gastsystemen einige Funktionen nicht zur Verfügung (beispielsweise bei Linux das Laden von Kernel-Modulen). Dafür läuft das Gastsystem mit voller Geschwindigkeit.




- Bei der Hardware-Virtualisierung wird dem Gastsystem eine komplett vom Wirt unabhängige Umgebung inklusive BIOS und bestimmten Hardware-Komponenenten vorgegaukelt. Dies ermög­licht es, beispielsweise auf MacOS X Windows, Linux und BSD parallel zu betreiben. Die Hardware-Virtualisierung ist dafür etwas langsamer als die Betriebssystemvirtualisierung. Dank intelligenten Caching-Mechanismen, wie sie beispielsweise die Vmware-Produkte enthalten, oder Hardware-Unterstützung seitens des Prozessors (AMD-V respektive Intel-VT) ist der Geschwindigkeitsverlust aber moderat. Zudem ist es nur so möglich, beispielsweise ein altes Windows NT auf aktueller Hardware zu betreiben.



- Die Paravirtualisierung ist eine alte Variante der Systemvirtualisierung, die allerdings erst durch die Linux-Virtualisierungssoftware Xen bekannt wurde. Bei ihr wird der Kernel der Gastsysteme so modifiziert, dass der Zugriff auf die Hardware über eine spezielle von der Virtualisierungssoftware bereitgestellte Schnittstelle erfolgt. Dadurch arbeitet die Paravirtualisierung schneller, da sie den Hardware-Zugriff nicht erst abfangen und dann emulieren muss. Die Modifikation des Kernels ist bei freien Betriebssystemen wie Linux oder BSD möglich, nicht aber bei proprietären Systemen wie Windows, was sie für die Paravirtualisierung ungeeignet macht (mehr zu Xen auf Seite 43).


Wer wird Wirt?

Eine weiterer grosser Unterschied der Software-Virtualisierungsprodukte sind die von ihnen unterstützen Wirtssysteme. Während die meisten von ihnen ein voll ausgewachsenes Betriebssystem wie Windows, Linux oder MacOS X voraussetzen, das für den Zugriff auf die Hardware sorgt, gibt es einige Produkte, die vermeintlich direkt auf der nackten Hardware arbeiten. Bare Metal Virtualization nennt sich dies und ist vor allem durch Vmware ESX bekannt. Dabei ist je nach Implementierung in der Tat kein vollständiges Wirtssystem erforderlich. Im Falle von Vmware ESX wird aber zuerst ein abgespeckter Linux-Kernel gebootet, der dann erst den Vmware-Kernel lädt, der auch als Virtual Machine Monitor amtet und die virtuellen Umgebungen verwaltet. Da man aber nicht den sonstigen Ballast eines voll ausgewachsenen Betriebssystems mit sich herumschleppen braucht, lässt sich so einiges an Leistung herausholen. Allerdings muss man sich diese durch eine verringerte Hardware-Kompatibilität erkaufen.


Umgebungsunterschiede

Der dritte wichtige Punkt, der über den Einsatzbereich einer Virtualisierungssoftware entscheidet, ist die Umgebung, die sie ihren Gästen bereitstellt. Während man bei der Betriebssystemvirtualisierung das Wirtssystem samt Original-Hardware nutzt (ohne aber direkt zugreifen zu können), bieten die Hardware- respektive Paravirtualisierer sehr unterschiedliche Umgebungen. Diese unterscheiden sich nicht nur bezüglich der Netzwerkgeräte oder Chipsätze, die emuliert werden, sondern auch der unterstützten Hardware. So bringt vor allem Virtualisierungssoftware für Desktops Support für Audio-Subsysteme und USB mit. Dagegen findet man Unterstützung für 64-Bit-Instruktionen (AMD64, Intel 64) oder mehrere Prozessoren nur bei den Server-Produkten. Hier das richtige Produkt zu finden, ist nur mit einem detaillierten Anforderungsprofil möglich.


Effizient verwalten

Doch was hilft die beste Virtualisierungssoftware, wenn ihre Verwaltung und die ihrer Gäste in grossen Umgebungen nur mit sehr grossem Aufwand zu bewältigen ist? Neben zentralen Konsolen zur Überwachung, Erstellung und Verwaltung von virtuellen Maschinen und einer möglichst weitgehenden Automatisierung dieser Aufgaben sind meist auch Lösungen für High Availability, Load Balancing oder Storage respektive Backup gefragt. Diese werden in der Regel nicht von der Virtualisierungssoftware selber, sondern von Zusatzwerkzeugen bereitgestellt, die je nach Hersteller in kleinerem oder grösserem Masse vorhanden sind.


Bei Open-Source-Produkten wie Xen und OpenVZ muss man genauso wenig wie bei den anderen proprietären Produkten mit der Kommandozeile und selbst gebauten Shellscripts zur Verwaltung leben. Meist steht ein kommerzieller Anbieter oder gleich mehrere dahinter, die passende Verwaltungswerkzeuge mit unterschiedlichem Funktionsumfang anbieten. Xen wird beispielsweise nebst der Herstellerfirma XenSource gleich von mehreren Linux-Distributoren beackert, die die Virtualisierungssoftware in ihre Management-Lösungen integrieren respektive separate Management-Software entwickeln.





Marktübersicht Software-Virtualisierung




Artikel kommentieren
Kommentare werden vor der Freischaltung durch die Redaktion geprüft.

Anti-Spam-Frage: Vor wem mussten die sieben Geisslein aufpassen?
GOLD SPONSOREN
SPONSOREN & PARTNER