23.5. Virtual Machine Server

Der Virtual Machine Monitor (VMM) wird zwischen der Serverhardware und dem Betriebssystem-Kernel von SUSE Linux ausgeführt. Wenn der Computer bootet, wird zuerst der VMM geladen und dann der VM-Server im privilegierten Modus gestartet. Dies bewirkt, dass der VM-Server virtuelle Computer erstellen und steuern kann sowie über direkten Zugriff auf die Computerhardware verfügt. Der VM-Server wird mit systemeigenen Gerätetreibern konfiguriert, die mit den tatsächlichen Geräten des Computers übereinstimmen. Wenn der Computer beispielsweise über eine physische e1000-Netzwerkkarte verfügt, wird der VM-Server für das Laden und Ausführen des SUSE Linux-Gerätetreibers für die e1000-Karte konfiguriert.

Abbildung 23.1. Virtual Machine Server und Gerätetreiber

Virtual Machine Server und Gerätetreiber

Virtuelle Computer werden auf dem VM-Server definiert und gespeichert. Die Definitionen (VM-Definitionen genannt) werden in einer Konfigurationsdatei im Verzeichnis /etc/xen/vm/VM-Name gespeichert. Die Konfigurationsdatei definiert die virtuellen Ressourcen, wie CPU, Arbeitsspeicher, Netzwerkkarte und Block-Geräte, die das Betriebssystem sieht, wenn es auf dem virtuellen Computer installiert und gebootet wird.

Abbildung 23.2. Virtual Machine Definitionen und Virtual Machine Monitor

Virtual Machine Definitionen und Virtual Machine Monitor

Sowohl im vollständig virtualisierten als auch im paravirtualisierten Modus verwendet das Betriebssystem eines virtuellen Computers Gerätetreiber für die Interaktion mit dem VMM. Im vollständig virtualisierten Modus verwendet das Betriebssystem systemeigene BS-Gerätetreiber für einen Standardsatz emulierter Geräte, wie beispielsweise eine AMD PCNet- oder NE2000-Netzwerkkarte, ein IDE-Laufwerk und eine VGA-Grafikkarte. Im paravirtualisierten Modus verfügen die VM-fähigen Betriebssysteme über spezielle Gerätetreiber (Xen-Treiber genannt) für die Kommunikation mit den physischen Geräten des Computers über den VMM und den VM-Server.

Abbildung 23.3. VM-Gerätetreiber

VM-Gerätetreiber

Wenn beispielsweise das Betriebssystem eines virtuellen Computers, das im vollständig virtualisierten Modus ausgeführt wird, eine Datei auf seiner virtuellen 20-GB-Festplatte speichern soll, übergibt das Betriebssystem die Anforderung über den Gerätetreiber an den VMM. Der VMM versteht, auf welchen Teil der physischen 500-GB-Festplatte der virtuelle Computer Zugriff hat und übergibt entsprechende Anweisungen an den VM-Server. Der VM-Server greift auf das Festplattenlaufwerk zu und schreibt die Datei an der vordefinierten Position auf die 500-GB-Festplatte.

Abhängig von Ihren Anforderungen an das Computersystem und von den verfügbaren Computerressourcen kann eine beliebige Anzahl virtueller Computer erstellt und gleichzeitig auf dem VM-Server ausgeführt werden. Das Betriebssystem jedes virtuellen Computers interagiert unabhängig von den anderen mit dem VMM und der VM-Serverplattform, um die virtuelle oder emulierte CPU, den Arbeitsspeicher, das Block-Gerät und die Netzwerkressourcen zu nutzen.

Abbildung 23.4. VM-Server und virtuelle Computer

VM-Server und virtuelle Computer

Die virtuellen Computer können über die Arbeitsoberfläche des VM-Servers angezeigt und verwaltet werden.

Abbildung 23.5. Arbeitsoberfläche des VM-Servers und drei virtuelle Computer

Arbeitsoberfläche des VM-Servers und drei virtuelle Computer