Konzepte der Virtualisierung im Überblick

Was wäre die Cloud ohne Virtualisierung? Die Bereitstellung virtueller IT-Ressourcen und die damit einhergehende Abstraktion von der physischen Rechenmaschine haben dem Cloud-Zeitalter den Weg bereitet. Alle Techniken, die im Rahmen des Cloud-Computings zum Einsatz kommen, basieren auf einer Virtualisierung von IT-Ressourcen wie Hardware, Software, Speicher oder Netzwerkkomponenten. Technisch unterscheiden sich diese Formen der Virtualisierung mitunter beträchtlich. Wir zeigen die zentralen Anwendungsfelder verschiedener Virtualisierungskonzepte auf und stellen Vor- und Nachteile gegenüber.

Was ist Virtualisierung?

Bei Virtualisierung handelt es sich um eine Abstraktion physischer IT-Ressourcen. Abstrahieren lassen sich Hardware- und Software-Komponenten. Eine im Rahmen der Virtualisierung erstellte IT-Komponente wird als virtuelle oder logische Komponente bezeichnet und kann genauso verwendet werden wie ihr physisches Pendant.

Der zentrale Vorteil der Virtualisierung ist die Abstraktionsschicht zwischen der physischen Ressource und dem virtuellen Abbild. Diese ist Grundlage diverser Cloud-Services, die im Unternehmensalltag zunehmend an Bedeutung gewinnen. Abzugrenzen ist Virtualisierung von den (z. T. sehr ähnlichen) Konzepten Simulation und Emulation.

Definition Virtualisierung

Bei Virtualisierung handelt es sich um die Abstraktion physischer IT-Ressourcen wie Hardware, Software, Speicher und Netzwerkkomponenten. Ziel ist es, diese Ressourcen auf virtueller Ebene bereitzustellen und ebenso flexibel wie bedarfsgerecht an verschiedene Abnehmer zu verteilen. Dies soll für eine verbesserte Auslastung der IT-Ressourcen sorgen.

Virtualisierung: Weder Simulation noch Emulation

Wer sich mit Virtualisierung beschäftigt, stößt unweigerlich auf die Begriffe Simulation und Emulation, die oft synonym verwendet werden, sich technisch jedoch sowohl voneinander als auch vom Konzept der Virtualisierung unterscheiden.

  • Simulation: Als Simulation bezeichnet man die vollständige Nachbildung eines Systems mittels Software. „Vollständig“ heißt in diesem Fall, dass nicht nur die Funktionen im Zusammenspiel mit anderen Systemen imitiert, sondern alle Systemkomponenten sowie deren innere Logik nachgestellt werden. Simulatoren kommen zur Anwendung, um Programme, die eigentlich für ein bestimmtes System entwickelt wurden, zu Analysezwecken auf einem anderen System kompilieren zu können. Simulation ermöglicht es beispielsweise, Software für antiquierte Großrechner auf modernen Rechenplattformen auszuführen. Im Gegensatz zur Emulation ist Simulation nicht für den Praxiseinsatz vorgesehen. Als Beispiel bietet sich der Flug-Simulator an. Dieser simuliert einen Flug, bringt den Piloten aber nicht ans Ziel. Ein populärer Simulator ist der iPhone Simulator in XCode. Er kommt beispielsweise zum Einsatz, um das Design mobiler Webseiten auf dem Desktop zu testen.
  • Emulation: Während Simulation darauf abzielt, Systeme nachzubilden, stellt Emulation die Funktionen von Hardware- oder Software-Komponenten bereit, nicht jedoch deren innere Logik. Ziel der Emulation ist es, mit dem nachgebildeten System dieselben Ergebnisse zu erzielen wie mit dem realen Pendant. Im Gegensatz zum Simulator kann ein Emulator das nachgebildete System daher komplett ersetzen. Ein Flug-Simulator, der den Piloten tatsächlich ans gewünschte Ziel bringt, wäre somit ein Flug-Emulator. Ein prominentes Software-Projekt, das diesem Konzept entspricht, ist der Android Emulator in Android Studio.

Simulatoren und Emulatoren kommen in der Praxis in drei Szenarien zum Einsatz:

  • Eine Hardware-Umgebung wird nachgebildet, damit ein Betriebssystem ausgeführt werden kann, das eigentlich für eine andere Prozessorplattform entwickelt wurde.
  • Ein Betriebssystem wird nachgebildet, damit Anwendungen ausgeführt werden können, die eigentlich für andere Systeme geschrieben wurden.
  • Eine Hardware-Umgebung für eine veraltete Software muss nachgebildet werden, da die Original-Komponenten nicht mehr zur Verfügung stehen.

Von Emulatoren und Simulatoren abzugrenzen sind Software-Lösungen, die lediglich eine Kompatibilitätsschicht bereitstellen, um Unvereinbarkeiten zwischen verschiedenen Hardware- und Software-Komponenten zu überbrücken. Bei diesem Konzept wird nicht das gesamte System, sondern lediglich ein Teil eines Systems nachgebildet – beispielsweise eine Schnittstelle. Bekannte Beispiele sind Wine (ein rekursives Akronym für Wine Is Not an Emulator) und Cygwin.

Hinweis

Wine etabliert auf POSIX-kompatiblen Betriebssystemen (Linux, Mac, Solaris oder BSD) eine Kompatibilitätsschicht, die es ermöglicht, Windows-Programme auszuführen. Die Software basiert auf einer mühsamen Rekonstruktion des proprietären, nichtöffentlichen Windows-Quellcodes. Grundlage der Rekonstruktion war dabei nicht die Demontage der urheberrechtlich geschützten Software, sondern ein Reverse-Engineering im Rahmen des Black-Box-Testings. Technisch bildet Wine nicht die innere Logik des gesamten Windows-Betriebssystems nach, sondern lediglich die Windows-API (Application Programming Interface, deutsch: „Programmierschnittstelle“). Systemaufrufe der Windows-Software werden von Wine entgegengenommen, ohne Zeitverzögerung in POSIX-Aufrufe umgewandelt und an das zugrundeliegende System weitergeleitet.

Wie funktioniert Virtualisierung?

Virtualisierung ähnelt den Konzepten Simulation und Emulation, dient jedoch einem anderen Zweck. Simulatoren und Emulatoren implementieren ein mittels Software realisiertes Modell eines Computersystems, das dazu dient, Inkompatibilitäten zu überbrücken. Ziel ist es, Anwendungen auf einem System auszuführen, die von diesem eigentlich nicht unterstützt werden. Dieser Ansatz hat zwei Nachteile: Emulation und Simulation sind in der Entwicklung sehr aufwendig. Zudem gehen beide Ansätze zwangsläufig mit einem Performance-Verlust einher. Im Idealfall ist Virtualisierung daher so konzipiert, dass möglichst wenig simuliert oder emuliert werden muss. Stattdessen sollen Virtualisierungstechnologien lediglich eine Abstraktionsschicht etablieren, die es ermöglicht, IT-Ressourcen unabhängig von ihrer physischen Grundlage bereitzustellen.

