Hyper-V
Überblick
Die Virtualisierungssoftware (ehemaliger Arbeitstitel Viridian), die sich derzeit noch im (öffentlichen) Beta-Stadium befindet (aktueller Status: Release Candidate 1), ist mit Hypervisor-Technologie ausgestattet und präsentiert sich auf dem Stand der Technik: Sie stellt eine schlanke Softwareschicht dar, die für die Hardwareabstraktion zuständig ist und den virtuellen Maschinen eine schnelle, stabile und vor allem flexible Ablaufplattform bietet.
Die Feature-Liste ist umfangreich, zu den Funktionen zählen unter anderem das Verschieben von VMs von einem Rechner zum anderen (Quick Migration genannt, bislang nur für Windows Server-Systeme), umfassende Storage-Anbindung und intelligentes Management. Außerdem ist sie von vorne herein auf Basis publizierter Schnittstellen (WMI, Hypercall API, VHD-Dateiformat) für Redmonder Verhältnisse sehr offen angelegt. Damit ist sie durchaus für die Auseinandersetzung mit VMware gerüstet.
Eine der wichtigsten Eigenschaften der neuen Virtualisierungssoftware dürfte sein, dass sie als Bestandteil von Windows Server 2008 jedem Anwender des Betriebssystems unmittelbar zugänglich ist. Die Installation erfolgt als Server-Rolle und ist damit schnell und einfach erledigt. Das Kalkül: Die Integration von Hyper-V in Windows Server 2008 soll Anwender zur Virtualisierung ermuntern, wobei sie abhängig von der benutzten Version für virtuelle Windows-Rechner Lizenzkosten berappen müssen (die Standard-Edition erlaubt nur die Installation einer virtuellen Instanz, für weitere VMs mit Windows Server 2008 müssen Lizenzen erworben werden). Außerdem verringert Microsoft somit das Risiko, dass Unternehmen für Virtualisierungslösungen andere Systeme, wie etwa Linux, einsetzen. Neben der Virtualisierung von Windows 2003 und Windows 2008 als Haupteinsatzbereich von Hyper-V können damit dann auch etwaige Linux-Systeme mit „eingefangen“ werden.
Architektur
Den Anforderungen an Virtualisierung kommt entgegen, dass Microsoft auch in einem anderen Punkt seine Hausaufgaben gemacht hat: Erstmalig existiert mit Server Core eine auf die reinen Server-Funktionen reduzierte Variante eines Microsoft-OS. Der so auf die Kerndienste reduzierte und um die Grafikoberfläche und anderen Ballast kastrierte Server bildet die ideale Grundlage für den Betrieb virtueller Systeme: Der „Host“ ist auf das Notwendigste abgespeckt, und somit reduziert sich auch der Aufwand für die Administration eines solchen Rechners ebenso wie die Fehleranfälligkeit und Angriffsfläche für Attacken.
Der Blick unter die Motorhaube sorgt beim Kenner für ein Schmunzeln, denn die Technologie entpuppt sich als Clone der Xen-Architektur. Dies ist insofern nicht überraschend, als ja bereits 2006 eine weitreichende Kooperationsvereinbarung zwischen Microsoft und XenSource geschlossen wurde (der Xen-Schmiede, welche Ende 2007 von Citrix gekauft wurde). Ein ganzes XenSource-Entwicklerteam hat Microsoft dabei auf das Hypervisor-Pferd geholfen.
Der Kern von Hyper-V ist der Hypervisor - eine schlanke Abstraktionsschicht, welche direkt auf der Hardware läuft. Für die Steuerung sowie die Bereitstellung der Treiber ist die Parent-Partition (oder Root-OS) zuständig - eine schmale Windows 2008 Betriebssysteminstallation mit allen benötigten Tools, welche vom Hypervisor während des Bootvorgangs gestartet wird (s. auch Glossar weiter unten). Die VMs oder Gastsysteme - von Microsoft auch als Child Partitions bezeichnet - werden von der privilegierten Root-Partition aus gesteuert und administriert. Neben Windows 2003 und 2008 sowie Vista und Windows XP (nur SP3) wird erstmalig mit Novell SUSE Enterprise 10 SP1 auch ein Linux offiziell als Gastsystem unterstützt.
Die virtuellen Maschinen werden mittels des Softwarepakets Integration Services für den virtuellen Betrieb optimiert, Microsoft spricht von Enlightenment. Bei Xen nennt man dies Paravirtualisierung. Der Kernel des Gastbetriebssystems wird dabei geringfügig modifiziert, so dass Memory- und CPU-Zugriffe direkt über das Hypercall-API an die physische Hardware weitergeleitet werden. Festplatten- und Netzwerkzugriffe laufen dabei via VMBUS und das Root-OS und werden dort über die normalen Gerätetreiber an die Hardware durchgereicht.
Alternativ zum Paravirtualisierungsmodus können die Gäste - analog zu Xen - auch vollständig virtualisiert laufen, Hyper-V bedient sich dabei der Virtualisierungsunterstützung der CPU. Mit deren Hilfe lassen sich die Child Partitions somit auch unmodifiziert aber mit Performance-Einbußen betreiben.
Management
Die Virtualisierungsrolle bringt eine grafische Managementkonsole mit, welche die Steuerung der VMs lokal oder remote ermöglicht. Dabei bedient sich das System der WMI-Schnittstelle (Windows Management Instrumentation). Assistenten helfen bei der Installation neuer VMs (von einem optischen Datenträger oder einem ISO-Image) sowie bei der Einrichtung virtueller Geräte wie Netzwerkadapter, Laufwerken usw.
Die Installation von Linux-Systemen gestaltet sich dagegen noch sehr unkomfortabel. Hierzu muss der Kernel manuell installiert sowie der GRUB-Bootloader modifiziert werden. Dann sind noch die Integration Components per perl-Script zu installieren. Für Xen vorbereitete Kernel sind ebenfalls bereits lauffähig, werden aber noch nicht offiziell unterstützt. Die Interoperabilität zwischen Hyper-V und Citrix XenServer ist aber in greifbare Nähe gerückt. Citrix arbeitet an einem entsprechenden Installationswerkzeug für Xen-Gäste auf Hyper-V.
Für die Remote-Verwaltung ist als Management-Client momentan noch ein vollwertiger Windows 2008 Server notwendig. Dies wird sich mit den Remote Server Administration Tools (RSAT) ändern, welche dann auch auf Windows Vista laufen.
Für größere Virtualisierungsvorhaben hat Microsoft den System Center Virtual Machine Manager (SCVMM, Arbeitstitel Carmine) geschaffen. Dieser wird jedoch erst ab dem finalen Release von Hyper-V den neuen Hypervisor unterstützen. SCVMM soll dann auch die Produkte von VMware und Citrix XenServer verwalten.
Funktionen
- Unterstützung für 32-Bit- und 64 Bit-Betriebssysteme als Gäste
- Gast-Betriebssysteme: Windows 2003, Windows 2008, SLES 10 SP1
- Hot-Plugging von Prozessoren, Memory und Netzadaptern sowie Laufwerken
- VM-Management-Tools (Import, Export, Cloning)
- VHD-Tools (Komprimierung, Vergrößerung des Dateisystems usw)
- Virtuelle SCSI-Laufwerke
- Clustering von VMs und Hyper-V Servern
- Quick Migration von VMs
- Disk Quorum
- SMP-Unterstützung
- Network Load Balancing (NLB)
- Snapshotting
- Management über System Center für physische wie virtuelle Maschinen
- P2V-Tools im SCVMM Physical-to-virtual
- Volume shadow copy services (VSS): Für automatisiertes Backup im laufenden Betrieb von virtuellen Maschinen einsetzbar
- System Center Operations Manager health monitoring erstreckt sich auch auf VMs
Gerade die Verbindung von Migration und dem Clustering physischer wie virtueller Server wäre eine gute Basis für die Realisierung hochverfügbarer virtualisierter Systeme, wenn das Verschieben der VMs ohne Downtime möglich wäre - ein Feature welches der Microsoft-Hypervisor derzeit nicht bieten kann.
Einige der genannten Funktionen stehen wie Clustering oder NLB stehen nur in den höheren Lizenzvarianten von Windows 2008 Server zur Verfügung.
Die Praxis - Installation und VM-Betrieb
Die Installation des Hypervisors ist gut gelöst und lässt sich einfach bewerkstelligen. Nachdem Windows Server 2008 vollständig oder als Server-Core eingerichtet ist, lässt sich der Virtualisierer als Rolle über den Server Manager installieren. Nach einem Neustart kann das System virtuelle Maschinen ablaufen lassen.

