Microsoft Hyper-V ist ein fester Bestandteil des Windows Server 2008, doch wieso gibt es den Hypervisor nicht auch für die 32-Bit (x86) Version? Dies hat seinen Hintergrund in der Architektur von Hyper-V, sowie auch XenServer von Citrix, welche für den Betrieb ein 64-Bit (x64) taugliches System mit der Processor Technology zur Hardware Virtualization erfordern. Die Gemeinsamkeit mit der Xen Architektur ist eigentlich auch keine Überraschung, da es zwischen Microsoft und XenSource, inzwischen durch Citrix übernommen, seit Mitte 2006 eine Vereinbarung gibt.
Hyper-V läuft also ausschliesslich mit der 64-Bit Version von Windows Server 2008 und setzt für den Betrieb eine CPU mit Intel VT beziehungsweise AMD-V Erweiterungen voraus. Wie der direkte Hardware Zugriff aussieht, lässt sich am besten mit der Architektur des Hypervisor zeigen:

Quelle: msdn.microsoft.com
Alle Implementierungen von Hyper-V besitzen eine Parent Partition (Management OS). In dieser Parent Partition werden alle Treiber für die Child Partitions (Guest OS) bereitstellt. Sie verwaltet somit die Hyper-V Machines und enthält nebenbei auch die Hyper-V Management Console. Guest Virtual Machines laufen in den angesprochenen Child Partitions, davon gibt es zwei Typen:
- Enlightened Child Partition
- Hyper-V Aware Windows Operating Systems
- Hyper-V Aware non-Windows Operating Systems
- Unenlightened Child Partition
- Non Hyper-V Aware Operating Systems
Virtual Machines werden mittels “Integration Services” für den Betrieb auf Hyper-V optimiert. Dieser Vorgang wird bei Microsoft als “Operating System Enlightenment” bezeichnet. Der Kernel der Child Partition wird dabei so angepasst, dass Processor und Memory Zugriffe direkt über die Hypercall-API an die physische Hardware weitergeleitet werden. Hard Disk und Network Zugriff laufen dabei über den VMBus und werden dann über die Drivers der Parent Partition an die Hardware durchgereicht. Die Hyper-V Integration Components unterstützen zudem folgende Funktionen:
- Time synchronization
- Volume Shadow Copy Service (VSS)
- Heartbeat functionality
- Guest shutdown
- Key value pair exchange (wird benutzt um auf die Guest OS Registry zuzugreifen)
- OS identification
Aufgrund der Hypervisor Architektur wird praktische jede moderne Hardware unterstützt. Die optimale Performance erzielt man mit Virtual Machines die wie Windows Server 2008 oder Windows Vista synthetische Treiber verwenden. Wenn ein Guest OS die neue VMBus Architektur nicht unterstützt, dann muss die VM auf Basis von Emulated anstelle der Synthetic Devices arbeiten. Welche Hardware sich am besten für Hyper-V eignet lässt sich über den Windows Server Catalog herausfinden.
Nun gibt es im MSDN Download Center die “Windows Server 2008 Datacenter, Enterprise and Standard without Hyper-V (x86)” und somit auch die “Windows Server 2008 Datacenter, Enterprise and Standard (x86)” Version zum Download. Also gibt es den Hypervisor doch auch für 32-Bit? Nein, natürlich nicht. Dies sind rechtliche Bedingungen wieso Windows Server auch ohne Hyper-V erhältlich ist. Technisch gesehen lässt sich von der 32-Bit Version Hyper-V nur verwalten, aber keine Virtual Machines starten. Hyper-V Server 2008 gibt es aber wirklich nur als 64-Bit Version…
Weitere Informationen
- Microsoft Download Center: Hypervisor Functional Specification
- Ben Armstrong’s MSDN Blog: Hyper-V Terminology
- Microsoft: Supported Guest Operating Systems
- Microsoft KB 954958: Guest operating systems that are supported on a Hyper-V virtual machine
