Zwei oft gestellte, aber nur selten beantwortete Fragen zu Hyper-V drehen sich um die Auslagerungsdatei und um Hyper-Threading.
Erst die einfache:
Soll ich Hyper-Threading für die CPUs auf meinem Hyper-V-Server ein- oder ausschalten?
Hyper-Threading ist eine ältere Form der CPU-Virtualisierung innerhalb des Prozessors. Vor einigen Jahren hat Intel seinen Prozessoren Funktionen spendiert, durch die diese sich nach außen wie mehrere CPUs zu erkennen geben. Das ist nicht zu verwechseln mit Multi-Core-CPUs, in denen tatsächlich mehrere (fast) vollständige CPU-Kerne innerhalb eines Prozessors zusammengefasst sind.
Die Frage ist in verschiedenen Entwicklungsstufen der Technik unterschiedlich beantwortet worden. Daher gibt es hier keine eindeutige Antwort, sondern das Optimum hängt immer vom konkreten Fall ab. Wenn wir aber davon ausgehen, dass Hyper-V-Systeme üblicherweise auf sehr aktuellen Servern eingerichtet werden, dann dürfte “einschalten” gefahrlos und meist sogar hilfreich sein:
The concern with Hyper-V and hyper-threading is that you assign a number of processor cores to each virtual machine (VM). Imagine that you assign one processor each to two guest VMs from the Hyper-V management console, thinking that each is going to use a separate core. What if the hypervisor assigns each of the VMs to the same physical core, with each getting a virtual core? You’d potentially get lousy performance and three physical cores not doing much, where you’d have liked each VM to get its own physical core.
Fortunately, this isn’t the case. Microsoft has done a lot of work around Hyper-Threading and Hyper-V. Essentially, while Hyper-Threading will aid performance sometimes, it will never hurt performance, so Hyper-Threading should be enabled.
(Quelle: [Q. Does Hyper-Threading affect Hyper-V?]
http://www.windowsitpro.com/article/virtualization/q-does-hyper-threading-affect-hyper-v-.aspx)
Einige Argumente aus der Diskussion finden sich in diesem Thread:
[hyperthreading – Hyper-V and Hyper-threading: On or off? – Server Fault]
http://serverfault.com/questions/47411/hyper-v-and-hyper-threading-on-or-off
Wie groß sollte die Auslagerungsdatei auf dem “Host” sein?
Die Auslagerungsdatei (pagefile) ist eines der wesentlichen Elemente der Windows-Speicherverwaltung. Für “allgemeine” Serversysteme gilt die Regel: Pagefile gleich anderthalb mal RAM. Aber wie ist das bei Hyper-V-Hostservern, die ja meist mit sehr viel RAM ausgestattet sind, von denen das meiste ohnehin nie ausgelagert wird (weil es ja an die VMs zugewiesen ist)?
Dazu hat Rob Waggoner einen schönen Artikel geschrieben. Die kurze Antwort ist auch hier: “Kommt drauf an.”
Die längere Antwort (von mir ergänzt): Da der Host üblicherweise nur zwischen 2 und 4 GB RAM selbst verwaltet, kann man diesen Wert als Grundlage für das Host-Pagefile nutzen, wenn der Plattenplatz knapp ist. Da viele Hyper-V-Systeme aber mit lokalen Platten für das Host-Betriebssystem ausgestattet sind und die VMs dann im SAN ablegen, würde man in so einer Situation eher die Systemvorgabe übernehmen. Viele Admins verlegen die Auslagerungsdatei auch auf ein separates Laufwerk – dies muss dann aber eine dedizierte phsyische Platte sein, auf keinen Fall nur eine Partition oder gar ein Laufwerk, auf dem noch andere I/O-Last liegt.
[How big Should PageFile.sys be on a Server 2008 Hyper-V Server?]
http://blogs.technet.com/b/rwagg/archive/2010/03/08/how-big-should-pagefile-sys-be-on-a-server-2008-hyper-v-server.aspx
Update 31. Januar 2011: Michel Lüscher hat gewissermaßen auf diesen Artikel geantwortet und einige Details hinzugefügt:
[Wie viel (Virtual) Memory braucht ein Hyper-V Host? | Server Talk]
http://www.server-talk.eu/2011/01/31/wie-viel-virtual-memory-braucht-ein-hyper-v-host/
http://faq-o-matic.net/?p=2903