Dazu ein Beispiel: Möchte ein Anwender auf seinem Windows-7-Rechner zu Testzwecken eine oder mehrere virtuelle Versionen von Windows 7 ausführen, nutzt er dazu eine Virtualisierungssoftware. Möchte derselbe Nutzer auf dem gleichen Rechner hingegen zwei virtuelle Versionen von Ubuntu starten, benötigt er eine Virtualisierungssoftware, die in der Lage ist, Inkompatibilitäten zwischen dem zugrundeliegenden Windows-System und dem darauf aufsetzenden Linux-Systemen durch Emulation zu überbrücken.

Zahlreiche Software-Lösungen, die im Rahmen der Virtualisierung zum Einsatz kommen, enthalten Emulatoren. In der Praxis kommt es daher oft zu Überschneidungen beider Konzepte.

Formen der Virtualisierung

Der Begriff „Virtualisierung“ wurde in den 1960er Jahren geprägt und bezog sich zunächst auf das Erstellen virtueller Maschinen – ein Konzept der Hardware-Virtualisierung. Heute finden sich in modernen IT-Landschaften diverse Formen der Virtualisierung, die sich auf die Abstraktion von IT-Ressourcen wie Software, Speicher, Daten oder Netzwerkkomponenten beziehen. Man unterscheidet daher zwischen:

  • Hardware-Virtualisierung
  • Software-Virtualisierung
  • Speichervirtualisierung
  • Datenvirtualisierung
  • Netzwerkvirtualisierung

Hardware-Virtualisierung

Der Begriff Hardware-Virtualisierung verweist auf Technologien, die es ermöglichen, Hardware-Komponenten mittels Software unabhängig von ihrer physischen Grundlage bereitzustellen. Das Paradebeispiel für eine Virtualisierung von Hardware ist die virtuelle Maschine (kurz VM).

Bei einer VM handelt es sich um einen virtuellen Rechner, der sich dem Endnutzer gegenüber wie ein physischer Rechner inklusive Hardware und Betriebssystem verhält. Virtuelle Maschinen laufen als virtuelle Gastsysteme auf einem oder mehreren physischen Systemen, die als Wirt bezeichnet werden. Die Abstraktionsschicht zwischen der physischen Grundlage und dem virtuellen System wird bei der Hardware-Virtualisierung durch einen sogenannten Hypervisor erzeugt.

Hinweis

Bei einem Hypervisor (auch Virtual Machine Monitor, VMM) handelt es sich um eine Software, die den Betrieb mehrerer Gastsysteme auf einem Wirtssystem ermöglicht. Man unterschiedet zwei Typen von Hypervisoren: Ein Typ-1-Hypervisor setzt direkt auf der Hardware des Hostsystems auf. Hypervisoren dieser Art werden Bare-Metal-Hypervisoren genannt. Typ-2-Hypervisoren hingegen laufen im Betriebssystem des Wirts und nutzen die vom System bereitgestellten Gerätetreiber, um auf die Hardware zuzugreifen. Man spricht von einem Hosted Hypervisor.

Hypervisoren verwalten die vom Wirtssystem zur Verfügung gestellten Hardware-Ressourcen wie CPU, RAM, Festplattenspeicher und Peripherie und teilen diese auf beliebig viele Gastsysteme auf. Dies kann technisch durch Vollvirtualisierung oder Paravirtualisierung erfolgen.

  • Vollvirtualisierung: Bei der Vollvirtualisierung spielt der Hypervisor jeder virtuellen Maschine eine komplette Hardware-Umgebung vor. Jede VM verfügt somit über ein eigenes, vom Hypervisor zugewiesenes Kontingent an virtuellen Hardware-Ressourcen und kann auf dieser Grundlage Anwendungen ausführen. Die physische Hardware des Wirtssystems hingegen bleibt dem Gastbetriebssystem verborgen. Dieser Ansatz ermöglicht den Betrieb unmodifizierter Gastsysteme. Beliebte Software-Lösungen zur Vollvirtualisierung sind Oracle VM VirtualBox, Parallels Workstation, VMware Workstation, Microsoft Hyper-V und Microsoft Virtual Server.
  • Paravirtualisierung: Während bei der Vollvirtualisierung für jede VM eine eigene virtuelle Hardware-Umgebung bereitstellt wird, stellt der Hypervisor bei der Paravirtualisierung lediglich eine Programmierschnittstelle (API) zur Verfügung, über die die Gastbetriebssysteme direkt auf die physische Hardware des Wirtssystems zugreifen können. Paravirtualisierung bietet damit gegenüber Vollvirtualisierung einen Performance-Vorteil. Voraussetzung dafür ist jedoch, dass der Kernel des Gastbetriebssystems für die API portiert wurde. Es lassen sich somit nur modifizierte Gastsysteme paravirtualisieren. Anbieter proprietärer Systeme – beispielsweise Microsoft Windows – gestatten eine solche Modifizierung in der Regel nicht. Zu Hypervisoren, die eine Paravirtualisierung ermöglichen, gehören Xen und Oracle VM Server for SPARC. Das Konzept kommt zudem in IBMs Großrechnerbetriebssystem z/VM zum Einsatz.

Für den Endnutzer ist die virtuelle Maschine von einem physischen Rechner nicht zu unterscheiden. Hardware-Virtualisierung ist daher das Konzept der Wahl, wenn es darum geht, eine Vielzahl virtueller Server für verschiedene Anwender auf Basis einer leistungsstarken Rechenplattform bereitzustellen – die Grundlage des populären Shared-Hosting-Modells.

Hinweis

Beim Shared Hosting betreibt und wartet ein Hosting-Provider die physische Maschine in einem dafür optimierten Rechenzentrum und stellt seinen Kunden virtualisierte Hardware-Ressourcen als abgeschlossene Gastsysteme zur Verfügung.

Ein weiteres Anwendungsfeld der Hardware-Virtualisierung ist die Server-Konsolidierung im Unternehmensumfeld. Virtualisierung kommt dabei mit dem Ziel zum Einsatz, die Auslastung der Server-Hardware zu erhöhen. Hardware-Komponenten wie Prozessoren sind in der Anschaffung kostspielig. Um zu verhindern, dass teure CPU-Ressourcen ungenutzt bleiben, vermeiden Unternehmen IT-Architekturen, in denen separate Rechenmaschinen für unterschiedliche Server-Anwendungen zum Einsatz kommen. Stattdessen werden unterschiedliche Server als separate Gastsysteme auf derselben Hardware-Plattform betrieben. Dies bringt im Wesentlichen drei Vorteile:

  • Verbesserte Prozessorauslastung der Server
  • Effektive Aufteilung von Speichermedien
  • Geringerer Stromverbrauch für Betrieb und Kühlung

