Die Virtuelle Maschine – eine Einführung

Die virtuelle Maschine (kurz VM) ist ein klassisches Konzept der Hardware-Virtualisierung und dient klassischerweise zur Bereitstellung virtueller Umgebungen im Rahmen von Software-Tests. Zahlreiche Software-Lösungen ermöglichen den Betrieb mehrerer Gastsysteme auf einem gemeinsamen Wirtssystem (Host). Doch wie funktionieren virtuelle Maschinen und welche Vor- und Nachteile sind mit diesem Virtualisierungskonzept verbunden? Wir führen Sie in die Grundbegriffe der Hypervisor-basierten Hardware-Virtualisierung ein und zeigen Ihnen anhand einer Schritt-für-Schritt-Anleitung, wie Sie virtuelle Umgebungen für Windows oder Linux bereitstellen.

Was ist eine virtuelle Maschine?

Bei einer VM handelt es sich um einen virtuellen Rechner mit eigenem Betriebssystem, der auf die Hardware-Ressourcen eines zugrundeliegenden Host-Systems zurückgreift. Dem Nutzer gegenüber verhält sich ein solches Gastsystem wie ein eigenständiger PC mit RAM, Festplattenspeicher und Dateisystem.

Jeder virtuellen Maschine liegt eine Hypervisor-Software (auch Virtual-Machine-Monitor, VMM) zugrunde. Der Hypervisor läuft als Anwendung auf dem Host-Betriebssystem (Hosted Hypervisor) oder setzt direkt auf der Hardware der physischen Maschine auf (Bare-Metal-Hypervisor) und verwaltet die vom Wirtssystem zur Verfügung gestellten Hardware-Ressourcen. Dabei erzeugt die Hypervisor-Software eine Abstraktionsschicht zwischen physischer Hardware und virtueller Maschine. Jede VM läuft isoliert vom Wirtssystem und von anderen Gastsystemen in einer eigenen virtuellen Umgebung. Man spricht in diesem Zusammenhang von Kapselung. Prozesse innerhalb einer virtuellen Maschine haben weder Einfluss auf den Host noch auf andere VMs auf derselben Hardware.

Zahlreiche Hypervisoren kombinieren Technologien zur Hardware-Virtualisierung mit Emulationsfunktionen. Entsprechende Virtualisierungsprodukte errichten nicht nur eine Abstraktionsschicht zwischen der physischen Hardware, auf der sie bereitgestellt werden, und der genutzten virtuellen Ebene. Sie überbrücken zudem auch Inkompatibilitäten zwischen unterschiedlichen Systemarchitekturen. Dies ermöglicht es Anwendern, auf einem Host-System Laufzeitumgebungen für verschiedene Betriebssysteme zu emulieren. Anwender können somit auch Gastsysteme in virtuellen Maschinen betreiben, deren Systemarchitektur nicht der des Host-Systems entspricht.

Folgender Screenshot zeigt die Betriebssysteme Windows 7 und Ubuntu 17.10 als virtualisierte Gastsysteme auf demselben Wirtssystem. Jede virtuelle Maschine wird in einem eigenen Fenster ausgeführt. Als Virtualisierungssoftware kommt Oracle VM VirtualBox zum Einsatz.

Virtuelle Maschinen im Praxiseinsatz

Im Rahmen der Hardware-Virtualisierung lassen sich die Ressourcen eines physischen Systems auf mehrere virtuelle Systeme aufteilen. Dabei wird jedes Gastsystem inklusive aller Programme, die in diesem laufen, von der darunterliegenden Hardware getrennt.