Hyper-V wird als Rolle installiert

Hyper-V als Server-„Rolle“ im Server Manager
In jedem Fall lohnt es sich - speziell bei Intel-Maschinen - vor dem ersten Booten einen Blick ins BIOS zu werfen: Unter Advanced > Processor sollte hier die „Virtualization Technology“ auf Enabled gesetzt werden, damit sich die Virtualisierungsschicht später kooperativ zeigt.
Der positive Eindruck setzt sich bei der Erzeugung von virtuellen Maschinen fort. Diesen Job übernimmt ein Assistent, der Schritt für Schritt die gewünschten Parameter - RAM, Laufwerke, Netzwerkanbindung und Installationsquelle - abfragt. Als Quelle kann derzeit eine CD/DVD oder ein entsprechendes ISO-Image dienen.

Windows 2008 als VM unter Hyper-V

Umfangreiche Konfigurationsmöglichkeiten für VMs
Während der Generierung fällt auf, dass sich das Windows-Betriebssystem in der VM regelrecht durch die Installation quält: Der Festplattendurchsatz ist anscheinend nicht so berauschend. Dies liegt daran, dass im voll virtualisierten Modus die Platten- und Netzwerkzugriffe über eine naturgemäß langsame Emulationsschicht an die Hardware gelangen. Daher empfiehlt es sich, sobald die VM installiert ist, noch die Integration Services einzurichten. Dies ist ein kleines Softwarepaket, welches die Festplatten- und Netzwerktreiber durch paravirtualisierte Artgenossen ersetzt und so für flotte Zugriffe sorgt. Außerdem kann die VM dann kraft nun vorhandener Agents sauber neu gestartet oder in den Schlafzustand versetzt werden. Windows 2008 hat diese Erweiterungen schon an Bord, sie sind als Zusatzpaket für Windows 2003 und Linux erhältlich.
Eine VM kann auch nachträglich problemlos mit neuer „Hardware“ bis hin zu COM-Ports ausgestattet werden. Leider gibt es derzeit (noch?) keine Möglichkeit, nach dem Muster von Xen gezielt PCI- und USB-Geräte exklusiv an VMs durchzureichen. Jedoch verfügt der Administrator über umfangreiche Optionen der Speicherverwaltung. Mit dem VHD-Tool können virtuelle Laufwerke nachträglich mit Hilfe von Assistenten vergrößert oder einem neu hinzugefügten (virtuellen) SCSI-Controller als weitere Platte zugeteilt werden.
Stärken und Schwächen
- Großer Funktionsumfang
- Flexibilität und nahtlose OS-Integration
- Verschiedene Managementoptionen
- HA-Optionen
- Offene Schnittstellen
- Linux-Unterstützung aus administrativer Sicht unzulänglich
- Keine Unterstützung für SCSI-Boot
- Keine (Live) Migration von VMs ohne Ausfallszeiten
- Remote Administration erfordert vollständigen Windows Server 2008 inklusive Hyper-V-Server-Rolle
- Ohne SCVMM ist keine gleichzeitige integrierte Verwaltung mehrerer Server möglich
- Keine Nutzung von PCI- oder USB-Geräten in der VM
Das Abkommen zwischen Microsoft und Citrix/Xen
Als langjährige Partner im Bereich der heute als Presentation Virtualization genannten Technologien wurden in einer Serie von Veröffentlichungen weitreichende Vereinbarungen zur verstärkten Zusammenarbeit im Feld der Virtualisierung bekannt gegeben. Technisch zielt das Abkommen auf Interoperabilität ab. Basis ist das Microsoft VHD-Format, welches die einheitliche Plattform für die Virtualisierungsprodukte der Player sein soll. Citrix arbeitet derzeit an einem Werkzeug, welches es erlauben soll, virtuelle Maschinen zwischen den Hypervisor-Plattformen beider Häuser verschieben zu können.
Citrix sieht sich darüber hinaus genau wie im Bereich Terminal Server / Presentation Server als „Veredler“ der Microsoft-Produkte: Durch seine eigene XenServer-Familie wird ein erweitertes Enterprise-orientiertes Management für Microsofts-basierende Virtualisierungsumgebungen mit HA, Failover und erweiterter Storageunterstützung geboten. Außerdem wird die Xen-Abteilung bei Citrix dafür sorgen, dass Linux-VMs mit optimaler Performance und Stabilität auf Hyper-V-Servern laufen.
Die Vereinbarung erstreckt sich auch auf die Desktopvirtualisierungs-Produktlinie beider Softwarehersteller. Hier wird besonders Microsoft profitieren in einem Kraftakt, Fuß zu fassen im Bereich der End-to-End Virtualisierung.
Die Strategie der beiden Kolosse dürfte klar sein: Der erklärte gemeinsame Gegner ist Markführer VMware, dem diese Allianz das Leben in den nächsten schwerer machen könnte.
Den Anwender freut es: Wettbewerb belebt bekanntermaßen das Geschäft. In diesem Fall bedeutet das konkret eine sehr weitreichende Interoperabilität von Hypervisor und VMs, wie man es sich vor einiger Zeit sicher nicht hätte vorstellen können. Dies eröffnet virtualisierungswilligen Unternehmen und Rechenzentren völlig neue Wahlmöglichkeiten und Alternativen.
Systemvoraussetzungen und Verfügbarkeit
Hyper-V läuft ausschließlich mit der 64-Bit-Version von Windows Server 2008 und setzt für den Betrieb eine CPU mit Intel VT bzw. AMD-V Erweiterungen voraus. Aufgrund seiner Hypervisor-Architektur, bei der das Parent-OS alle Treiber für die VMs bereitstellt, wird praktische jede moderne Hardware unterstützt. Dies ist beispielsweise bei VMware ESX deutlich restriktiver, da man hier auf speziell für diesen Virtualisierer hergestellte Gerätetreiber angewiesen ist und die Geräteauswahl dadurch naturgemäß kleiner ist.
Hyper-V ist Lizenzbestandteil von Windows Server 2008 Standard Edition und damit quasi kostenfrei dabei. Parallel dazu soll eine Standalone Hyper-V-Windows 2008 Version zum symbolischen Preis von 28 Dollar kommen. Windows Server 2008 Standard erlaubt eine virtuelle Instanz pro Lizenz, die Enterprise-Variante deren vier und die Datacenter Edition schließlich unbegrenzt viele.
Hyper-V vs. Citrix XenServer
| Microsoft Hyper-V | XenServer Enterprise 4.1 | |
| Administration | ||
|---|---|---|
| Umfang | Einzelner Server | Multiserver mit Ressourcepools |
| Grafische Managementkonsole | ja | ja |
| Host | ||
| max.nutzbarer RAM | 256 GB | 128 GB |
| Architektur Hypervisor | 64 Bit | 64 Bit |
| SAN-Boot | ja | ja |
| PXE-Boot | ja | ja |
| Unattended Installation | ja | ja |
| Gast | ||
| Gast-Betriebssysteme | Windows 2003 / 2008 / Vista / XP (SP3), SLES 10 SP1 | Windows 2000, XP, 2003, Vista, SLES 9/10 SP1, RHEL 3/4/5, Oracle Linux, Debian |
| RAM pro Gast | 64 GB | 32 GB |
| Architektur VMs | 32 Bit, 64 Bit | 32 Bit, 64 Bit |
| max. virtuelle CPUs | 4 | 8 |
| Dateiformat | VHD | VHD (Windows), LVM (Linux) |
| VLAN | ja | ja |
| QoS (CPU, Platte, Netz) | nein | ja |
| beschleunigende Windows-PV-Treiber | ja | ja |
| virtuelle SCSI-Laufwerke | ja | nein |
| Hot-Plugging von VM-„Hardware“ | CPU, RAM, Laufwerke, Nics | CPU, RAM, Laufwerke, Nics |
| VM-Operationen | Export, Import, Cloning | Export, Import, Cloning, Templates für Installation |
| Management | ||
| Ressourcenpools | nein | ja |
| Shared Storage | ja, SAN | ja, SAN, NFS |
| Migration | „Quick“, mit Downtime | „Live“, ohne Downtime |
| Clustering physisch | ja | nein 2 |
| Clustering VMs | ja | nein 2 |
| Online Backup integriert | ja | nein |
| Snapshotting | ja | nein |
| P2V | nein 1 | ja, Linux |
| Failover/HA | nein | nein |
Legende:
1 = via SCVMM (noch nicht freigegeben)
2 = XenServer Platinum Edition
Anmerkungen:
- Verglichen wurden jeweils die höchsten - also vollausgestatteten - Editionen beider Produkte.
- XenServer wird Windows 2008 Server offiziell als Gast ab Version 4.2 (angekündigt für Q2/2008) unterstützen. Da ab 4.1 Vista unterstützt wird, funktioniert vermutlich auch Windows 2008 bereits.
Hyper-V in Zahlen
| Limits Virtueller Maschinen | |
| SCSI-Controller pro VM | 4 |
| Geräte je SCSI-Controller | 7 |
| Max. Größe virtueller SCSI-Platten | 2 TB |
| Max. Speichergröße | 56 TB |
| Virtuelle CPUs je VM | 4 (1 bei W2k3) |
| Max. Größe des RAMs je VM | 64 GB |
| Virtuelle NICs je VM | 8 |
| IDE-Geräte je VM | 4 |
| Limits des Hyper-V Hosts | |
| Anzahl virtueller Netzwerke | 128 |
| Max. nutzbarer RAM | 256 GB |
| Max. Anzahl physischer NICs | 9999 |
| Max. Anzahl Hosts in Clustering-Pool | 8 |
Glossar der Hyper-V-Terminologie
Hypervisor
Software-Komponente zur Schaffung virtualisierender Systeme Hyper-V ist ein „Hypervisor Typ 1“: Der Hypervisor läuft direkt auf der Hardware – die Gäste nutzen die Ressourcen, die vom Hypervisor bereitgestellt werden.
Root Partition
Privilegierte virtuelle Maschine, in welcher die Management-Tools laufen und welche die Hardwaretreiber für die Gastsysteme (child partitions) bereitstellt. Von hier aus werden die virtuellen Maschinen gestartet und gesteuert.
Child Partition
Virtuelle Maschine.
Emuliertes Gerät
Virtuelle Hardware, welche den virtuellen Maschinen als Geräte präsentiert werden. Diese werden dabei emuliert, also in ihrem Verhalten nachgebildet, z.B. eine NE2000-Netzwerkkarte oder eine VGA-Grafikkarte. Emulierte Geräte können von den Windows-Betriebssystemen sofort erkannt und genutzt werden, weisen jedoch durchweg eine schlechte Performance auf.
Synthetischer Treiber
Zum Beispiel Netzwerk- oder Festplatten-Gerätetreiber, welche speziell für mit Hyper-V virtualisierte Betriebssysteme entworfen und dafür optimiert sind. Im Gegensatz zur Emulation weisen sie eine fast native Performance auf, jedoch muss das virtualisierte Betriebssystem auf die Nutzung dieser Treiber hin ausgerichtet sein, das heißt also eine Modifikation erfahren. Bei Xen spricht man hier von paravirtualisierten Treibern.
Integration Services
Ein Hyper-V-Dienstepaket, welches im virtualisierten System eingerichtet wird und die Kommunikation mit dem Hypervisor ermöglicht, z.B. um Befehle entgegenzunehmen wie „Herunterfahren“, „Pausieren“, „Uhrzeit synchronisieren“ usw.
Enlightenment
Bezeichnet die Anpassung des virtualisierten Betriebssystems, im wesentlichen des Kernels, so dass das Betriebssystem „weiß“, dass es virtualisiert wird und über spezielle Mechanismen wie paravirtualisierte Treiber und den VMBus direkt mit dem Hypervisor kommuniziert statt ggf. unzulässige Befehle an die Hardware zu senden. Dies ermöglicht einen sehr effizienten Betrieb des OS. Bei Xen wird diese Technik als Paravirtualisierung bezeichnet.
Weblinks
http://www.microsoft.com/virtualization/default.mspx
http://www.microsoft.com/germany/windowsserver2008/virtualisierung.mspx
Test des SCVMM in Computerwoche
Gegenüberstellung Vmware vs Hyper-V
Microsoft System Center Virtual Machine Manager Home
Übersicht der Storageoptionen in Hyper-V
— Andrej Radonic 08.03.2008, 11:40




[Kommentare erwünscht]