Virtuelle Maschinen

Was sind Virtual Machines?

21.07.2022
Von 
Keith Shaw ist freier Autor bei der US-Schwesterpublikation Computerworld und schreibt seit 20 Jahren über IT-Themen.
Virtuelle Maschinen liefern mit ihrer Trennung von Soft- und Hardware die Grundlage für viele der heutigen IT-Innovationen. Das sollten Sie über die Virtual Machine wissen.
Das Konzept der virtuellen Maschine ist die Basis etlicher State-of-the-Art-Technologien.
Das Konzept der virtuellen Maschine ist die Basis etlicher State-of-the-Art-Technologien.
Foto: Erta - shutterstock.com

Ob Microservices, Cloud oder Edge Computing - viele der heutigen Spitzentechnologien sind dem Konzept der Virtual Machine zu verdanken, das Betriebssystem und Softwareinstanz vom zugrundliegenden, physischen Rechner trennt.

Virtuelle Maschine - Definition

Bei einer virtuellen Maschine (VM) handelt es sich um eine Software, die Programme oder Anwendungen ausführt, ohne an einen physischen Computer gebunden zu sein. In einer VM-Instanz können eine oder mehrere Gastmaschinen auf einem Host-Rechner ausgeführt werden. Jede Virtual Machine hat ihr eigenes Betriebssystem und funktioniert getrennt von anderen VMs, auch wenn sie sich auf demselben physischen Host befinden. Virtuelle Maschinen laufen in der Regel auf Servern, können aber auch auf Desktop-Systemen oder sogar Embedded-Plattformen ausgeführt werden. Mehrere VMs können Ressourcen eines physischen Hosts gemeinsam nutzen, darunter CPU-Zyklen, Netzwerkbandbreite und Speicher.

Die Ursprünge der virtuellen Maschine reichen bis in die 1960er Jahre zurück, als Time-Sharing für Mainframe-Benutzer verwendet wurde, um Software von einem physischen Host zu trennen. In den frühen 1970er Jahren wurde eine Virtual Machine als "effizientes, isoliertes Duplikat einer realen Computermaschine" definiert. VMs, wie wir sie heute kennen, haben in den letzten zwanzig Jahren an Bedeutung gewonnen. Das liegt in erster Linie daran, dass Unternehmen die Servervirtualisierung einführten, um:

  • die Rechenleistung ihrer physischen Server effizienter zu nutzen,

  • die Anzahl der physischen Server zu verringern und

  • Platz im Rechenzentrum zu sparen.

Da Anwendungen mit unterschiedlichen Betriebssystemanforderungen auf einem einzigen physischen Host ausgeführt werden konnten, war nicht für jede Anwendung eine andere Serverhardware erforderlich.

Virtual Machine - Funktionsweise

Im Allgemeinen gibt es zwei Arten von VMs:

  1. Prozess-VMs, die einen einzelnen Prozess trennen, und

  2. System-VMs, die eine vollständige Trennung des Betriebssystems und der Anwendungen vom physischen Computer bieten.

Beispiele für Prozess-VMs sind die Java Virtual Machine, das .NET Framework und die virtuelle Maschine Parrot. System-VMs stützen sich auf Hypervisoren als Vermittler, die der Software den Zugriff auf die Hardwareressourcen ermöglichen. Der Hypervisor emuliert die CPU, den Arbeitsspeicher, die Festplatte, das Netzwerk und andere Hardwareressourcen des Computers und erstellt einen Ressourcen-Pool, der den einzelnen VMs je nach ihren spezifischen Anforderungen zugewiesen werden kann. Der Hypervisor kann mehrere virtuelle Hardwareplattformen unterstützen, die voneinander isoliert sind, so dass VMs Linux- und Windows-Server-Betriebssysteme auf demselben physischen Host ausführen können. Auch Desktop-Computersysteme können virtuelle Maschinen nutzen. Ein Beispiel hierfür wäre ein Mac-Benutzer, der eine virtuelle Windows-Instanz auf seiner physischen Mac-Hardware ausführt.

Zu den großen Namen im Hypervisor-Bereich gehören:

  • VMware (ESX/ESXi),

  • Intel/Linux Foundation (Xen),

  • Oracle (MV Server for SPARC und Oracle VM Server for x86) und

  • Microsoft (Hyper-V).