In der Praxis kommen virtuelle Maschinen meist zum Einsatz, um bestimmte Prozesse undAnwendungen aus Sicherheitsgründen zu isolieren. VMs bieten im Vergleich zu anderen Virtualisierungskonzepten eine starke Kapselung und fungieren daher als Basis für Hosting-Produkte, bei denen mehrere Kunden-Server auf einer gemeinsamen Hardwareplattform betrieben werden. Die Bereitstellung virtueller Maschinen ist die Basis von Shared-Hosting- und VPS-Angeboten (Virtual Private Server). Da jedes Gastsystem in einer isolierten Laufzeitumgebung ausgeführt wird, wirken sich in einer VM gekapselte Prozesse weder auf das Host-System noch auf andere Gastsysteme auf derselben physischen Maschine aus.

Im Unternehmenskontext nutzt man virtuelle Maschinen, um Kosten für den Betrieb und die Wartung von IT-Infrastrukturen zu reduzieren. Unternehmen leisten sich mitunter eine umfangreiche IT-Infrastruktur, die die meiste Zeit des Tages brachliegt. Mit virtuellen Maschinen lassen sich Leerlaufzeiten dieser Art deutlich reduzieren. Statt jedem Anwendungsbereich der Unternehmens-IT eine eigene physische Maschine zur Verfügung zu stellen, gehen immer mehr Unternehmen dazu über, Mail-, Datenbank-, Datei- oder Anwendungs-Server in isolierten virtuellen Umgebungen auf derselben leistungsstarken Hardware-Plattform zu betreiben. Umgesetzt wird dieses Konzept im Rahmen der Serverkonsolidierung. Denn es in der Regel günstiger, eine große Rechenplattform für verschiedene virtuelle Systeme zu unterhalten, als mehrere kleine Rechner zu betreiben. Insbesondere Prozessoren sind in der Anschaffung nach wie vor teuer. Ungenutzte Prozessorzeit ist somit ein unnötiger Kostenfaktor, der sich durch einen Umstieg auf virtuelle Systeme vermeiden lässt.

Ein weiteres Anwendungsfeld virtueller Umgebungen ist die Software-Entwicklung. Programmierer, die Anwendungen für verschiedene Systemarchitekturen entwickeln, greifen für Software-Tests oft auf virtuelle Maschinen zurück. Zahlreiche Hypervisor-Produkte ermöglichen den parallelen Betrieb verschiedener Betriebssysteme oder System-Versionen. Virtuelle Maschinen lassen sich auf Knopfdruck erstellen, klonen und ohne Datenrückstände von der physischen Festplatte entfernen. Zudem haben fehlerhafte Prozesse innerhalb einer virtuellen Maschine aufgrund der Kapselung keine Auswirkungen auf das darunterlegende System.

Privatnutzer greifen in der Regel auf Hypervisoren mit Emulationsfunktionen zurück, um Anwendungen ausführen zu können, die ursprünglich für eine andere Systemarchitektur geschrieben wurden. Hierbei ist jedoch zu beachten, dass Hardware-Virtualisierung ebenso wie Emulation immer mit Performance-Einbußen einhergeht. Möchte ein Anwender beispielsweise ein Linux-Programm in einer VM auf seinem Windows-Rechner ausführen, müssen zusätzliche Ressourcen sowohl für den Hypervisor als auch für das Gastsystem aufgewendet werden. Einer derart gekapselten Linux-Anwendung steht somit nicht mehr die gesamte Leistung der zugrundeliegenden Hardware zur Verfügung. Man spricht in diesem Zusammenhang von einem Overhead.

Hinweis

Als Overhead bezeichnet man in der Informatik IT-Ressourcen wie Rechenzeit, Speicher oder Bandbreite, die bei der Ausführung eines Prozesses beansprucht werden oder verlorengehen, ohne direkt zum Ergebnis des Prozesses beizutragen.

An ihre Grenzen kommt Hardware-Virtualisierung vor allem bei Ressourcen-intensiven Workloads. Laufen mehrere virtuelle Maschinen auf demselben Host-System, kann sich der Ressourcen-Bedarf der einen Maschine bei Leistungsspitzen zudem auf die Performance der anderen Maschinen auf demselben Host auswirken. Dem lässt sich entgegenwirken, indem jeder virtuellen Maschine ein festes Kontingent an Hardware-Ressourcen zugesichert wird. Achten Sie darauf, dass die Gesamtheit aller gleichzeitig in Anspruch genommenen virtuellen Ressourcen nie die zur Verfügung stehende Maximalleistung der physischen Maschine übersteigt.

