Virtualisierung (Informatik)

Virtualisierung (Informatik)

In der Informatik ist die eindeutige Definition des Begriffs Virtualisierung nicht möglich, da der Begriff in vielen unterschiedlichen Anwendungsfällen anders ausgeprägt ist. Es gibt viele Konzepte und Technologien im Bereich der Hardware und Software, die diesen Begriff verwenden. Ein sehr offener Definitionsversuch lautet wie folgt: Virtualisierung bezeichnet Methoden, die es erlauben, Ressourcen eines Computers (insbesondere im Server-Bereich) zusammenzufassen oder aufzuteilen.

Primäres Ziel ist, 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 (so gut es geht) vorgemacht, dass er (a) der alleinige Nutzer einer Ressource sei, bzw. (b) werden mehrere (heterogene) Hardwareressourcen zu einer homogenen Umgebung zusammengefügt. Die für den Anwender unsichtbare, transparente Verwaltung der Ressource ist dabei in der Regel die Aufgabe des Betriebssystems.

Zwei verschiedene Arten der Virtualisierung, links durch eine Virtualisierungssoftware (z. B. VMware, DataSynapse Gridserver), rechts durch Virtualisierung auf Hardwareebene (z. B. AMD64 mit Pacifica)

Inhaltsverzeichnis

Softwarevirtualisierung

Die Softwarevirtualisierung kann für mehrere Zwecke eingesetzt werden, z. B. um ein Betriebssystem oder nur eine Anwendung zu simulieren.

Erzeugung virtueller Betriebsumgebungen

Einordnung von Virtualisierungsansätzen zur Schaffung virtueller Betriebsumgebungen im Gesamtkontext der Virtualisierung.
Kategorisierung von Virtualisierungstechniken zur Schaffung virtueller Betriebsumgebungen.

Betriebssystemvirtualisierung mittels OS-Container

Ansatz von 'OS-Containern' zur Schaffung virtueller Betriebsumgebungen.

Bei Virtualisierung auf Betriebssystemebene wird anderen Computerprogrammen eine komplette Laufzeitumgebung virtuell innerhalb eines geschlossenen Containers oder „jails“ zur Verfügung gestellt, es wird kein zusätzliches Betriebssystem gestartet, was zur Folge hat, dass es nicht möglich ist ein anderes OS als das Hostsystem zu betreiben. Die OS-Container stellen eine Teilmenge des Wirtbetriebssystems dar. Vorteil dieses Konzepts liegt in der guten Integration der Container in das Gastbetriebssystem. Der Nachteil dieses Konzepts liegt in den Containern. Aus den Containern heraus können keine Treiber geladen bzw. andere Kernel geladen werden. Bei der OS-Virtualisierung läuft immer nur ein Host-Kernel, wobei UML eine gewisse Sonderrolle zukommt, da dort ein spezieller User-Mode-Kernel unter der Kontrolle des Host-Kernels läuft.

Beispiele: non-global Zones unter Solaris/OpenSolaris, Zoning, BSD jails, Mac-on-Linux, OpenVZ, Virtuozzo, Linux-VServer, User Mode Linux und LXC

Systemvirtualisierung mittels Virtual Machine Monitor (VMM)

Ansatz eines Virtual Machine Monitor (VMM) zur Schaffung virtueller Betriebsumgebungen.

Bei Virtualisierung mittels eines Virtual Machine Monitors (Hypervisors) werden die bereitstehenden nativen (= real physisch verfügbaren) Ressourcen intelligent verteilt. Dies kann durch Hardware-Emulation, Hardware-Virtualisierung oder Paravirtualisierung stattfinden. Den einzelnen Gastsystemen wird dabei jeweils ein eigener kompletter Rechner mit allen Hardware-Elementen (Prozessor, Laufwerke, Arbeitsspeicher, usw.) vorgespiegelt.

Der Vorteil ist, dass an den Betriebssystemen selbst (fast) keine Änderungen erforderlich sind und die Gastsysteme alle ihren eigenen Kernel laufen haben, was eine gewisse Flexibilität im Gegensatz zur Betriebssystemvirtualisierung mit sich bringt.

Wenn weder diese Hardware-Elemente noch die Betriebssysteme der Gastsysteme diese Form der Virtualisierung unterstützen, muss die Virtualisierungssoftware eine Emulationsschicht benutzen, um jedem Gastsystem vorzuspiegeln, es hätte die Hardware für sich allein. Diese Emulation ist oft weniger effizient als direkter Zugriff auf die Hardware, was dann zu einer verringerten Geschwindigkeit führen kann.