Besonders effizient ist dieser Ansatz, wenn die konsolidierten Server mit versetzten Leistungsspitzen arbeiten. Wird die Hardware des Wirtssystems hingegen von allen Gastsystemen gleichzeitig in Anspruch genommen, muss sichergestellt werden, dass genügend Ressourcen für alle Workloads zur Verfügung stehen. Andernfalls besteht die Gefahr, dass sich eine ressourcenintensive Anwendung in der einen virtuellen Maschine negativ auf die Performance anderer Anwendungen in anderen VMs auf demselben Wirtssystem auswirkt.

Fakt

Ein zentrales Anwendungsfeld von Hardware-Virtualisierung im Unternehmenskontext ist die Server-Konsolidierung. Man spricht beim Betrieb virtueller Maschinen daher auch von Server-Virtualisierung.

Hardware-Virtualisierung gilt als vergleichsweise sicheres Virtualisierungskonzept. Jedes Gastsystem wird isoliert in einer virtuellen Hardware-Umgebung ausgeführt. Sollte eines der Gastsysteme von Hackern infiltriert oder durch Malware in seinen Funktionen beeinträchtigt werden, hat dies in der Regel keinen Einfluss auf andere Gastsysteme auf demselben Wirtssystem. Eine Ausnahme stellen Angriffe dar, bei denen Hacker Schwachstellen in der Hypervisor-Software ausnutzen, um sich Zugriff auf das zugrundeliegende Wirtssystem zu verschaffen. Man spricht in diesem Fall von einem Ausbruch aus der virtuellen Maschine. Wie sicher der Betrieb virtueller Maschinen ist, hängt immer von der jeweiligen Virtualisierungssoftware ab sowie davon, wie schnell Sicherheitslücken erkannt und vom jeweiligen Anbieter geschlossen werden.

In jüngster Zeit ist die Hardware-Virtualisierung einer starken Konkurrenz durch andere Virtualisierungskonzepte ausgesetzt. Ein Grund dafür ist der sogenannte Overhead virtueller Maschinen. Die Container-Technologie beispielsweise – eine Form der Software-Virtualisierung – kommt ohne Hypervisor aus. Eine Virtualisierung auf Betriebssystemebene, bei der Anwendungen in isolierten Containern ausgeführt werden, ist daher deutlich ressourcenschonender. Container jedoch bieten im Vergleich zu VMs einen deutlich geringeren Grad der Isolation. Es ist daher unwahrscheinlich, dass die eine Technologie die andere komplett ersetzen wird. Vielmehr gilt es, das optimale Virtualisierungskonzept für das gewünschte Anwendungsfeld zu finden.

Vor- und Nachteile der Hardware-Virtualisierung:

Vorteile

Nachteile

✔ Im Rahmen der Serverkonsolidierung lassen sich Hardware-Ressourcen dynamisch zuteilen und effizienter ausnutzen.

✘ Die Nachbildung einer Hardware-Umgebung inklusive Betriebssystem führt zu einem Overhead.

✔ Konsolidierte Hardware lässt sich energieeffizienter betreiben als separate Rechner.

✘ Die Performance einer virtuellen Maschine kann durch andere VMs auf demselben Wirtssystem beeinträchtigt werden.

✔ VMs bieten einen vergleichsweise hohen Isolationsgrad und damit Sicherheit bei der Workload-Isolierung.

 

Software-Virtualisierung

Werden statt Hardware-Komponenten Software-Komponenten virtualisiert, spricht man von Software-Virtualisierung. Geläufige Ansätze dieses Virtualisierungskonzepts sind:

  • Anwendungsvirtualisierung
  • Desktop-Virtualisierung
  • Virtualisierung auf Betriebssystemen

Anwendungsvirtualisierung

Unter Anwendungsvirtualisierung (englisch application virtualization) versteht man die Abstraktion einzelner Anwendungen vom darunterliegenden Betriebssystem. Anwendungsvirtualisierungssysteme wie VMware ThinApp, Microsoft App-V, oder Citrix XenApp ermöglichen es, Programme in isolierten Laufzeitumgebungen auszuführen und über verschiedene Systeme hinweg zu verteilen, ohne dass Änderungen an lokalen Betriebs- oder Dateisystemen sowie der jeweiligen Registry erforderlich sind.

Mit VMware ThinApp beispielsweise lassen sich Windows-Installer-Paketdateien (z. B. MSI-Dateien) komplexer Programme in eigenständige EXE-Dateien konvertieren. Diese beinhalten sämtliche Bibliotheken und Konfigurationsdateien, die benötigt werden, um die Anwendung auf einer beliebigen Windows-Betriebssystemumgebung auszuführen.

Anwendungsvirtualisierung bietet sich für den lokalen Einsatz an – beispielsweise, um das darunterliegende Betriebssystem vor möglichem Schadcode zu schützen. Alternativ können virtualisierte Anwendungen auf einem Server für verschiedene Clients im Netzwerk bereitgestellt werden. Endnutzer greifen in diesem Fall beispielsweise via Application-Streaming auf virtualisierte Anwendungen zu. Dabei wird die gewünschte Anwendung inklusive aller Abhängigkeiten vom Server auf das jeweilige Clientgerät kopiert und dort in einer isolierten Laufzeitumgebung ausgeführt – ohne dass die Software auf dem Zielsystem installiert werden muss. Die Kapselung von Anwendungen inklusive Laufzeitumgebung ermöglicht es zudem, Programme auf portable Speichermedien wie USB-Sticks zu kopieren und direkt auf diesen auszuführen.

Ziel der Anwendungsvirtualisierung ist es, Programme vom darunterliegenden Betriebssystem zu entkoppeln, sodass sich diese bequem portieren und zentral warten lassen. Im Unternehmenskontext eignet sich das Konzept beispielsweise zur Bereitstellung von Office-Anwendungen.

Vor- und Nachteile der Anwendungsvirtualisierung:

Vorteile

Nachteile

✔ Anwendungssoftware kann zentral bereitgestellt, verwaltet und gewartet werden.

✘ Anwendungen, die eng mit dem Betriebssystem integriert sind oder Zugriff auf spezielle Gerätetreiber benötigen, lassen sich nicht virtualisieren.

✔ Durch die Isolierung der Anwendung ist das darunterliegende System vor Schadcode geschützt.