Vor- und Nachteile virtueller Maschinen im Überblick

Folgende Tabelle stellt die wesentlichen Vor- und Nachteile virtueller Maschinen gegenüber. Ob und wie stark die angeführten Vorzüge und Einschränkungen ins Gewicht fallen, hängt in erster Linie davon ab, in welchem Rahmen Sie VMs bereitstellen möchten und welchen Zweck Sie mit der Virtualisierung verfolgen.

Vorteile Nachteile
Paralleler Betrieb mehrerer Gastsysteme: Die Hypervisor-gestützte Virtualisierung ermöglicht den parallelen Betrieb mehrerer Betriebssysteme auf derselben Hardware-Grundlage. Viele Hypervisoren bieten Emulationsfunktionen, mit denen sich Inkompatibilitäten zwischen unterschiedlichen Systemarchitekturen überbrücken lassen. Overhead durch Hypervisor (und Gastsystem): Virtuelle Maschinen sind weniger effizient als physische Maschinen, da ein Teil der verfügbaren Ressourcen für den Betrieb der Hypervisor-Software aufgewendet wird.
Bessere Auslastung durch Konsolidierung der Hardware: Werden mehrere virtuelle Maschinen auf einer physischen Maschine betrieben, lassen sich Hardware-Ressourcen besser auslasten. Eine solche Konsolidierung erhöht die Auslastung der bereitgestellten Hardware, reduziert Leerlauf und spart Kosten. Bei geteilter Hardware kann es bei Leistungsspitzen zu Engpässen kommen: Da sich alle virtuellen Maschinen auf einem Wirtssystem dieselben Hardware-Ressourcen teilen, kann es bei Leistungsspitzen zu Engpässen kommen.
Starke Kapselung des Gastsystems und aller darin laufenden Prozesse: Jedes Gastsystem läuft isoliert in einer virtuellen Laufzeitumgebung. Stürzt eine virtuelle Maschine aufgrund eines fehlerhaften Prozesses ab oder kommt es zur Infiltration durch Hacker oder Malware, hat dies in der Regel keine Auswirkung auf parallel betriebene VMs oder das zugrundeliegende Host-System. Hypervisor als Single Point of Failure: Richten sich Angriffe durch Hacker oder Schadprogramme direkt gegen die Virtualisierungssoftware, werden unter Umständen alle über den Hypervisor verwalteten Gastsysteme in Mitleidenschaft gezogen.
Einsparungen bei der Wartung und Administration IT-Ressourcen: Ein großes Einsparungspotenzial bieten virtuelle Maschinen bei der Bereitstellung von IT-Ressourcen. Der Umstieg auf eine leistungsstarke Hardware- Plattform für verschiedene virtuelle Systeme reduziert vor allem Kosten für Wartung und Administration, da sich entsprechende Aufgaben zentralisieren lassen. Unklare Rechtslage in Bezug auf die Lizenzierung virtueller Betriebssysteme: Der Betrieb virtueller Maschinen wirft neue Fragen hinsichtlich der Lizenzierung von Betriebssystemen auf.
Flexible Bereitstellung und Portierung von virtuellen Servern und PCs: Virtuelle Maschinen sind unabhängig von der zugrundeliegenden physischen Hardware und ermöglichen eine flexible Bereitstellung von IT-Ressourcen. Virtualisierte Server oder Personal Computer (PCs) können ohne größeren Aufwand erstellt, geklont und auf eine andere Hosting-Plattform umgezogen werden.  

Tutorial: Wie erstellt man eine virtuelle Maschine?