Beispiele: VMware Workstation, Microsoft Virtual PC, VirtualBox, Parallels Workstation.

Hardware-Emulation (irreführend auch Full Virtualisation genannt)

Die virtuelle Maschine simuliert die komplette Hardware und ermöglicht einem nichtmodifizierten Betriebssystem, das für eine andere CPU ausgelegt ist, den Betrieb.

Beispiele: Bochs (hier anstatt Emulation Simulation), PPC-Version von Microsoft Virtual PC, QEMU.

Hardware-Virtualisierung (native Virtualisation, full Virtualisation)

Die virtuelle Maschine stellt dem Gastbetriebssystem nur Teilbereiche der physischen Hardware in Form von virtueller Hardware zur Verfügung. Diese reicht jedoch aus, um ein unverändertes Betriebssystem darauf in einer isolierten Umgebung laufen zu lassen. Das Gastsystem muss hierbei für den gleichen CPU-Typ ausgelegt sein.

Beispiele: VMware, x86-Version von Microsoft Virtual PC, KVM, Xen 3.0 auf Prozessoren mit Hardware-Virtualisierungstechnologien: Intel VT-x oder AMD Pacifica.

Paravirtualisierung

Bei Paravirtualisierung wird zwar ein zusätzliches Betriebssystem virtuell neu gestartet, jedoch wird keine Hardware virtualisiert oder emuliert, sondern die virtuell gestarteten Betriebssysteme verwenden eine abstrakte Verwaltungsschicht, um auf gemeinsame Ressourcen (Netzanbindung, Festplattenspeicher, Benutzerein- bzw. -ausgaben) zuzugreifen. In der Informatik ist Paravirtualisierung eine Technologie zur Virtualisierung, die eine Softwareschnittstelle bereitstellt, die ähnlich, aber nicht identisch zur tatsächlichen Hardware ist. Das Betriebssystem muss portiert werden um auf der virtuellen Maschine (VM) ausgeführt werden zu können, was die Rechteinhaber proprietärer Betriebssysteme aus strategischen Gründen ablehnen können. Die Portierung vereinfacht jedoch den Aufbau der VM und ermöglicht den darauf ausgeführten virtuellen Maschinen eine höhere Leistung. VMware oder auch XEN verwendet die VMI-Schnittstelle, die als „Sprachrohr“ zwischen der Virtualisierungsschicht und Gastbetriebssystem fungiert.

Beispiele: Red Hat Fedora Core 5 mit Xen 3.0, SUSE Linux Enterprise Server mit Xen oder auch VMware ESX 3.5 ab Update 1, Citrix XenServer, KVM, PikeOS Echtzeitbetriebssystem für eingebettete Systeme.

Anwendungsvirtualisierung

Anwendungsvirtualisierung (application virtualization) ist das lokale Ausführen von Desktop- oder Server-Anwendungen, ohne dass diese installiert werden müssen (vergleiche dazu Softwareinstallation und Terminal Services). Der virtualisierten Anwendung wird dazu eine virtuelle Umgebung generiert, die alle Registry-Einträge, Dateien und andere Komponenten enthält, die das Programm zur Ausführung benötigt. Diese virtuelle Umgebung wirkt dabei wie eine Pufferlage zwischen der Anwendung und dem Betriebssystem und verhindert Konflikte mit anderen Applikationen oder dem Betriebssystem.


Beispiele: Microsoft Application Virtualization (vormals SoftGrid), Citrix Application Streaming, VMware ThinApp , Novell ZENworks Application VIrtualization, Altiris SVS, Thinstall VS, Sandboxie, Evalaze, Cameyo, Ceedo.

Hardware-Virtualisierung

Hierfür können entweder das ganze System (Partitioning mit LPAR, Domaining) oder einzelne seiner Komponenten wie z. B. CPU (Intels Vanderpool oder AMDs Pacifica) virtualisiert werden.

Systemvirtualisierung auf Hardwareebene

Hauptartikel: Serverpartitionierung

Partitionierung

Partitionierung bezeichnet das Aufteilen einer einfach vorhandenen, gewöhnlich großen Ressource (wie z. B. Festplattenspeicher oder Netzbandbreite) in eine kleinere handlichere Anzahl von Systemen des gleichen Typs. Dies wird häufig auch als Zoning bezeichnet, in z. B. Storage Networks.

Beispiel: IBM LPAR.

Domaining

Domaining: z. B. Virtual Hosts HTTP-Server.

Prozessorvirtualisierung

