Was ist Virtualisierung?

Die Virtualisierung von Hardware, Software, Speicher oder Netzwerkkomponenten sorgt für eine Abstraktion der physischen IT-Ressourcen, sodass im Endeffekt eine bessere Auslastung erreicht werden kann.

Cloud-Migration mit IONOS - die Hypervisor-Alternative

Bestes Preis-Leistungs-Verhältnis – keine Virtualisierungskosten. Migrationshilfe durch IONOS Cloud-Experten inklusive.

bis zu 5.000 € Wechselprämie
Migration per Lift-and-Shift
Höchstes Sicherheitsniveau

Was ist Virtualisierung?

Bei Virtualisierung handelt es sich um eine Abstraktion physischer IT-Ressourcen mit dem Ziel, diese flexibel und bedarfsrecht zu verteilen. Dies kann für eine bessere Auslastung der Ressourcen sorgen. 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.

Einer der zentralen Vorteile 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.

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.
  • 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.

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.

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. Im Idealfall ist Virtualisierung allerdings 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: Sollen auf einem Windows-10-Rechner zu Testzwecken eine oder mehrere virtuelle Versionen von Windows 10 ausgeführt werden, kann Virtualisierungssoftware genutzt werden. Möchte man hingegen auf dem gleichen Rechner zwei virtuelle Versionen von Ubuntu starten, benötigt man 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

In modernen IT-Landschaften existieren 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 den Endnutzenden gegenüber wie ein physischer Rechner inklusive Hardware und Betriebssystem verhält. Die Abstraktionsschicht zwischen der physischen Grundlage und dem virtuellen System wird bei der Hardware-Virtualisierung durch verschiedene Typen von Hypervisoren 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.

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.

Für Endnutzende 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. Diese bringt im Wesentlichen drei Vorteile:

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

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.

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 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.

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. Endnutzende greifen in diesem Fall beispielsweise via Application-Streaming auf virtualisierte Anwendungen zu. 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.

Der Desktop-Virtualisierung liegt eine Client-Server-Struktur zugrunde. Die Datenübertragung zwischen Server und Client erfolgt über sogenannte Remote-Display-Protokolle. 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. 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

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 Anwenderinnen und Anwender zudem von einer hohen Skalierbarkeit.

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.

Auch virtueller Speicher lässt sich in Kontingente zerlegen und ausgewählten Anwendungen zuteilen. Anwenderinnen und 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).

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. In der Praxis lässt sich die blockbasierte Virtualisierung host-, geräte- oder netzwerkbasiert umsetzen.

Hostbasierte Virtualisierung kommt in der Regel in Kombination mit virtuellen Maschinen zum Einsatz. Bei diesem Konzept präsentiert ein Hostsystem einem oder mehreren Gastsystemen (siehe Hardware-Virtualisierung) virtuelle Laufwerke auf einer Abstraktionsebene. Der Zugriff auf die Hardware erfolgt durch die Gerätetreiber des Hostsystems.

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.

Auch Disk-Arrays – Massenspeichergeräte, mit denen sich Festplatten im Netzwerk bereitstellen lassen – bieten im Rahmen der gerätebasierten Speichervirtualisierung 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.

Tipp

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

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.

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.

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.
✓ Speichervirtualisierung ist immer mit einem Overhead verbunden, der daraus resultiert, dass Metadaten generiert und verarbeitet werden müssen. ✗ 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.
✓ Zu einem logischen Laufwerk zusammengeschlossene physische Speicherressourcen lassen sich zentral verwalten.

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. 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.

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.

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.

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).

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.
✓ U. U. kann eine redundante physische Netzwerkinfrastruktur erforderlich sein, um Ausfallsicherheit sicherzustellen.