Der Hypervisor verwaltet die Ressourcen und weist sie den VMs zu. Außerdem plant er die Verteilung der Ressourcen und passt sie an die Konfiguration des Hypervisors und der VMs an und kann die Ressourcen neu zuweisen, wenn der Bedarf schwankt. Die meisten Hypervisoren lassen sich in eine von zwei Kategorien einteilen:

  • Typ 1: Ein Bare-Metal-Hypervisor wird direkt auf dem physischen Host-Rechner ausgeführt und hat direkten Zugriff auf dessen Hardware. Hypervisoren des Typs 1 werden in der Regel auf Servern ausgeführt und gelten als effizienter und leistungsfähiger als Hypervisoren des Typs 2, weshalb sie sich gut für die Server-, Desktop- und Anwendungsvirtualisierung eignen. Beispiele für Hypervisoren des Typs 1 sind Microsoft Hyper-V und VMware ESXi.

  • Typ 2: Ein Hypervisor des Typs 2, der manchmal auch als gehosteter Hypervisor bezeichnet wird, wird auf dem Betriebssystem des Host-Rechners installiert, das die Aufrufe der Hardwareressourcen verwaltet. Hypervisoren vom Typ 2 werden in der Regel auf Endbenutzersystemen für bestimmte Anwendungsfälle eingesetzt. Beispielsweise kann ein Entwickler einen Typ-2-Hypervisor verwenden, um eine spezielle Umgebung für die Erstellung einer Anwendung zu schaffen, oder ein Datenanalyst kann ihn verwenden, um eine Anwendung in einer isolierten Umgebung zu testen. Beispiele hierfür sind VMware Workstation und Oracle VirtualBox.

VMs - Vor- und Nachteile

Die Vorteile virtueller Maschinen:

  • Da die Software vom physischen Host-Computer getrennt ist, können Anwender mehrere Betriebssysteminstanzen auf einer einzigen Hardware ausführen, was dem Unternehmen Zeit, Verwaltungskosten und physischen Platz spart.

  • Ein weiterer Vorteil besteht darin, dass VMs ältere Anwendungen unterstützen können, wodurch sich die Notwendigkeit und die Kosten für die Migration einer älteren Anwendung auf ein aktualisiertes oder anderes Betriebssystem verringern oder ganz entfallen.

  • Darüber hinaus nutzen Entwickler VMs, um Anwendungen in einer sicheren Sandbox-Umgebung zu testen. Entwickler, die herausfinden möchten, ob ihre Anwendungen auf einem neuen Betriebssystem funktionieren, können VMs zum Testen ihrer Software nutzen, anstatt die neue Hardware und das Betriebssystem im Voraus zu kaufen. So hat Microsoft beispielsweise kürzlich seine kostenlosen Windows-VMs aktualisiert, mit denen Entwickler eine Evaluierungs-VM mit Windows 11 herunterladen können, um das Betriebssystem zu testen, ohne einen primären Computer zu aktualisieren.

  • Das kann auch dazu beitragen, Malware zu isolieren, die eine bestimmte VM-Instanz infizieren könnte. Da die Software innerhalb einer VM den Host-Computer nicht manipulieren kann, ist bösartige Software nicht in der Lage, viel Schaden anzurichten.

Virtuelle Maschinen haben aber auch ein paar Nachteile:

  • Die Ausführung mehrerer VMs auf einem physischen Host kann zu einer instabilen Leistung führen, insbesondere wenn die Infrastrukturanforderungen für eine bestimmte Anwendung nicht erfüllt sind. Dies macht sie in vielen Fällen auch weniger effizient als einen physischen Computer.

  • Wenn der physische Server abstürzt, fallen alle darauf laufenden Anwendungen aus. Die meisten IT-Unternehmen verwenden ein ausgewogenes Verhältnis zwischen physischen und virtuellen Systemen.

Virtualisierung - weitere Formen

Der Erfolg von VMs in der Servervirtualisierung führte zur Anwendung der Virtualisierung auf andere Bereiche wie

  • Speicher,

  • Netzwerke und

  • Desktops.

So gut wie jede Hardware, die in ein Rechenzentrum passt, hat das Konzept der Virtualisierung schon kennengelernt (etwa Application Delivery Controllers).

