Suchen

Definition Was ist eine virtuelle Maschine / virtual Machine?

Eine virtuelle Maschine stellt eine virtuelle Umgebung eines Computersystems auf einem Host-Rechner zur Verfügung. Ein Host-System kann mehrere virtuelle Maschinen bereitstellen. Sie sind logisch voneinander isoliert, teilen sich aber die Hardware-Ressourcen des Host-Systems. Hypervisoren sind für die Zuweisung der Ressourcen an die virtuellen Maschinen zuständig.

Firma zum Thema

Die wichtigsten IT-Fachbegriffe verständlich erklärt.
Die wichtigsten IT-Fachbegriffe verständlich erklärt.
(Bild: © aga7ta - stock.adobe.com)

Die Abkürzung für eine virtuelle Maschine (im Englischen virtual Machine) lautet VM. Es handelt sich dabei um eine gekapselte, isolierte Umgebung, die ein virtuelles Computersystem auf einem Host-System zur Verfügung stellt. Auf einem Host-System, auch Wirtsrechner genannt, lassen sich mehrere virtuelle Maschinen logisch unabhängig voneinander parallel betreiben. Sie verhalten sich Richtung Anwender und Anwendungen wie vollwertige Computersysteme, teilen sich aber die physischen Hardwareressourcen wie CPU-Leistung, Speicherplatz, Arbeitsspeicher und Netzwerkverbindungen des Host-Systems.

Aus Anwendungssicht ist nicht erkennbar, dass es sich um ein virtuelles und nicht um ein physisches Computersystem handelt. Für die Abstraktion zwischen Hardware und virtueller Maschine sorgt ein so genannter Hypervisor. Er ist für die Zuteilung der physischen Ressourcen an die virtuellen Umgebungen verantwortlich. Da der Hypervisor als zwischengeschaltete Virtualisierungsebene selbst Ressourcen benötigt und in der Regel mehrere virtuelle Umgebungen auf einem Host-System installiert sind, hat eine virtual Machine weniger Performance als der Host-Rechner.

Um dennoch hohe Performance und Sicherheit für virtuelle Maschinen zu realisieren, sind im Befehlssatz vieler Prozessoren hardwareseitig Erweiterungen zur Ausführung von Virtualisierungsfunktionen eines Hypervisors integriert.

Typische Anwendungen virtueller Maschinen sind die Bereitstellung verschiedener virtueller Serverleistungen auf einer gemeinsamen Hardwareplattform, die Schaffung zentral betriebener virtueller Arbeitsplatzumgebungen, das Ausführen verschiedener Betriebssysteme oder Betriebssystemversionen auf einem einzigen Rechner oder das Bereitstellen von logisch isolierten Testumgebungen. Zahlreiche Hersteller bieten Software zur Realisierung virtueller Maschinen an. Verfügbare Produkte sind beispielsweise Hyper-V von Microsoft, vSphere Hypervisor von VMware, PowerVM von IBM, Xen von Citrix, VirtualBox von Oracle, Windows Virtual PC von Microsoft oder der VMware Player.

Typische Merkmale einer virtual Machine

Die Implementierung einer virtuellen Maschine kann abhängig vom eingesetzten Hypervisor und der Virtualisierungs-Software recht unterschiedlich sein. Typische Merkmale virtueller Maschinen sind:

  • Bereitstellung eines virtuellen Computersystems
  • mehrere virtuelle Maschinen sind auf einem Host-System parallel betreibbar
  • logische Isolierung der virtuellen Maschinen untereinander
  • gemeinsame Nutzung der physischen Hardwareressourcen des Host-Systems
  • logische Abstraktionsschicht zwischen Host-System und Gast-System bereitgestellt durch einen Hypervisor
  • aus Anwendungssicht kein Unterschied zwischen virtueller Maschine und physischem Computersystem

Abgrenzung zwischen virtueller Maschine, Emulator und Container

Im Zusammenhang mit virtuellen Maschinen fallen oft die Begriffe Emulator oder Container. Bei Emulatoren und Container-Umgebungen handelt es sich ebenfalls um Virtualisierungstechniken. Sie lassen sich jedoch hinsichtlich Konzept und Realisierung deutlich von virtuellen Maschinen unterscheiden.

Mit einem Emulator ist es möglich, eine vom Host-System vollständig unterschiedliche Hardwareplattform und Rechnerarchitektur zu simulieren. So stellt ein Emulator beispielsweise eine andere Prozessortechnik virtuell zur Verfügung, um auf einem x86 basierten PC einen Commodore 64 mit 6510-Prozessor oder eine Spielkonsole zu emulieren.

Das Container-Konzept ist dem Konzept der virtuellen Maschine sehr ähnlich. Allerdings stellt ein Container kein vollwertiges virtuelles Computersystem zur Verfügung, sondern nur eine virtuelle Laufzeitumgebung für Anwendungen. Es werden nicht die Hardwareressourcen, sondern Systembibliotheken, Konfigurationen und Systemwerkzeuge virtualisiert. Auf dem Host-System arbeitet nur ein einziges Betriebssystem, das in den verschiedenen Containern untereinander isolierte Laufzeitumgebungen betreibt. Anwendungen in verschiedenen Containern sehen sich gegenseitig nicht, nutzen aber die Ressourcen des gleichen Betriebssystems.