✘ Anwendungsvirtualisierung wirft Fragen bezüglicher der Lizenzierung auf.

✔ Die Software lässt sich rückstandslos vom System entfernen.

 

Desktop-Virtualisierung

Desktop-Virtualisierung bezeichnet ein Konzept, bei dem Desktop-Umgebungen zentral bereitgestellt und über ein Netzwerk in Anspruch genommen werden können. Anwendung findet dieser Ansatz in erster Linie im Unternehmenskontext.

Moderne Unternehmen stellen ihren Büroangestellten in der Regel einen eigenen Arbeitsplatz inklusive PC zur Verfügung. Jeder dieser Einzelplatzrechner muss eingerichtet und gewartet werden. Die lokale Administration jedoch ist zeitaufwendig. Um Personalressourcen zu sparen, wurden verschiedene Konzepte für die Virtualisierung von Desktop-Umgebungen entwickelt.

Der Desktop-Virtualisierung liegt eine Client-Server-Struktur zugrunde. Die Datenübertragung zwischen Server und Client erfolgt über sogenannte Remote-Display-Protokolle. Führende Anbieter von Software-Lösungen zur Desktop-Virtualisierung wie Microsoft, VMware oder Citrix setzen dabei auf proprietäre Technologien. Je nachdem, wo die Rechenleistung für die Bereitstellung eines virtuellen Desktops in Anspruch genommen wird, unterscheidet man zwischen host- und clientbasierten Ansätzen.

  • Hostbasierte Desktop-Virtualisierung: Zur hostbasierten Desktop-Virtualisierung zählen alle Ansätze, bei denen virtuelle Desktops direkt auf dem Server ausgeführt werden. Die gesamte Rechenleistung für die Bereitstellung der Desktop-Umgebung sowie für den Betrieb von Anwendungen wird bei dieser Art der Desktop-Virtualisierung von der Server-Hardware zur Verfügung gestellt. Anwender greifen auf hostbasierte virtuelle Desktops mit beliebigen Clientgeräten über das Netzwerk zu. Dabei können vollausgestattete PCs oder Notebooks (Thick Clients), Endgeräte mit reduzierter Hardware (Thin Clients) oder gänzlich minimalisierte Rechner (Zero Clients) sowie Tablets und Smartphones zum Einsatz kommen. In der Regel ist eine permanente Netzwerkverbindung erforderlich. Umsetzen lässt sich eine hostbasierte Desktop-Virtualisierung durch folgende Ansätze:
    • Hostbasierte virtuelle Maschine: Bei diesem Virtualisierungsansatz verbindet sich jeder Anwender über ein Clientgerät mit einer eigenen virtuellen Maschine auf dem Server. Man unterscheidet zwischen einer persistenten Desktop-Virtualisierung, bei der sich ein Anwender bei jeder Sitzung mit derselben VM verbindet, und nichtpersistenten Ansätzen, bei denen virtuelle Maschinen zufällig zugeteilt werden. Kommen hostbasierte virtuelle Maschine im Rahmen der Desktop-Virtualisierung zum Einsatz, spricht man von einer Virtual Desktop Infrastructure (VDI). Persistente hostbasierte VMs bieten Anwendern einen großen Individualisierungsspielraum. Virtuelle Desktops, die im Rahmen dieses Ansatzes bereitgestellt werden, lassen sich wie lokale Desktops mit benutzerdefinierten Anwendungen und individuellen Anzeigeoptionen personalisieren.
    • Terminal-Service: Kommt der Client lediglich als Anzeigegerät für zentral gehostete Desktop-Umgebungen zum Einsatz, spricht man von Terminal-Services oder Präsentationsvirtualisierung. Diese werden von einem sogenannten Terminalserver zur Verfügung gestellt. Dieser Ansatz der hostbasierten Desktop-Virtualisierung bietet Anwendern lediglich einen minimalen Individualisierungsspielraum und eignet sich daher für Szenarios, bei denen hochstandardisierte Arbeitsplätze mit eingeschränkten Funktionen in großer Anzahl zur Verfügung gestellt werden sollen. Terminal-Services kommen beispielsweise im Einzelhandel zum Einsatz. Hier bieten Thin Clients Angestellten die Möglichkeit, Lagerbestände zu prüfen und Produktinformationen abzurufen. Kunden nutzen Terminals dieser Art, um Waren individuell zu konfigurieren und Bestellungen aufzugeben.
    • Blade-Server: Sollen Endanwender per Remote auf separate physische Maschinen zugreifen, wird dies in der Regel mithilfe eines Blade-Server realisiert. Dabei handelt es sich um einen modular aufgebauten Server bzw. ein Servergehäuse, das mehrere Einplatinencomputer – sogenannte Blades (deutsch: „Blatt“) – beinhaltet. Im Rahmen der Desktop-Virtualisierung wird jede Desktop-Umgebung auf einem separaten Blade ausgeführt. Der Vorteil dieses Ansatzes: Serverblades sind eigenständige physische Rechenmaschinen, teilen sich jedoch die Versorgungseinrichtungen des Gehäuses (Strom und Kühlung) und werden zentral verwaltet.
  • Clientbasierte Desktop-Virtualisierung: Erfolgt die Desktop-Virtualisierung clientbasiert, müssen die Ressourcen für den Betrieb der Desktop-Umgebung vom jeweiligen Clientgerät bereitgestellt werden. Dieser Ansatz erfordert daher einen Thick Client mit entsprechender Hardware. In der Praxis wird die clientbasierte Desktop-Virtualisierung mithilfe von virtuellen Maschinen oder als OS-Streaming umgesetzt.
    • Clientbasierte virtuelle Maschinen: Bei diesem Ansatz der Virtualisierung wird die Desktop-Umgebung in einer virtuellen Maschine auf dem Clientgerät ausgeführt. In der Regel kommt dabei ein Hypervisor zum Einsatz. Jeder virtuelle Desktop synchronisiert sich in regelmäßigen Abständen mit einem Betriebssystem-Image auf dem Server. Dies ermöglicht eine zentrale Verwaltung sowie imagebasierte Back-up-Zyklen. Ein weiterer Vorteil dieses Virtualisierungsansatzes ist, dass Anwendungen auch dann lokal zur Verfügung stehen, wenn die Verbindung zum Server abbricht.
    • OS-Streaming: Beim OS-Streaming wird das Betriebssystem der Desktop-Umgebung auf der lokalen Hardware ausgeführt. Lediglich der Boot-Vorgang erfolgt per Remote über ein Image auf dem Server. OS-Streaming bietet sich somit für Szenarien an, in denen ganze Desktop-Gruppen auf Basis eines einzigen Betriebssystem-Images bereitgestellt werden sollen. Dies hat den Vorteil, dass Administratoren lediglich ein Image auf dem Server verwalten müssen, um Anpassungen auf allen gestreamten Desktops herbeizuführen. OS-Streaming kommt ohne Hypervisor aus. Es benötigt jedoch eine konstante Netzwerkverbindung zwischen dem Server und dem Clientgerät.