Im Folgenden zeigen wir Ihnen anhand einer Schritt-für-Schritt-Anleitung, wie Sie eine virtuelle Maschine auf einem Windows-Host erstellen und in dieser Ubuntu-Linux als Gastsystem ausführen. Für das Tutorial verwenden wir Windows 7. Als Hypervisor-Software kommt Oracle VM VirtualBox zum Einsatz.

Hinweis

Um der Anleitung auf dem eigenen System zu folgen, benötigen Sie lediglich einen Windows-PC mit Internetzugang. Die im Tutorial verwendete Software steht im Internet kostenlos zum Download bereit.

Schritt 1: Hypervisor-Software auswählen

Zur Bereitstellung virtueller Betriebssysteme stehen Ihnen diverse Software-Lösungen zur Verfügung. Marktführend sind Produkte der Firmen Oracle, VMware und Parallels.

Folgende Tabelle zeigt die beliebtesten Hypervisor-Produkte für Windows, Linux und macOS sowie mögliche Gastsysteme.

Virtualisierungssoftware

Host-Systeme

Gastsysteme

Oracle VM VirtualBox

 
  • Windows
  • Linux
  • Mac OS X
  • macOS
  • Solaris
 
 
  • Windows
  • Linux
  • Solaris
  • FreeBSD
 

VMware Workstation Player

 
  • Windows
  • Linux
 
 
  • Windows
  • Linux
  • NetWare
  • Solaris
  • FreeBSD
 

VMware Fusion

 
  • Mac OS X
  • macOS
 
 
  • Windows
  • Linux
  • NetWare
  • Solaris
  • FreeBSD
  • macOS
  • Mac OS X
 

Parallels Desktop for Mac

 
  • Mac OS X
  • macOS
 
 
  • Windows
  • Linux
  • macOS
  • Mac OS X
  • Solaris
  • FreeBSD
  • Android OS
  • Chrome OS
 

Für das nachfolgende Tutorial haben wir den Hypervisor VM VirtualBox von Oracle verwendet. Die Software steht Nutzern unter der GNU General Public License (GNU GPLv2) kostenlos zur Verfügung. Wir empfehlen den Download von der Anbieter-Website. Gehen Sie dafür folgendermaßen vor:

  1. Rufen Sie die URL http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html auf.
  2. Wählen Sie das aktuelle Download-Paket für Ihr Betriebssystem aus (In unserem Fall Windows).
  3. Speichern Sie die .exe-Datei mit den Binärdaten in einem beliebigen Verzeichnis auf Ihrem Rechner ab.
Hinweis

Als Ergänzung zur Kern-Software stellt Oracle mit dem Oracle VM VirtualBox Extension Pack auch ein proprietäres Erweiterungsmodul für die quelloffene Virtualisierungssoftware kostenlos zur Verfügung. Für dieses Tutorial benötigen Sie das Extension-Pack allerdings nicht.

Schritt 2: Oracle VM VirtualBox installieren

Ist der Download abgeschlossen, führen Sie das Binärdatenpaket mit einem Doppelklick auf die .exe-Datei aus. Folgen Sie den Anweisungen des Install-Wizards, um Oracle VM VirtualBox lokal auf Ihrem System zu installieren.

Am Ende des Installationsprozesses startet die Software den Oracle VM VirtualBox Manager. In diesem erstellen und verwalten Sie Ihre virtuellen Maschinen.

Schritt 3: Betriebssystem-Image herunterladen

Um ein Gastsystem in einer virtuellen Maschine ausführen zu können, benötigen Sie ein Betriebssystem-Image. Dabei handelt es sich um ein Speicherabbild, das von der Hypervisor-Software als Systemfestplatte interpretiert werden kann. Ein solches kann im offenen Dateiformat .iso vorliegen. Gängige Virtualisierungslösungen arbeiten zudem mit herstellereigenen Container-Formaten für Image-Dateien wie beispielsweise .vmdk (VMware), .vhd (Xen und Microsoft Hyper-V) und .vdi (Oracle VM VirtualBox).

