Beinahe täglich beantworte ich die Frage erstaunter Anwender, warum auf einem Hyper-V-Host keine weiteren Dienste neben der Hyper-V-Rolle laufen sollten. Da wird es Zeit, das mal grundsätzlich hier zu beantworten.
Technisch ist es möglich, Dienste in der Parent Partition (“auf dem Host”) auszuführen. Es ist aber dringend davon abzuraten – je nach Applikation ist diese Konfiguration sogar “unsupported”, denn: Anders als viele annehmen, ist der “Host” mitnichten unbeschäftigt, wenn er keine weiteren Dienste ausführt. Ganz im Gegenteil steht er bei allen Virtualisierern ziemlich unter Dampf, denn er führt ja die VMs aus!
Bei Hyper-V und den anderen Paravirtualisierern kommt noch ein weiterer Umstand dazu: Jeder I/O (also jeder Netzwerk- oder Storage-Zugriff) wird durch die Parent Partition geleitet, weil dort die Treiber installiert sind. Wenn die Parent Partition nun noch weitere Dienste ausführen muss, stehen die dafür nötigen Ressourcen nicht dem VMs zur Verfügung. Wer also weitere Dienste auf dem “Host” installiert, schadet seiner gesamten Virtualisierungsumgebung.
Es gibt aber auch Sicherheitsprobleme, wenn neben Hyper-V weitere Anwendungen laufen. Da die Parent Partition in Hyper-V (ebenso wie etwa in XenServer) eine privilegierte Stellung hat und über den VMBus den gesamten ein- und ausgehenden Datenverkehr sämtlicher VMs steuert, darf sie nicht kompromittiert werden. Schon dadurch verbietet sich der Einsatz weiterer Dienste auf dem “Host”.
Dazu kommt, dass die Netzwerkkonfiguration der Parent Partition sich verändert, sobald man Hyper-V aktiviert. Jede zugewiesene Netzwerkkarte wird zu einem virtuellen Switch, und die VMs erhalten zugriff auf virtualisierte (“synthetische”) Netzwerkkarten. Jeder nicht durch Hyper-V kontrollierte Netzwerkzugriff wird so zu einem immensen Risiko für Stabilität und Sicherheit.
Und nicht zuletzt gibt es auch lizenzrechtliche Einschränkungen*: Wer die Standard- oder Enterprise Edition von Windows Server 2008/R2 einsetzt, bekommt mit der Lizenz für den physischen Server eine bzw. vier VM-Lizenzen mitgeliefert. Man darf mit derselben Lizenz, die auf der Hardware “installiert” ist, also eine bzw. bis zu vier VMs mit Windows Server 2008/R2 betreiben, ohne zusätzlich Geld auszugeben. Das gilt aber nur, solange die physische Installation nichts außer der Hyper-V-Rolle ausführt (sowie die direkt dazu gehörenden Management-Werkzeuge). Aktiviert man “auf dem Host” eine weitere Rolle oder installiert einen zusätzlichen Dienst, so benötigt auch die Parent Partition eine eigene, separate Lizenz.
Also: Ein Hyper-V-Host ist ein Hyper-V-Host ist ein Hyper-V-Host. Er ist kein Fileserver, DC, Backupserver oder was auch immer. Solche Dienste installiert man als VM und lässt sie dann innerhalb von Hyper-V laufen. Ein totales No-Go ist es, die Hyper-V-Rolle nachträglich auf einem Produktionsserver zu aktivieren, der bereits Dienste ausführt.
Dabei ist natürlich auch zu berücksichtigen, dass die Parent Partition über genügend Reserven verfügen muss, um ihrer Aufgabe gerecht zu werden. Ein Daumenwert sind 2-4 GB Speicher und eine bis zwei vCPU für den Host (entspricht “einem halben bis ganzen Core”). Gönnt man ihm zu wenig, wird die gesamte VM-Umgebung des Servers instabil laufen und vor Performanceproblemen stehen.
(*Aussagen zu Microsofts Lizenzbedingungen sind hier nicht rechtsverbindlich und dienen nur der Illustration der Zusammenhänge.)
http://faq-o-matic.net/?p=2315