Konzepte der Desktop-Virtualisierung punkten in erster Linie durch eine zentralisierte Administration. Signifikant reduzieren lässt sich der Aufwand für die Verwaltung und Wartung vor allem bei standardisierten Arbeitsumgebungen. Steht die Unternehmens-IT jedoch vor dem Problem, dass eine heterogene IT-Infrastruktur mit einer Vielzahl unterschiedlicher Desktops realisiert werden soll, relativiert sich dieser Vorteil.

Unternehmen, die auf Desktop-Virtualisierung setzen, versprechen sich in der Regel Einsparungen. Vor allem Thin Clients sollen die Kosten bei der Hardware-Anschaffung sowie den Stromverbrauch im Büro reduzieren. Mitunter lassen sich vergleichbare Arbeitsbedingungen mit deutlich weniger Software-Lizenzen realisieren. Auch im Bereich der Lizenzierung sind somit Einsparungen möglich. Auf der Serverseite hingegen fallen bei der Umstellung auf virtuelle Desktops zunächst Kosten an.

Desktop-Virtualisierung erfordert leistungsstarke Server. Je nach Virtualisierungsansatz ist zudem eine hohe Bandbreite für die Datenübertragung im Netzwerk erforderlich. Durch die damit verbundenen Anschaffungskosten zahlt sich Desktop-Virtualisierung in der Praxis daher oft erst langfristig aus.

Vor- und Nachteile der Desktop-Virtualisierung

Vorteile

Nachteile

✔ Desktop-Virtualisierung ermöglicht die zentrale Administration von Desktop-Umgebungen.

✘ Desktop-Virtualisierung eignet sich in erster Linie für homogene Infrastrukturen.

✔ Anwender können über verschiedene Endgeräte auf ihren virtuellen Desktop zugreifen.

✘ Manche Ansätze erfordern eine konstante Netzwerk-Verbindung.

✔ Desktop-Virtualisierung ermöglicht zentrale Back-ups.

✘ Hohe Anforderungen an Serverleistung, Speicherkapazität und Netzwerk-Bandbreite.

✔ Thin Clients ermöglichen Kosteneinsparungen bei Anschaffung und Betrieb.

 

Virtualisierung auf Betriebssystemebene

Virtualisierungskonzepte auf Betriebssystemebene greifen auf native Kernel-Funktionen unixoider Betriebssysteme zurück, die es ermöglichen, mehrere voneinander isolierte User-Space-Instanzen parallel auszuführen. Anders als bei der Hardware-Virtualisierung wird somit kein komplettes Gastsystem inklusive Kernel nachgebildet. Stattdessen teilen sich auf Betriebssystemebene virtualisierte Anwendungen den Kernel des Wirtssystems.

Hinweis

Moderne Betriebssysteme unterscheiden aus Sicherheitsgründen zwischen zwei virtuellen Speicherbereichen: Kernel-Space und User-Space. Während Prozesse, die dem Betrieb des Kernels und anderer Kernkomponenten dienen, im Kernel-Space ausgeführt werden, steht der User-Space Nutzeranwendungen zur Verfügung. Auf unixoiden Betriebssystemen ist es möglich, mehrere virtuelle User-Space-Instanzen parallel auszuführen. Dieses Feature ist die Grundlage der Virtualisierung auf Betriebssystemebene.

Jede User-Space-Instanz stellt eine in sich abgeschlossene virtuelle Laufzeitumgebung dar, die je nach verwendeter Technologie Container, Partition, Virtualization Engine (kurz: VE) oder Jail genannt wird. Ein Revival feierte die betriebssystembasierte Virtualisierung mit Container-Plattformen wie Docker. Mittlerweise stehen Anwendern mit rtk, OpenVZ/Virtuozzo und runC ausgereifte Alternativen zum Marktführer zur Verfügung.

Die Virtualisierung von User-Space-Instanzen erfolgt mittels nativer Chroot-Mechanismen, die alle unixoiden Betriebssysteme bereitstellen. Bei Chroot (kurz für „change root“) handelt es sich um einen Systemaufruf, der es erlaubt, das Root-Verzeichnis eines laufenden Prozesses zu ändern. Prozesse, die in ein virtuelles Root-Verzeichnis ausgelagert werden, können bei korrekter Implementierung nur noch auf Dateien innerhalb dieses Verzeichnisses zugreifen. Chroot allein kapselt Prozesse jedoch nur ungenügend. Der Systemaufruf stellt zwar grundlegende Virtualisierungsfunktionen zur Verfügung, war jedoch nie als Konzept zur Absicherung von Prozessen gedacht. Container-Technologien kombinieren Chroot daher mit anderen nativen Kernel-Funktionen wie Cgroups und Namespaces, um Prozessen eine isolierte Laufzeitumgebung mit limitiertem Zugriff auf Hardware-Ressourcen zur Verfügung zu stellen. Man spricht von containerisierten Prozessen.

  • Cgroups: Bei Cgroups handelt es sich um Kontrollgruppen für das Ressourcen-Management, die es ermöglichen, die Zugriffe von Prozessen auf Hardware-Ressourcen zu limitieren.
  • Namespaces: Bei Namespaces handelt es sich um Namensräume für die System- und Prozess-Identifikation sowie für die Interprozess-Kommunikationen und für Netzwerkressourcen. Mit Namespaces lassen sich ein Prozess und dessen Kindprozesse auf einen gewünschten Ausschnitt des zugrundeliegenden Systems beschränken.

Ein Software-Container beinhaltet eine Anwendung inklusive aller Abhängigkeiten wie Bibliotheken, Hilfsprogramme oder Konfigurationsdateien. Containerisiert lassen sich Anwendungen ohne weitere Anpassungen und von einem System auf ein anderes übertragen. Seine Stärken spielt der Container-Ansatz daher bei der Bereitstellung von Anwendungen im Netzwerk (Deployment) aus.

Kommen Container im Rahmen von Microservice-Architekturen zum Einsatz, profitieren Anwender zudem von einer hohen Skalierbarkeit. Bei Microservices handelt es sich um einen Entwicklungsansatz zur Modularisierung von Software. In Microservice-Architekturen werden komplexe Anwendungen durch das Zusammenspiel unabhängiger Prozesse realisiert – beispielsweise in einem eigenen Container. Man spricht von einer Multi-Container-App. Ein solcher Software-Aufbau hat diverse Vorteile: Microservices erleichtern das Deployment von Anwendungen in Server-Clustern, da containerisierte Prozesse bei Bedarf auf demselben System ausgeführt oder über verschiedene Systeme hinweg verteilt werden können. Zudem kann jeder Microservice einzeln skaliert werden. Anwender starten dazu einfach eine weitere Instanz des jeweiligen Microservices in einem neuen Container.

