Server-Konsolidierung
Virtualisierung - Ratgeber für die Migration von Servern
Virtualisierung
Die unterschiedlichen Arten der Virtualisierung (Applikation, Betriebssystem) fordern verschiedene Ansätze.
-
Bei einer Applikation bildet man die Dateisysteme nach und fängt die Aufrufe zum Betriebssystem (System-API) im einfachsten Fall ab. Die HW-Ressourcen werden durch die System-API abgeschirmt.
-
Soll ein Betriebssystem unverändert in einer VM starten, so muss man die HW-Ressourcen zur Verfügung stellen entweder nativ oder emuliert. Man legt also zwischen physikalischer HW und VM einen Layer, merkt sich alle Veränderungen, wie Einstellungen im BIOS oder I/O-Operationen und reagiert darauf, ohne diese Änderung an die reale HW weiterzuleiten. Ausnahmen bilden hier Zugriffe auf die CPU und den Speicher, die direkt an die HW weitergereicht werden. Das Betriebssystem ist damit ohne Anpassungen in der VM lauffähig.
Die Steuerung der Ressourcenzuteilung zu den VM übernimmt der sogenannte Hypervisor, auch Virtual Maschine Monitor (VMM) genannt. Dieser ist der Kern der meisten Produkte für die Server-Virtualisierung und setzt entweder auf ein laufendes Betriebssystem (Typ-2 VMM) oder direkt auf die Hardware (Typ-1 VMM) auf. Einige VMM sind dabei auf spezielle Virtualisierungsfunktionen innerhalb der Prozessoren (AMD-V, Intel-VTx, IBM LPAR) angewiesen, um virtuelle Maschinen auszuführen.
Architektur |
Hypervisor Typ-1 |
Hypervisor Typ-2 |
Virtualisierungslösung |
|
|
Vorteile: |
Schlank Robust Performant |
Keine OS Anpassung nötig |
Nachteile: |
OS Modifikation |
Bei der Paravirtualisierung nutzt man eine von der Hardware abweichende Softwareschnittstelle, bei der das Betriebssystem jedoch an diese Schnittstelle angepasst werden muss, um lauffähig zu sein. Diese Technik betet mehr Performance als die Emulation der Hardware.
Indem man nun jedem Betriebssystem die nötigen Ressourcen vorspiegelt, die es zum Booten und zum Betrieb benötigt, kann man die vorhandenen physikalischen Ressourcen effektiv nutzen. Das komplette System, bestehend aus – unverändertem - OS, Applikationen und Ressourcen, nennt man virtuelle Maschine (VM).