2.2 Virtualisierungsansätze (Übersicht und Definitionen)
In der Praxis werden Ressourcenund Plattform-Virtualisierungen unterschieden. Bild 11 zeigt eine Übersicht über diese Virtualisierungsansätze.
Die wohl bekannteste Form der Virtualisierung aus Bild 11 ist die Hardware-Virtualisierung mit Hypervisor Typ 2 (Erklärung siehe weiter hinten). Diese Virtualisierung ermöglicht es, unterschiedliche Betriebssysteme auf derselben Hardware zu betreiben (zum Beispiel für Entwicklungsumgebungen geeignet aber nicht für die Server-Virtualisierung!). Diese Virtualisierung ist eine Technologie, die darauf beruht, dass man die physische Hardware mit Hilfe einer Virtualisierungs-Software (dem VMM, Virtual Machine Manager) nachbildet.
Wir gehen im folgenden zuerst kurz auf die Ansätze von Virtualisierungen ein um diese dann später technologisch genauer zu beschreiben.
2.2.1 Speichervirtualisierung
Bei der Speichervirtualisierung werden physikalische Speicher im Netz so gruppiert, dass sie dem Benutzer als einziger Speicher erscheinen. Speichervirtualisierung (Storage Virtualisation) ist nicht zu verwechseln mit Arbeitsspeicher Virtualisierung (Memory Virtualisation, siehe dazu Hardwarevirtualisierung).
Der Prozess der Speichervirtualisierung beinhaltet die Abstraktion und Bereitstellung der internen Funktionen eines Speichergerätes (Harddisk, Flashspeicher, Tapes, ...) und trennt diese von den Applikationen. Dies erlaubt eine netzwerk- und betriebssystemunabhängige Verwaltung der Speicher.
Die Verwaltung einzelner Storage-Speicher wird bei grossen und komplexen Rechenzentren schwierig. Die Speichervirtualisierung vereinfacht diese Speicherverwaltung und stellt Backup-, Archivierung- und Wiederherstellungsfunktionen im ganzen Netz zur Verfügung. Speichervirtualisierung fasst somit die Speicherfunk-
tionen zentral zusammen und versteckt die Komplexität der Storage Area Networks (SAN) und anderer Speichertechnologien und Infrastrukturen.
Speichervirtualisierung kann mittels Software oder speziellen Geräten erfolgen. Es gibt die folgenden drei Gründe für eine solche Virtualisierung:
- Verbesserte Speicherverwaltung in einer heterogenen IT-Umgebung
- Bessere Verfügbarkeit und planbare Wartungsfenster
- Bessere Speicherausnützung
Speichervirtualisierung kann auf mehrere Speicherfunktionen angewendet werden: physikalische Speicher, RAID Gruppen, LUN (logical unit numbers), Speicherzonen und logische Volumes.
Es können die folgenden vier Hauptschichten abgedeckt werden:
- Speichergeräte
- Block aggregation layer
- Datei/Record Schicht
- Applikationsschicht
Die Vorteile sind: Automatisierte Verwaltung, dynamische Veränderung der Speichergrössen, Zeiteinsparungen für die manuelle Überwachung, einfachere Updates, reduzierte Ausfallzeiten.
Dateivirtualisierung
Eng verwandt mit der Speichervirtualisierung ist die Dateivirtualisierung.
Diese Technologie führt einen Abstraktionslayer zwischen dem Dateiserver und dem Dateibenutzer ein. Das Resultat ist, dass verschiedene Speicher so gruppiert werden, dass diese einen einzigen logischen mount-point1 darstellen.
Die Vorteile sind:
- Eine globale Namensgebung für die Indexierung der Dateien auf Netzdateiservern.
- Die Möglichkeit der Ausdehnung der System-Speichergrenzen durch Verteilen der Dateien auf mehrere Server.
- Speichermanagement für Netzspeicher wie SAN (storage area networks) und NAS (network attached storage).
Die Technologie bietet bessere Performance und hilft Kosten zu reduzieren.
Bild 12 zeigt ein heute im Einsatz stehendes Konzept der virtuellen Bereitstellung unterschiedlicher Dateien aus unterschiedlichen Filservices. Die Abstraktion der Filetypen erfolgt in speziellen Virtualisierungen und ermöglicht eine standardisierte Schnittstelle für den Filezugriff der Clients.
2.2.2 Netzvirtualisierung
Netzvirtualisierung erlaubt die gesamtheitliche Verwaltung und Überwachung ganzer Netze mit einer zentralen Verwaltungssoftware. Meistens wird darunter aber die Verwaltung von Netzressourcen verstanden wie Datentransfer-Optimierung, Zuteilung von Übertragungsraten, Netzdiensten und Sicherheitsmechanismen. (siehe auch die Theorie zu VLAN (Virtual Local Area Networks).
Moderne Netzvirtualisierung erlaubt die Virtualisierung von Datenleitungen, Switches und Routern. Sie steigert die Netz-Produktivität.
Input-/Outputvirtualisierung
I/O Virtualisierung (IOV) erlaubt die Virtualisierung eines physischen Netz-Adapters. (virtual network interface card, vNIC) und Host-Bus-Adapgter (virtual host bus adapters, vHBA). Beide funktionieren genau gleich wie un-virtualisierte Geräte und das Betriebssystem merkt nicht, ob es sich um virtualisierte Geräte handelt oder nicht. Die Netzgeräte hingegen nehmen die virtualisierten Schnittstellen nur über die physischen Adressen wahr.
Der Vorteil solcher virtuellen Schnittstellen liegt darin, dass man einem bestimmten Service ganz bestimmte Netzcharakteristika zuordnen kann. Z.B., kann ein bestimmter Quality of Service definiert und zugeordnet werden.
Weitere Vorteile sind:
- I/O Virtualisierung abstrahiert die höheren OSI-Layer einer Schnittstelle und separiert diese von den physischen Schnittstellen. Dies ermöglicht eine grössere Flexibilität im Einsatz, bessere Auslastung und schnellere Provisionierung der Schnittstellen als bei normalen NIC.
- Es werden weniger Kabel benötigt, was sich günstig auf die Verkabelungskosten auswirkt.
- Die Portdichte kann verbessert werden, indem pro physische Schnittstelle mehrere virtuelle Schnittstellen bereit stehen.
2.2.3 Applikationsvirtualisierung
Die Applikationsvirtualisierung oder Applikations-Service-Virtualisierung ist im weitesten Sinn auch eine Virtualisierungstechnik. Eine Applikation wird einem Thin-Client so zur Verfügung gestellt, dass dieser die Applikation mit eingeschränkten Ressourcen betreiben kann. Die Applikation läuft natürlich auf dem Server.
Die Applikationsvirtualisierung gaukelt dem Client vor, dass die Applikation lokal laufe, in Wahrheit läuft diese aber auf dem Server, unter dessen Betriebssystem und wird vom Client remote benutzt. Schwache Hardware oder alte Betriebssysteme des Client haben somit keine Relevanz mehr.
Applikationsvirtualisierung schafft somit die Trennung von Applikation und Betriebssystem, was vor allem bei Betriebssystemen die instabil laufen oder Hardware, die nicht mehr modern genug ist, von Bedeutung ist. Weiter hat diese Art der Virtualisierung folgende Vorteile:
- Benötigt weniger Ressourcen als vergleichbare virtuelle Maschinen.
- Erlaubt es, inkompatible Applikationen zu betreiben.
- Schafft eine Standardumgebung und ist somit wirtschaftlicher und effizienter im Betrieb.
- Versionswechsel / Softwareverteilung erfolgt effizienter
- Ermöglicht höhere Sicherheit.
- Applikationen sind portabel auf andere Clients ohne erneute Installation.
Nicht virtualisierbar sind aber Applikationen die spezielle Gerätetreiber benötigen oder 16-Bit Applikationen die shared Memory benötigen. Auch Antivirenprogramme lassen sich so nicht einsetzen. Die Applikationsvirtualisierung ist in Gebrauch bei Banken, Geschäftssimulationen, e-commerce, Börsenanwendungen, Versicherungsbranche und im Marketing.
Vorteil: Plattformunabhängigkeit
Nachteil: Geringere Ausführungsgeschwindigkeit als bei nativer Programmausführung
Die Applikationsvirtualisierung wurde in letzter Zeit stark entwickelt. Siehe dazu die Ansätze von Docker. (https://www.docker.com/resources/what-container) und Kubernetes.
2.2.4 Betriebssystemvirtualisierung
Bei diesem Ansatz wird versucht diejenigen Daten eines Betriebssystems, die von allen Nutzern gemeinsam genutzt werden (Betriebssystem Bibliotheken) von einem Host-System bereitzustellen. Die Gast-Systeme brauchen somit nur noch die individuellen Daten selbst zu installieren.
Eine virtuelle Maschine besteht daher nur aus sehr wenigen Dateien und verbraucht deutlich weniger Festplatten- und Hauptspeicher als ein normal installiertes Betriebssystem. Dadurch werden die Systemressourcen sehr gut genutzt und es lassen sich mehrere Systeme neben einander optimal installieren und betreiben. So können etwa zehn mal mehr Systeme auf der gleichen Hardware betrieben werden.
Die hohe Abhängigkeit des Gastsystems vom Hostsystem ist der grösste Nachteil dieser Virtualisierung. Wichtigster Aspekt auch bei dieser Form der Virtualisierung: Alle Gäste müssen getrennt und unabhängig voneinander agieren können.
Stärken der Betriebssystem-Virtualisierung
- sehr hohe Geschwindigkeit im Gast-OS;
- flexible Anpassung der Gasthardware (teilweise auch während der Laufzeit);
- Nutzung von Teilen des Host-Betriebssystems;
- optimierter Zugriff auf die virtuelle Hardware durch das Gast-Betriebssystem;
- große Hardwareunterstützung (Microsoft Windows oder Linux)
- geringe Systemkapazitäten pro Gast benötigt.
Schwächen der Betriebssystem-Virtualisierung
- Homogene Gast-Betriebssysteme (Host = Gast-OS);
- manche Hardware lässt sich im Gastsystem nicht eins zu eins abbilden (etwa Faxkarten);
- Betriebssystem-Updates des Hosts betreffen den Gast.
Desktopvirtualisierung (Virtual Desktop Infrastructure, VDI / Remote Desktop)
Die...