Die Verwaltung von Microservice-Architekturen im Cluster erfolgt über zentrale Cluster-Manager und Orchestrierungswerkzeuge. Eine Auswahl der beliebtesten Container-Tools bietet unser Artikel zum Docker-Ökosystem.

Im Vergleich zur Hardware-Virtualisierung zeichnet sich die Container-Technologie durch einen minimalen Virtualisierungsschwund aus. Der Overhead der Hypervisor-Software entfällt. Während für jede VM ein eigenes Betriebssystem virtualisiert werden muss, ermöglicht es die Container-Technologie, mehrere tausend Microservices in isolierten Laufzeitumgebungen auf ein und demselben Betriebssystem auszuführen.

Vor- und Nachteile der Virtualisierung auf Betriebssystemebene:

Vorteile

Nachteile

✔ Virtualisierungskonzepte auf Betriebssystemebene kommen ohne Hypervisor aus und sind daher mit einem minimalen Virtualisierungsschwund verbunden.

✘ Die Virtualisierung auf Betriebssystemebene ist auf Microservice-Architekturen ausgerichtet. Beim Betrieb von monolithisch strukturierten Anwendungen büßt die Container-Technologie Vorteile (etwa in Bezug auf die Skalierbarkeit) ein.

✔ Kommen Container bei Anwendungen zum Einsatz, die auf einer Verknüpfung verschiedener Microservices basieren, profitieren Anwender von einer hohen Skalierbarkeit.

✘ Container laufen anders als VMs direkt im Kernel des Host-Betriebssystems. Dies setzt bestimmte technische Gegebenheiten voraus. Diese Abhängigkeiten begrenzen die Portabilität von Containern: Beispielsweise lassen sich Linux-Container nicht ohne Emulation auf Windows-Systemen ausführen.

✔ Container lassen sich ohne komplexe Installationsprozesse unmittelbar bereitstellen.

✘ Container bieten im Vergleich zu VMs eine deutlich geringe Isolierung. Die Container-Virtualisierung eignet sich daher nicht für die Umsetzung von Sicherheitskonzepten.

✔ Software lässt sich rückstandslos entfernen.

 

✔ Vorgefertigte Container stehen für die wichtigsten Plattformen in großer Zahl online zur Verfügung.

 

Speichervirtualisierung

Bei der Speichervirtualisierung (Storage-Virtualisierung) handelt sich um ein Virtualisierungskonzept, das darauf abzielt, diverse Speicherressourcen eines Unternehmens wie Festplattenlaufwerke, Flashspeicher oder Bandlaufwerke virtuell abzubilden und als zusammenhängenden Speicherpool bereitzustellen. Dabei etabliert eine Virtualisierungslösung eine Abstraktionsschicht zwischen den verschiedenen physischen Speichermedien und der logischen Ebene, auf der sich die zusammengefassten Speicherressourcen mittels Software zentral verwalten lassen.

Auch virtueller Speicher lässt sich in Kontingente zerlegen und ausgewählten Anwendungen zuteilen. Anwender können auf gespeicherte Daten trotz Virtualisierung stets über dieselben Dateipfade zugreifen, auch wenn sich der physische Speicherort ändert. Sichergestellt wird dies durch eine von der Virtualisierungssoftware verwaltete Zuordnungstabelle. Man spricht von einem Mapping der physischen Speichermedien auf ein logisches Laufwerk (auch Volumes genannt).

An die physischen Kapazitätsgrenzen der zugrundeliegenden einzelnen Speichermedien sind logische Laufwerke nicht gebunden. Speichervirtualisierung bietet somit deutlich mehr Flexibilität bei der Zuteilung von Speicherressourcen. Die zur Datenspeicherung zur Verfügung stehende Hardware lässt sich effektiver auslasten. Für Unternehmen bedeutet dies, dass sich Speicherkapazitäten im Rechenzentrum kostengünstiger bereitstellen lassen.

Im Unternehmenskontext wird Speichervirtualisierung in der Regel blockbasiert umgesetzt. Bei der Blockspeicherung werden Daten in gleich große Blöcke unterteilt. Jeder Datenblock erhält eine einzigartige Adresse. Diese wird von der Virtualisierungssoftware in der zentralen Zuordnungstabelle (Mapping-Table) gespeichert. Die Zuordnungstabelle enthält somit alle Metadaten, die benötigt werden, den physischen Speicherort eines Datenblocks ausfindig zu machen. Dieses Mapping erlaubt es, Daten auf der virtuellen Ebene unabhängig vom jeweiligen Controller des physischen Speichermediums zu verwalten und somit beispielsweise zu verschieben, zu kopieren, zu spiegeln oder zu replizieren.

In der Praxis lässt sich die blockbasierte Virtualisierung durch drei verschiedene Ansätze umsetzen:

  • Hostbasiert
  • Gerätebasiert
  • Netzwerkbasiert

Hostbasierte Speichervirtualisierung

Die hostbasierte Virtualisierung von Speicherressourcen ist ein Ansatz der Speichervirtualisierung, der in der Regel in Kombination mit virtuellen Maschinen zum Einsatz kommt. Bei diesem Konzept präsentiert ein Hostsystem einem oder mehreren Gastsystemen (siehe Hardware-Virtualisierung) virtuelle Laufwerke auf einer Abstraktionsebene, die entweder durch einen betriebssysteminternen Volume-Manager oder eine separate Software (einen sogenannten Storage-Hypervisor) realisiert wird. Der Zugriff auf die Hardware (Festplatten und andere Speichermedien) erfolgt durch die Gerätetreiber des Hostsystems. Der Volume-Manager bzw. Storage-Hypervisor kommt als Software-Schicht oberhalb der Gerätetreiber zum Einsatz und verwaltet Ein- und Ausgabe (Input/Output, kurz: I/O), I/O-Mapping-Tabellen sowie die Metadatensuche.

Native Funktionen, die es ermöglichen, virtuelle Laufwerke zu erzeugen, stehen in nahezu allen modernen Betriebssystemen zur Verfügung.

  • Windows: Logical Disk Manager (LDM)
  • macOS: CoreStorage (seit OS X Lion)
  • Linux: Logical Volume Manager (LVM)
  • Solaris und FreeBSD: zPools des Dateisystems Z File Systems (ZFS)