Für dieses Tutorial verwenden wir das quelloffene Betriebssystem Ubuntu 17.10.1, das sich als .iso-Datei von der offiziellen Ubuntu-Projekt-Website herunterladen lässt. Gehen Sie dazu folgendermaßen vor:

  1. Rufen Sie die URL https://www.ubuntu.com/download/desktop auf.
  2. Wählen Sie die aktuelle Version des Betriebssystems aus und klicken Sie auf „Download“
  3. Speichern Sie die .iso Datei lokal auf Ihrem System.
Tipp

Anwender, die einen virtuellen Windows-PC als Gastsystem betreiben möchten, finden auf der offiziellen Microsoft-Entwickler-Website diverse Image-Dateien für Hypervisor-Lösungen von VMware, Hyper-V, VirtualBox und Parallels. Weitere Komplettpakete für virtuelle Maschinen stellt Microsoft zu Testzwecken zur Verfügung.

Schritt 4: Neue virtuelle Maschine erstellen

Nutzen Sie die Schaltfläche „New“ um dem Oracle VM VirtualBox Manager eine neue virtuelle Maschine hinzuzufügen.

Schritt 5: Betriebssystem wählen und VM benennen

Benennen Sie die neue virtuelle Maschine und wählen Sie aus, welches Betriebssystem Sie in der VM ausführen möchten.

Bestätigen Sie Ihre Auswahl mit einem Klick auf „Next“.

Schritt 6: Hardware-Ressourcen zuteilen – Arbeitsspeicher

Weisen Sie der neuen virtuellen Maschine einen Anteil des vom Host-System zur Verfügung gestellten Arbeitsspeichers zu.

Bestätigen Sie Ihre Auswahl mit einem Klick auf „Next“.

Schritt 7: Hardware-Ressourcen zuteilen – Festplattenspeicher

Entscheiden Sie im nächsten Schritt, ob eine neue virtuelle Festplatte erzeugt werden soll oder ob Sie der virtuellen Maschine eine bereits bestehende virtuelle Festplatte zuweisen möchten.

In diesem Tutorial erzeugen wir eine neue virtuelle Festplatte, auf der wir das Gastsystem anschließend von Grund auf neu installieren.

Wählen Sie die Option „Create a virtual hard disk now“ und bestätigen Sie Ihre Auswahl mit einem Klick auf „Create“.

Tipp

Diverse Anbieter stellen Nutzern bereits vollständig konfigurierte virtuelle Maschinen als Speicherabbild zur Verfügung. Möchten Sie ein solches Angebot in Anspruch nehmen, laden Sie die virtuelle Maschine in einem der unterstützten Container-Formate herunter und wählen dieses über die Option „Use an existing virtual hard disk file“ aus. Oracle VM VirtualBox unterstützt neben dem hauseigenen Dateiformat VirtualBox Disk Image (.vdi) auch Speicherabbilder in den Formaten Virtual Hard Disk (.vhd) und Virtual Machine Disk (.vmdk).

Wählen Sie im nächsten Schritt das Container-Format, das VirtualBox für die neue virtuelle Festplatte verwenden soll. Sofern Sie nicht planen, die neu erstellte VM auch über eine andere Virtualisierungslösung auszuführen, empfehlen wir das voreingestellte Format VDI.

Bestätigen Sie Ihre Auswahl mit „Next“.

Im nächsten Schritt müssen Sie sich entscheiden, ob Sie der virtuellen Maschine einen festen Anteil des zur Verfügung stehenden Festplattenspeichers zuweisen möchten. Alternativ haben Sie die Möglichkeit, Speicherplatz auf der physischen Festplatte dynamisch zuzuweisen. In diesem Fall wird der VM kein festes Kontingent zugewiesen, stattdessen passen sich die in Anspruch genommenen Speicherressourcen auf der physischen Festplatte automatisch an den aktuell benötigten Speicherbedarf der VM an.

Hinweis