Die verschiedenen Arten von Hypervisoren und die Rolle des Hypervisors für die virtual Machine

Der Hypervisor, auch Virtual Machine Monitor (VMM) genannt, ist für die Bereitstellung einer virtuellen Maschine von zentraler Bedeutung. Es handelt sich dabei um eine Software, die eine Abstraktionsebene zwischen der Hardware des Host-Systems und der virtual Machine schafft. Aufgabe des Hypervisors ist es, den verschiedenen virtuellen Maschinen die physikalischen Ressourcen wie Arbeitsspeicher, Rechenleistung, Speicherplatz und Netzwerkverbindungen zuzuweisen. Gleichzeitig sorgt der Hypervisor für die logische Isolation der virtuellen Maschinen untereinander. Für die virtuelle Maschine erscheinen die vom Virtual Machine Monitor zugewiesenen Ressourcen wie echte Hardware-Ressourcen. Abhängig von der Arbeitsweise des Hypervisors ist eine Unterscheidung in Typ-1- und Typ-2-Hypervisoren möglich.

Ein Hypervisor vom Typ 1 arbeitet direkt auf der Hardware des Host-Rechners. Er benötigt kein unterhalb installiertes Betriebssystem. Der Typ-1-Hypervisor managt und kontrolliert die Ressourcen des Wirtsrechners mit eigenen Treibern und weist sie dynamisch den installierten virtuellen Maschinen zu. Typ1-Hypervisoren werden auch als Bare Metal Hypervisoren oder native Hypervisoren bezeichnet und benötigen entsprechende Unterstützung der Hardware des Host-Systems.

Im Gegensatz zum Typ-1-Hypervisor benötigt ein Hypervisor vom Typ 2 ein unterhalb installiertes Host-Betriebssystem. Um den virtuellen Maschinen die Ressourcen des Host-Rechners zuzuweisen, nutzt der Typ-2-Hypervisor die Betriebssystem-Treiber. Er hat keinen direkten Zugriff auf die Hardware-Ressourcen. Eine direkte Hardwareunterstützung des Hypervisors ist nicht notwendig, aber eine Unterstützung des Host-Betriebssystems.

Typische Anwendungen virtueller Maschinen

Virtuelle Maschinen sind vielfältig nutzbar und kommen in unterschiedlichen Anwendungen zum Einsatz. Es lassen sich Server- und Desktopsysteme oder Anwendungen mit Hilfe einer VM virtuell bereitstellen. Typische Anwendungen virtueller Maschinen sind:

  • Bereitstellung verschiedener Betriebssysteme und Betriebssystemversionen auf einem Host-Rechner
  • Bereitstellung von virtuellen Serverleistungen auf einer gemeinsamen Hardwareplattform
  • Bereitstellung von virtuellen Arbeitsplatzumgebungen auf einer gemeinsamen Hardwareplattform
  • Bereitstellung von isolierten Testumgebungen
  • Betrieb von Anwendungen mit spezifischen Betriebssystemanforderungen auf einer gemeinsamen Hardwareplattform
  • Virtualisierung von Rechenzentrums- und Providerleistungen

Vorteile einer virtual Machine

Das Konzept der Virtualisierung und virtueller Maschinen bietet gegenüber dedizierten Rechnern zahlreiche Vorteile. Vorhandene Hardware-Ressourcen lassen sich besser ausnutzen. Die Kosten für den Betrieb, Strom und Kühlung sowie Platzbedarf reduzieren sich. Virtuelle Maschinen sind mit wenig Aufwand zu verschieben und können durch einfaches Kopieren auf eine andere Hardwareplattform übertragen werden. Es sind flexible Betriebs- und Redundanzkonzepte realisierbar.

Obwohl die virtuellen Maschinen auf einer gemeinsamen Hardware installiert sind, sind sie logisch voneinander vollständig isoliert. Das ermöglicht das Testen von Anwendungen ohne Beeinflussung oder Gefährdung der Produktivumgebung. Hardwareressourcen sind den virtuellen Maschinen schnell und dynamisch zuteilbar. Für das Skalieren der Leistung ist keine physische Installation von Hardware erforderlich, so lange das Host-System genügend Ressourcen besitzt. Die Bereitstellungszeit für Systeme und Anwendungen sinkt. Virtuelle Maschinen lassen sich zentral managen und überwachen.

Nachteile virtueller Maschinen

Neben diesen Vorteilen ergeben sich durch die Virtualisierung auch einige Nachteile. Diese Nachteile sind beispielsweise:

  • der Hypervisor benötigt einen Teil der Ressourcen des Host-Systems und mindert die Gesamtperformance
  • durch die gemeinsame Beanspruchung der Ressourcen des Host-Rechners kann es zu einer gegenseitigen Beeinflussung der Leistung kommen
  • es sind Schutzmechanismen für den Hypervisor zu implementieren, um die Sicherheit der Plattform zu gewährleisten
  • es können komplexe Lizenzierungsmodelle für die genutzten Betriebssysteme und Anwendungen entstehen

(ID:46659384)

Über den Autor