Im Bereich der Netzwerkvirtualisierung haben sich Unternehmen mit Network-as-a-Service-Optionen und Network Functions Virtualization (NFV) befasst. Hierbei ersetzen handelsübliche Server spezielle Netzwerkgeräte, um flexiblere und skalierbare Dienste zu ermöglichen. Im Gegensatz dazu wird bei Software-definierten Netzwerken die Netzwerkkontrollebene von der Weiterleitungsebene getrennt, um eine automatisierte Bereitstellung und richtlinienbasierte Verwaltung von Netzwerkressourcen zu ermöglichen. Bei einer dritten Technologie, den virtuellen Netzwerkfunktionen, handelt es sich um softwarebasierte Dienste, die in einer NFV-Umgebung ausgeführt werden können, darunter Prozesse wie

  • Routing,

  • Firewalling,

  • Lastausgleich,

  • WAN-Beschleunigung und

  • Verschlüsselung.

Verizon beispielsweise nutzt NFV, um seine Virtual Network Services zu betreiben, mit denen Kunden bei Bedarf neue Dienste und Funktionen einrichten können. Zu den Diensten gehören virtuelle Anwendungen, Routing, softwaredefinierte WANs, WAN-Optimierung und sogar Session Border Controller as a Service (SBCaaS) zur zentralen Verwaltung und sicheren Bereitstellung IP-basierter Echtzeitdienste wie VoIP und Unified Communications.

Virtuelle Maschinen & Container

Das Wachstum von virtuellen Maschinen hat auch die Weiterentwicklung von Technologien wie Containern befeuert. Die führen das Konzept noch einen Schritt weiter und finden bei Entwicklern von Webanwendungen immer mehr Anklang. In einer Container-Umgebung kann eine einzelne Anwendung zusammen mit ihren Abhängigkeiten virtualisiert werden. Da ein Container nur Binärdateien, Bibliotheken und Anwendungen enthält, ist der Overhead wesentlich geringer als bei einer Virtual Machine.

Dennoch sind VMs weiterhin nützlich, beispielsweise wenn mehrere Anwendungen zusammen ausgeführt werden sollen oder ältere Applikationen auf älteren Betriebssystemen laufen. Darüber hinaus sind einige der Meinung, Container seien weniger sicher als VM-Hypervisoren, weil sie nur ein Betriebssystem haben, das Anwendungen gemeinsam nutzen kann, während VMs die Anwendung und das Betriebssystem isolieren können.

Gary Chen, Forschungsleiter der IDC-Abteilung Software-Defined Compute, glaubt, dass der VM-Softwaremarkt bleibt trotz Cloud-Architekturen und Container bedeutsam bleibt: "Der Markt für Software für virtuelle Maschinen hat sich als bemerkenswert widerstandsfähig erwiesen und wird in den nächsten fünf Jahren weiterhin positiv wachsen, obwohl er sehr ausgereift ist und sich der Sättigung nähert", schreibt der Experte im Rahmen des Worldwide Virtual Machine Software Forecast, 2021-2025 von IDC.

Virtual Machines, 5G & Edge Computing

Virtual Machines werden als Teil neuer Technologien wie 5G und Edge Computing gesehen. So suchen beispielsweise Anbieter virtueller Desktop-Infrastrukturen (VDI) wie Microsoft, VMware und Citrix nach Möglichkeiten, ihre VDI-Systeme auf Mitarbeiter auszuweiten, die in Hybrid-Work-Modellen beziehungsweise aus dem Home-Office arbeiten.

"Bei VDI ist eine extrem niedrige Latenzzeit erforderlich, da Sie Ihre Tastenanschläge und Mausbewegungen im Grunde an einen Remote Desktop senden", weiß Mahadev Satyanarayanan, Professor für Informatik an der Carnegie Mellon University. Im Jahr 2009 schrieb der Computerexperte darüber, wie auf virtuellen Maschinen basierende Cloudlets verwendet werden könnten, um mobilen Geräten am Rande des Internets bessere Verarbeitungsmöglichkeiten zu bieten. Der Startschuss für die Entwicklung des Edge Computing.

Im 5G-Mobilfunkbereich nutzt der Prozess des Network Slicing softwaredefinierte Netzwerk- und NFV-Technologien, um Netzwerkfunktionen auf VMs auf einem virtualisierten Server zu installieren und so Dienste bereitzustellen, die früher nur auf proprietärer Hardware liefen. Wie viele andere Technologien, die heute genutzt werden, wären diese Innovationen ohne das ursprüngliche Konzept der virtuellen Maschine nicht möglich gewesen. (fm)

Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation Network World.