Bei der System- oder Betriebssystemvirtualisierung werden vom Virtual Machine Monitor Befehle von Gastsystemen (virtuellen Maschinen) entgegengenommen, die auf der nativen Hardware ausgeführt werden sollen. Vor Einführung der Prozessorvirtualisierung mussten bestimmte (evtl. sicherheitskritische) Befehle, die vom Gastsystem über den Virtual Machine Monitor an die Hardware gesendet wurden, modifiziert werden.

Durch die Prozessorvirtualisierung von AMD und Intel können nun Befehle ohne Modifikation vom Virtual Machine Monitor direkt an den Prozessor geschickt werden. Der Prozessor kümmert sich selbständig um die Abgrenzung zwischen Gastsystem-Prozessen und VMM-Prozessen. Durch den Wegfall der Modifikationen des VMMs kann eine höhere Rechenleistung des Gesamtsystems erzielt werden.

Bei virtuellen Maschinen auf Basis emulierter Hardware muss der Virtual Machine Monitor nach wie vor die Befehle vor Ausführung auf der nativen Hardware modifizieren.

Beispiele: Intels Vanderpool, AMDs Pacifica.

Speichervirtualisierung

Speichervirtualisierung: z. B. Ardence, Cassatt, DataCore SANsymphony Storage Hypervisor; siehe auch Adaptive Computing.

Virtuelle-Netze

Durch Virtual Local Area Networks werden Geräte in einem lokalen Netzwerk in Gruppen aufgeteilt, zwischen denen Verbindungen grundsätzlich unterbunden sind, aber gezielt ermöglicht werden können. → Hat nichts mit Virtualisierung zu tun!

Ein Virtual Private Network bildet ein nach außen abgeschirmtes Netzwerk über fremde oder nicht vertrauenswürdige Netze.

Software für den gleichzeitigen Betrieb mehrerer virtueller Betriebssysteme auf einem Computer kann ein virtuelles Netzwerk bereitstellen, über das diese kommunizieren. Es können auch mehrere Netze simuliert werden, über die beispielsweise zur Erprobung wiederum ein Virtual Private Network aufgebaut wird.

Virtualisierungslösungen

Kommerzielle Virtualisierungslösungen

Freie Virtualisierungslösungen

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Virtualisierung — steht für: Virtualisierung (Informatik), ein Verfahren zur Ressourcenteilung Virtualisierung (Medientheorie) ein Phänomen bezüglich der Themenfindung im Journalismus Virtualisierung (Krieg) Virtualisierung von Hochschulen Teilbereichen (E Campus) …   Deutsch Wikipedia

  • Client-Virtualisierung — Die Client Virtualisierung ist ein Verfahren, um mehreren Benutzern gleichzeitig und unabhängig voneinander die Ausführung von Anwendungsprogrammen auf einem entfernten Computer (Host) zu erlauben. Bei der Virtualisierung von Clients werden in… …   Deutsch Wikipedia

  • Speichervirtualisierung — ist eine Technik aus der Informatik um die physischen Eigenschaften von vorhandenem Speicherplatz gegenüber Nutzern scheinbar zu verändern. Die Technik wird eingesetzt, damit Nutzer den vorhandenen Speicherplatz nicht zwingend entlang der… …   Deutsch Wikipedia

  • ESX — VMware, Inc. Unternehmensform Corporation (Aktiengesellschaft), 90% der Aktien im Besitz von EMC Corporation …   Deutsch Wikipedia

  • ThinApp — VMware, Inc. Unternehmensform Corporation (Aktiengesellschaft), 90% der Aktien im Besitz von EMC Corporation …   Deutsch Wikipedia

  • VM-Ware — VMware, Inc. Unternehmensform Corporation (Aktiengesellschaft), 90% der Aktien im Besitz von EMC Corporation …   Deutsch Wikipedia

  • VMWare — VMware, Inc. Unternehmensform Corporation (Aktiengesellschaft), 90% der Aktien im Besitz von EMC Corporation …   Deutsch Wikipedia

  • VM Ware — VMware, Inc. Unternehmensform Corporation (Aktiengesellschaft), 90% der Aktien im Besitz von EMC Corporation …   Deutsch Wikipedia

  • VMware, Inc. — VMware, Inc. Unternehmensform Corporation (Aktiengesellschaft), 90% der Aktien im Besitz von EMC Corporation …   Deutsch Wikipedia

  • VMware Fusion — VMware, Inc. Unternehmensform Corporation (Aktiengesellschaft), 90% der Aktien im Besitz von EMC Corporation …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”