Die hostbasierte Speichervirtualisierung kommt ohne zusätzliche Hardware aus, unterstützt jedes Speichergerät und lässt sich mit geringem Aufwand umsetzen. Zudem bietet der Ansatz im Vergleich zu anderen Konzepten die beste Performance, da jedes Speichergerät unmittelbar und somit ohne Latenzzeit angesprochen wird. Anwender müssen jedoch in Kauf nehmen, dass sich die Speichervirtualisierung – und damit die Möglichkeit zur Optimierung der Speicherauslastung – auf den jeweiligen Host beschränkt.

Gerätebasierte Speichervirtualisierung

Auch Disk-Arrays – Massenspeichergeräte, mit denen sich Festplatten im Netzwerk bereitstellen lassen – bieten die Möglichkeit, Speicherressourcen zu virtualisieren. Dabei kommen sogenannte RAID-Schemata zum Einsatz. Bei RAID (kurz für: Redundant Array of Independent Disks, die Redundante Anordnung unabhängiger Festplatten) handelt es sich um ein Konzept der Datenhaltung, bei dem mehrere physische Laufwerke zu einer virtuellen Speicherplattform zusammengefasst werden. Ziel der Speichervirtualisierung ist dabei Ausfallsicherheit durch Redundanz. Dazu werden die Daten in einem Disk-Array gespiegelt und auf verschiedene Festplatten verteilt.

Tipp

Weitere Informationen zu Disk-Arrays und RAID-Schemata bietet unser Artikel zu Network Attached Storage (NAS).

Moderne Disk-Arrays bieten zudem die Möglichkeit, andere Speichergeräte anzubinden und somit Speicherressourcen mehrerer Disk-Arrays auf virtueller Ebene zusammenzufassen und zentral zu verwalten. Dabei werden die Storage-Controller der angebundenen Speichergeräte einem primären Controller untergeordnet, der die zentrale Verwaltung der Mapping-Tabelle sowie die Weiterleitung von I/O-Anfragen übernimmt.

Auch gerätebasierte Speichervirtualisierung bietet eine gute Performance durch geringe I/O-Latenz. Abgesehen von den Disk-Arrays, die zusammengeschlossen werden sollen, sind keine weiteren Hardware-Komponenten erforderlich. Um Fremdspeicher einbinden zu können, müssen diese Geräte jedoch über entsprechende Schnittstellen verfügen. Die Datenmigration oder -replikation über verschiedene Systeme hinweg scheitert mitunter daran, dass viele Hersteller entsprechender Speichergeräte auf proprietäre Protokolle setzen. Zu beachten ist zudem, dass der primäre Storage-Controller bei starker Auslastung zum Flaschenhals werden kann.

Netzwerkbasierte Speichervirtualisierung

Eine Speichervirtualisierung auf Netzwerkbasis bietet sich vor allem dann an, wenn Speicherressourcen heterogener Systeme zu einem virtuellen Speicherpool zusammengefasst werden sollen. Im Unternehmenskontext wird dieser Ansatz in der Regel im Rahmen eines Storage-Area-Networks (SAN) umgesetzt.

Kernkomponente der netzwerkbasierten Speichervirtualisierung ist ein zentrales Netzwerkgerät (beispielsweise ein Switch), das die Abstraktionsschicht zwischen den physischen Speichermedien der eingebundenen Systeme und dem virtuellen Speicherkontingent etabliert, das Metadaten-Mapping übernimmt und I/O-Anfragen umleitet. Virtualisierungsgeräte dieser Art werden heute im Rahmen des „In-Band-Verfahrens“ direkt im Datenpfad implementiert (symmetrische Virtualisierung). In diesem Fall passieren alle I/O-Anfragen das Virtualisierungsgerät. Eine direkte Interaktion zwischen dem anfragenden Host und physischen Speichergerät findet nicht statt. Auf dem Host müssen somit keine speziellen Treiber für die Speicherhardware zur Verfügung stehen.

Hinweis

Der symmetrischen Virtualisierung steht die asymmetrische Virtualisierung (auch Out-of-Band) von Speicherressourcen gegenüber. In diesem Fall fungiert das Virtualisierungsgerät lediglich als Metadatenserver, der Auskunft darüber gibt, wo sich ein angefragter Datenblock befindet. Anschließend erfolgt eine direkte I/O-Anfrage an das Speichergerät.

Der größte Vorteil des netzwerkbasierten Ansatzes ist, dass sich Speicherressourcen heterogener Systeme über eine zentrale Oberfläche verwalten lassen. Wird die netzwerkbasierte Speichervirtualisierung im Out-of-Band-Verfahren umgesetzt, muss hostseitig eine spezielle Software für den Zugriff auf die im SAN zur Verfügung stehenden Speichergeräte implementiert werden. Das In-Band-Verfahren kommt ohne eine solche Software aus, ist jedoch aufwendiger in der Umsetzung und in der Regel mit einer höheren I/O-Latenzzeit verbunden.

Bekannte Anbieter von Lösungen zur Speichervirtualisierung sind EMC, HP, IBM, LSI und Oracle.

Vor- und Nachteile der Speichervirtualisierung:

Vorteile

Nachteile

✔ Physische Speicherressourcen werden effektiver ausgelastet.

✘ Speichervirtualisierung ist immer mit einem Overhead verbunden, der daraus resultiert, dass Metadaten generiert und verarbeitet werden müssen.

✔ Die Inanspruchnahme von Speicherressourcen ist nicht an die physischen Grenzen der zugrundeliegenden Speichermedien gebunden.

✘ Eine Verarbeitung von I/O-Anfragen kann bei starker Auslastung zum Flaschenhals werden, der das gesamte Speichersystem ausbremst.

✔ Zu einem logischen Laufwerk zusammengeschlossene physische Speicherressourcen lassen sich zentral verwalten.

 

✔ Physische Speicherressourcen lassen sich unabhängig vom virtuellen Speicherpool erweitern und umstrukturieren.

 

Datenvirtualisierung

Datenvirtualisierung fasst verschiedene Virtualisierungsansätze im Rahmen von Data-Warehouse-Analysen zusammen, die darauf abzielen, Anwendungen einen von physischen Gegebenheiten abstrahierten Zugriff auf Daten zu verschaffen. Dabei wird eine sogenannte Master-Kopie, ein virtuelles Abbild des Gesamtdatenbestands, erstellt.

Bei der Datenvirtualisierung handelt sich somit um ein Konzept der Informationsintegration, das sich von klassischen Verfahren wie dem ETL-Prozess dadurch abhebt, dass eine Abstraktionsschicht zwischen den physischen Datenquellen und dem virtuellen Abbild der Daten etabliert wird.