Ein dynamisch zugewiesenes Kontingent an Festplattenspeicher wächst mit zunehmendem Speicherbedarf der virtuellen Maschine. Doch beachten Sie: Der in Anspruch genommene Speicherplatz reduziert sich nicht automatisch, wenn Sie Speicher innerhalb der VM freigeben, indem Sie Dateien löschen.

Wir wählen für dieses Tutorial ein fest definiertes Speicherkontingent.

Das Speicherziel sowie die Größe der virtuellen Festplatte definieren wir im nächsten Schritt.

Klicken Sie auf „Create“, um den Konfigurationsprozess abzuschließen und VM VirtualBox anzuweisen, die neue VM zu erstellen.

Die neu erstellte VM erscheint mit dem von Ihnen gewählten Namen in der Liste der zur Verfügung stehenden virtuellen Maschinen.

Für jede virtuelle Maschine legt VM VirtualBox einen Datei-Ordner an. Dieser wird automatisch in dem von Ihnen gewählten Speicherziel erstellt und enthält neben der VDI-Datei für die virtuelle Festplatte ein Log-File sowie eine Definition der VM.

Schritt 8: Gastsystem installieren

Starten Sie die neu erstellte virtuelle Maschine, indem Sie diese mit der Maus auswählen und auf die Schaltfläche „Start“ im Menüband klicken.

Direkt nach dem Start fragt das Programm, mit welcher Image-Datei die virtuelle Maschine ausgeführt werden soll.

Wählen Sie das Betriebssystem-Image aus, dass Sie in Schritt 3 heruntergeladen haben. Bestätigen Sie Ihre Auswahl mit einem Klick auf „Start“.

Wir wählen die .iso-Datei mit dem Speicherabbild von Ubuntu 17.10.1.

Hinweis

Da .iso-Dateien das Abbild eines kompletten Betriebssystems beinhalten, handelt es sich in der Regel um sehr große Dateien. In unserem Fall umfasst das Betriebssystem-Image für Ubuntu 17.10.1 immerhin 1,4 Gigabyte.

Haben Sie das gewünschte Image ausgewählt, bootet VM VirtualBox das in der Datei gespeicherte Betriebssystem in einer isolierten virtuellen Umgebung. Dabei wird jede virtuelle Maschine in einem separaten Fenster ausgeführt. Da wir uns entschieden haben, Ubuntu von Grund auf neu zu installieren, zeigt das Fenster der virtuellen Maschine den Startbildschirm des Betriebssystems.

Klicken Sie auf „Install Ubuntu“ und lassen Sie sich vom Installations-Wizard durch die Installation des Gastsystems führen.

Ist der Installationsprozess abgeschlossen, lässt sich das Betriebssystem so verwenden wie jedes andere auf physischer Hardware installierte System.

Richten Sie bei Bedarf weitere virtuelle Maschinen ein.

Alle Änderungen, die Sie in Ihrer VM vornehmen, werden automatisch in die VDI-Datei geschrieben, die Sie im Rahmen der Konfiguration als virtuelle Festplatte erstellt haben. Möchten Sie das Gastsystem auf einem anderen Rechner ausführen, kopieren Sie lediglich den Dateiordner Ihrer virtuellen Maschine (inklusive VDI-Datei, Log-File und Definition) auf das entsprechende Gerät. Beachten Sie dabei, dass jeder Rechner, auf dem sie Ihre VM ausführen möchten, über eine kompatible Virtualisierungssoftware verfügen muss.

Tipp

Eine Alternative zur Bereitstellung von Gastsystemen in virtuellen Maschinen ist die Container-Technologie.Wie sich Anwendungen mithilfe von Containern auf Betriebssystem-Ebene virtualisieren lassen und welche Vorteile diese Art der Virtualisierung mit sich bringt, erklären wir Ihnen in unserem Einsteiger-Tutorial zur Container-Plattform Docker.


Auf dem Laufenden bleiben?

Jetzt für unseren Newsletter anmelden und gratis Online-Marketing Whitepaper für lokale Anbieter sichern!