Eine eindeutige Definition des Begriffs Virtualisierung ist nicht möglich. Ein Definitionsversuch lautet: Virtualisierung bezeichnet Methoden, die es erlauben, Ressourcen eines Computers (insbesondere im Server-Bereich) zusammenzufassen oder aufzuteilen.
Damit wird es möglich auf einer physischen Hardware („Host“) mehrere virtuelle Maschinen (abgekürzt VM, häufig auch „Gast“ genannt) zu betreiben, die sich die Ressourcen des Hosts teilen. Die VMs verhalten sich dabei genau so, als würden sie auf physischer Hardware laufen. Anwendungen auf den VMs „merken“ keinen Unterschied. Da die Leistungsfähigkeit von Hardware nach wie vor schnell wächst können bis zu 10 oder sogar mehr VMs auf aktueller Hardware betrieben werden.
Die virtuellen Maschinen bestehen im Kern aus einer großen Datei, die den gesamten Inhalt der simulierten Maschine enthält. Die Datei kann einfach auf andere physische Hardware übertragen und dort gestartet werden, da die virtuelle Hardware immer gleich bleibt. Auf dem Host-System laufen die Gäste in einem Fenster.
Man unterscheidet im Allgemeinen 2 Arten von Virtualisierung:
z. B. um ein Betriebssystem oder nur eine Anwendung zu simulieren.
Durch Virtualisierung kann ein Host-System zwischen 5 und 10 Gastsystemen aufnehmen. Damit lässt sich die Zahl an Hardwareservern drastisch reduzieren.
Eine virtuelle Maschine besteht im Kern nur aus einer großen Datei. Diese Datei kann gegenüber echten Maschinen sehr einfach gesichert, auf anderer Hardware übertragen und dort gestartet werden.
mehr Server verbrauchen mehr Energie und erzeugen mehr Abwärme
Virtualisierung bietet allen VMs die selbe, virtuelle Hardwareumgebung. Es ist ohne Probleme möglich, eine VM auf anderer physischer Hardware in Betrieb zu nehmen, da die virtuelle Hardware immer gleich bleibt.
Alte Anwendungen können durch den Betrieb in einer virtuellen Umgebung ohne Aktualisierung des Betriebssystems und Anwendung, ausgeführt werden.
Migrationskonzepte (Überführung von Systemteilen eines Altsystems auf ein Neusystem), Patches (Nachbesserung, z.B. Fehler beheben) und Updates können durch Virtualisierung zunächst in einer isolierten Testumgebung geprüft werden, bevor diese in der Produktionsumgebung ausgerollt werden.
Jede virtuelle Maschine verfügt über einen eigenen virtuellen Hardware-Satz, der zum Beispiel den Prozessor, den Arbeitsspeicher und die Netzwerkkarte umfasst. Darauf können das Betriebssystem und die Anwendungen geladen werden, wobei das Betriebssystem einen konsistenten und normalisierten Hardware-Satz erkennt, unabhängig von den tatsächlichen physikalischen Hardware-Komponenten.
Virtuelle Maschinen sind in Dateien eingekapselte Systeme, die schnell gespeichert, kopiert und bereitgestellt werden können. Komplettsysteme (voll konfigurierte Anwendungen, Betriebssysteme, das BIOS und die virtuelle Hardware) können aufgrund des Wegfalls von Ausfallzeiten und der Verlagerung der Anwendungen von mehreren auf einzelne Server in kurzer Zeit von einem physikalischen Server auf einen anderen verschoben werden.
Systemvirtualisierung auf Hardwareebene
Prozessorvirtualisierung
Bei der System- oder Betriebssystemvirtualisierung werden vom Virtual Machine Monitor Befehle von Gastsystemen (virtuellen Maschinen) entgegengenommen, die auf der nativen Hardware ausgeführt werden sollen.
Beispiele: Intels Vanderpool, AMDs Pacifica
Speichervirtualisierung
Durch Speichervirtualisierung erscheint Nutzern Speicherplatz demnach virtuell: Der Speicherplatz kann durchaus in Speichersysteme oder Festplatten eingeteilt sein, nur müssen diese Medien nicht physisch vorhanden sein. Eine Software stellt sicher, dass die virtuelle Speichereinteilung auf geeignete Art und Weise auf den physisch vorhandenen Speicherplatz passt.