Im Rahmen der Informationsintegration kommt ETL (Extract, Transform, Load) zum Einsatz, um Daten aus unterschiedlich strukturierten Quellen zu extrahieren und in einheitlicher Form in einer Zieldatenbank zusammenzuführen. Auch Datenvirtualisierung ermöglicht es, Daten aus verschiedenen Quellen auszulesen und zu manipulieren, diese bleiben (anders als bei ETL) physisch jedoch an Ort und Stelle. Software-Lösungen zur Datenvirtualisierung integrieren Daten somit lediglich auf einer virtuellen Ebene und stellen einen Echtzeit-Zugriff auf die physische Datenquelle zur Verfügung.

Mit Datenvirtualisierungstechnologien lassen sich Daten, die über mehrere Data-Warehouses, Data- Marts oder Data-Lakes verteilt sind, effektiv zusammenführen, ohne dass eine neue physische Datenplattform geschaffen werden muss. Dies reduziert in erster Linie den benötigten Speicherplatz für Analysen großer Datenmengen. Zudem müssen weniger Daten über das Netzwerk übertragen werden. Das virtuelle Abbild des Gesamtdatenbestands kann diversen Anwendungen zur Verfügung gestellt werden. Im Rahmen der Business Intelligence (BI) stehen Self-Service-Tools zur Verfügung, mit denen Berichte und Analysen erstellt werden können, ohne dass eine Zusammenarbeit mit fachkundigem IT-Personal erforderlich ist.

Führende Anbieter entsprechender Technologien sind: Denodo, TIBCO, IBM und Informatica.

Vor- und Nachteile der Datenvirtualisierung:

Vorteile

Nachteile

✔ Der Speicherbedarf für physische Datenkopien wird reduziert.

✘ Im Gegensatz zum Data-Warehouse-Ansatz ist Datenvirtualisierung nicht dazu geeignet, historische Momentaufnahmen eines Datenbestands aufzuzeichnen und vorzuhalten.

✔ Die zeitaufwendige Datenextraktion (beispielsweise via ETL) entfällt.

 

✔ Neue Datenquellen lassen sich über Self-Service-BI-Tools auch ohne technisches Vorwissen anbinden.

 

✔ Virtualisierte Daten können mit einer Vielzahl von Datenmanagement-Tools verarbeitet werden.

 

Netzwerkvirtualisierung

Netzwerkvirtualisierung umfasst verschiedene Ansätze, bei denen Netzwerkressourcen auf Hardware- und Software-Ebene von ihrer physischen Grundlage abstrahiert werden. In der Regel kommt diese Art der Virtualisierung im Rahmen von Sicherheitskonzepten zum Einsatz. Dabei stehen grundsätzlich zwei Ziele im Vordergrund:

  • Physische Netzwerk-Ressourcen sollen mittels Virtualisierung zu einer logischen Einheit zusammengefasst werden.
  • Physische Netzwerk-Ressourcen sollen mittels Virtualisierung in verschiedene virtuelle Einheiten aufgeteilt werden.

Ein anschauliches Beispiel für Netzwerkvirtualisierung ist das Virtual Private Network (VPN). Bei einem VPN handelt es sich um ein virtuelles Netzwerk auf Basis eines physischen Netzwerks. In der Praxis kommen VPNs zum Einsatz, um sichere Verbindungen über unsichere Leitungen zu realisieren – beispielsweise, wenn ein Außenmitarbeiter über das Internet auf das private Netzwerk seiner Firma zugreifen möchte.

Als öffentliches Netz ermöglicht das Internet keine sichere Verbindung zwischen zwei Rechnern. Um die Vertraulichkeit von Daten bei der Übertragung sicherzustellen, ist es daher ratsam, auf Virtualisierung zurückzugreifen. Diverse Software-Hersteller bieten Virtualisierungslösungen, mit denen sich virtuelle Netzwerke von physischen Netzwerken abstrahieren und mittels Verschlüsselungs- und Authentifizierungsverfahren absichern lassen. Die Datenübertragung von einem Rechner zum anderen erfolgt somit in einem privaten Netz, das auch als Tunnel bezeichnet wird.

Ein anderes Beispiel für Netzwerkvirtualisierung sind sogenannte Virtual Local Area Network (VLANs). Bei VLANs handelt es sich um virtuelle Teilnetze auf Basis eines physischen Rechnernetzes. Realisiert werden VLANs über Hardware-Komponenten wie virtualisierende Switches oder Router. An ein VLAN angeschlossene Geräte können lediglich mit Geräten im selben VLAN kommunizieren. Eine Datenverbindung zu Geräten in anderen VLANs besteht nicht, selbst wenn sich alle Geräte im selben physischen Netzwerk befinden. Netzwerkvirtualisierung bietet somit die Möglichkeit, Netzwerk-Ressourcen unabhängig von physischen Gegebenheiten auf virtueller Ebene flexibel bereitzustellen, zu verwalten und zuzuteilen.

Ein Konzept, das es erlaubt, virtuelle Netzwerkressourcen zentral zu steuern, ohne manuell auf physische Netzwerkkomponenten zugreifen zu müssen, ist Software-Defined Networking (SDN). SDN beruht auf der Entkopplung der virtuellen Kontrollebene (Control Plane) von der physischen Netzwerkebene, die für die Weiterleitung der Datenpakete verantwortlich ist (Data Plane). Kernkomponente der Control Plane ist ein Netzwerk-Controller. Dieser verwaltet die Netzwerkkomponenten der Data Plane wie Router und Switches und steuert die Weiterleitung von Datenpaketen. Der Netzwerk-Controller ist somit für das Management des Netzwerks sowie für Routingvorgaben, Zugriffsrechte und die Umsetzung von Sicherheitskonzepten zuständig. Netzwerkkomponenten der Data Plane nehmen Anweisungen des Netzwerk-Controllers entgegen und sind für den Transport der Datenpakete zum gewünschten Empfangsgerät zuständig.

Vor- und Nachteile der Netzwerkvirtualisierung:

Vorteile

Nachteile

✔ Kosteneinsparungen durch Mehrfachnutzung der physischen Netzwerkinfrastruktur.

✘ Der Betrieb mehrerer virtueller Teilnetze auf einem physischen Netzwerk setzt leistungsstarke Hardware-Komponenten voraus.

✔ Netzwerkressourcen lassen sich auf virtueller Ebene zentral verwalten, einfach skalieren und dynamisch zuteilen.

✘ U. U. kann eine redundante physische Netzwerkinfrastruktur erforderlich sein, um Ausfallsicherheit sicherzustellen.

✔ Netzwerkvirtualisierung bietet verschiedene Ansätze, mit denen sich Sicherheitskonzepte auf Netzwerkebene softwareseitig und somit kostengünstiger umsetzen lassen.