Die Virtualisierung im Server- und Webhosterumfeld hat sich in den letzten Jahren technisch rasant weiterentwickelt und sich bei allen großen Webserver-Providern durchgesetzt. Kaum ein Anbieter, der nicht Serverprodukte als virtueller Server anbietet. Dabei gibt es viel unterschiedliche Virtualisierungstechniken und Produkte zur Virtualisierung, die zum Teil sehr unterschiedlich arbeiten und völlig voneinander abweichende Prinzipien einsetzen. In diesem Zusammenhang ist oft von Begriffen wie Vollvirtualisierung, Paravirtualisierung und Containervirtualisierung die Rede. Die folgende Kurzzusammenfassung versucht etwas Licht in das Virtualisierungsdickicht zu bringen und Ihnen einen groben Überblick über Techniken und Anbieter zu geben.
Virtualisierung allgemein
Von einer Virtualisierung spricht man, wenn man auf einer gemeinsamen Hardware- bzw. Softwareplattform mehrere virtuelle Rechner betreibt, die nach außen hin, also für den Nutzer, wie völlig unabhängige und eigenständige Rechner agieren. Im Webhostingumfeld bieten die Provider mit Hilfe der Virtualisierung ihren Kunden so genannte Virtual Private Server, auch VPS abgekürzt oder als vServer bezeichnet, an, die sich für den Kunden wie eigene Server verhalten, aber auf einer gemeinsamen Hardware betrieben werden. Für den Provider ergibt sich der Vorteil, dass er vServer beliebig zuteilen kann aber selbst nur wenige große Rechner betreiben muss. Der Kunde kann dadurch relativ günstig einen eigenen Server im Netz betreiben, ohne dass ihm durch die Virtualisierung Nachteile entstehen. Ein virtueller privater Server (VPS) ist somit ein Server, der nach außen wie ein physischer Server agiert, in der Realität jedoch gemeinsam mit anderen virtuellen Rechnern auf nur einem oder wenigen physischen Rechner betrieben wird. Oft eingesetzte Anbieter für Virtualisierungen sind Xen, KVM, Virtuozzo, OpenVZ und zum Beispiel Linux VServer.
Die unterschiedlichen Virtualisierungstechniken und Produkte
Vollvirtualisierung
Als Vollvirtualisierung bezeichnet man die Virtualisierungstechnik, bei der eine komplette Hardware durch einen so genannten Hypervisor emuliert wird, auf den dann ein Betriebssystem aufgesetzt werden kann. Dadurch kann man ein unmodifiziertes Gastbetriebssystem auf der virtuellen Hardware betreiben. Dem Betriebssystem wird die Hardware quasi vorgegaukelt, wodurch auf beliebiger Hardware im Prinzip beliebige Betriebssysteme lauffähig werden. Nachteil dieser Technik ist, dass die Emulation der kompletten Hardware relativ viele Ressourcen benötigt. Für die Erstellung virtueller Server mit dieser Technik kann zum Beispiel KVM (Kernel-based Virtual Machine) des israelischen Unternehmens Qumranet (jetzt Redhat) oder oder auch XEN HVM (Hardware Virtual Machine) eingesetzt werden.
Paravirtualisierung
Ein Ansatz, um die Virtualisierung weniger ressourcenintensiv und die virtuellen Maschinen schneller zu machen, stellt die Paravirtualisierung dar. Sie emuliert nicht die komplette Hardware sondern fügt zwischen Hardware und Gastbetriebssystem einen Hypervisor ein, mit dem die modifizierten Treiber des Gastbetriebssystems kommunizieren. Dadurch werden weniger Ressourcen verbraucht, da der Hypervisor immer auf die gleiche, echte Hardware zugreift. Allerdings muss das Gastbetriebssystem, diese Art von Virtualisierung unterstützen und dementsprechend angepasst sein. Auch für diese Technik bieten XEN und KVM entsprechende Lösungen an. Aktuelle Linux Betriebssysteme bieten diese Art virtueller Server als paravirtualsisierten Kernel an.
Containervirtualisierung
Einen völlig anderen Virtualisierungsansatz verfolgt die Containervirtualisierung, wie sie zum Beispiel Virtuozzo, OpenVZ oder der Linux VServer umsetzen. Bei dieser Art von vServer wird keine Hardware emuliert sondern eine Schicht zwischen Betriebssystem und API eingefügt. Dadurch ist es zwar nicht möglich unterschiedliche Betriebssysteme auf einem Rechner zu betreiben sondern auf einem Linux Rechner können immer nur z.B. Linux VServer laufen. Diese Art von Virtualisierung wird besonders gerne von Hostern verwendet, da Kunden damit sehr performante virtuelle Server (VPS) mit Root-Rechten auf einem physischen Server angeboten werden können. Dabei stellt jeder Container ein eigener virtuellen Rechner dar. Da kein Hypervisor vorhanden ist und auch keine Hardware emuliert wird, müssen diese Rechner nicht einzeln gebootet werden, sondern laufen quasi beim Start direkt auf dem physischen Host. Als Anbieter für diese Art von Virtualisierung seien Virtuozzo, OpenVZ und Linux VServer zu nennen.