Hyperthreading mit Hyper V und virtualisiertem Terminalserver
Hallo zusammen,
ich hab da mal eine Frage:
wir haben ein Modular Server System im Einsatz. Die einzelnen Blades laufen unter Windows 2008 Server R2 Enterprise und Hyper V.
Wir haben auf einem Blade einen Terminalserver, den Fileserver und einen kleinen Datenbankserver für ein PDM System virtualisiert.
Der Maschine stehen 2 Xeon E5620 mit je 4x 2,4 GHz zur Verfügung. Mit eingeschaltetem Hyperthreading sind es dann 16 logische Prozessoren. Nun zu meinem eigentlichen Anliegen:
Ich kann ja unter Hyper V maximal 4 virtuelle Prozessoren zuweisen, also einem virtualisierten System mit Hyperthreading maximal 25% und mit ausgeschaltetem HT maximal 50% der Leistung, oder habe ich da einen Denkfehler?
Da auf dem System nur 3 Maschinen virtualisiert sind, plane ich das HT abzuschalten und dem Terminalserver 4 Prozessoren zuzuweisen und den anderen beiden jeweils 2. Da der Fileserver und auch der Datenbankserver seltenst ausgelastet sein, sollte so auch noch genug Rechenleistung für den Host zur Verfügung stehen.
Was sagt ihr dazu?
VG
Olaf
P.S. Nur der Vollständigkeit halber. Auf dem betroffenen Blade sind 64 GB Arbeitsspeicher verbaut.
ich hab da mal eine Frage:
wir haben ein Modular Server System im Einsatz. Die einzelnen Blades laufen unter Windows 2008 Server R2 Enterprise und Hyper V.
Wir haben auf einem Blade einen Terminalserver, den Fileserver und einen kleinen Datenbankserver für ein PDM System virtualisiert.
Der Maschine stehen 2 Xeon E5620 mit je 4x 2,4 GHz zur Verfügung. Mit eingeschaltetem Hyperthreading sind es dann 16 logische Prozessoren. Nun zu meinem eigentlichen Anliegen:
Ich kann ja unter Hyper V maximal 4 virtuelle Prozessoren zuweisen, also einem virtualisierten System mit Hyperthreading maximal 25% und mit ausgeschaltetem HT maximal 50% der Leistung, oder habe ich da einen Denkfehler?
Da auf dem System nur 3 Maschinen virtualisiert sind, plane ich das HT abzuschalten und dem Terminalserver 4 Prozessoren zuzuweisen und den anderen beiden jeweils 2. Da der Fileserver und auch der Datenbankserver seltenst ausgelastet sein, sollte so auch noch genug Rechenleistung für den Host zur Verfügung stehen.
Was sagt ihr dazu?
VG
Olaf
P.S. Nur der Vollständigkeit halber. Auf dem betroffenen Blade sind 64 GB Arbeitsspeicher verbaut.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 193780
Url: https://administrator.de/contentid/193780
Ausgedruckt am: 20.11.2024 um 10:11 Uhr
4 Kommentare
Neuester Kommentar
Sers,
Du könntest natürlich auch den HVS2012 als Basis nehmen, der kann weit mehr logische Prozessoren zuordnen. Die Aussage von MS zu HT bei der Virtualierung ist dass sie eventuell nichts bringt, aber keinesfalls schadet. Quelle: http://blogs.msdn.com/b/virtual_pc_guy/archive/2011/02/14/hyper-v-cpu-s ... . Das ändert sich für den 2008r2 als Hypervisor erst wenn du auf über 64 logische echte Kerne (nicht vCore!) kommst.
Warum verteilst du den TS Host nicht auf 2 VMs? Wie es aussieht verwendest du derzeit ja nur 3 der 4 VM Lizenzen die der Enterprise Server mitbringt. Auf die Art hättest du den Vorteil dass du einen der beiden Warten kannst während der andere die restlichen User aufnimmt. Dank Dynamic Memory wird es also maximal ein wenig langsamer für die User von der CPU-Seite, aber vom Speicher her wäre es kein Problem.
Wenn es letztenendes beim einem TS Host bleibt, dann wäre ein deaktiviertes HT für die Performance wahrscheinlich besser. Wir bräuchten dazu eben ein paar Informationen. Wie stark ist die Auslastung der Kerne, wieviel Spielraum ist da drin, etc, etc..
Was m.E. bei dir viel eher etwas bringen könnte ist ein NUMA Lock (Allgemeine Hyper-V Einstellungen), sprich dass CPU1 nicht auf den Speicher von CPU2 zugreift. Das kann recht gut Performance kosten. Wobei... bei 2 CPUs geht das eigentlich noch, da ist der Interconnect beim 56xxer fix genug. Musst halt mal austesten.
Grüße, Philip
:edit:
Super, danke dir @kristov. Den Artikel hatte ich nicht mehr gefunden
Du könntest natürlich auch den HVS2012 als Basis nehmen, der kann weit mehr logische Prozessoren zuordnen. Die Aussage von MS zu HT bei der Virtualierung ist dass sie eventuell nichts bringt, aber keinesfalls schadet. Quelle: http://blogs.msdn.com/b/virtual_pc_guy/archive/2011/02/14/hyper-v-cpu-s ... . Das ändert sich für den 2008r2 als Hypervisor erst wenn du auf über 64 logische echte Kerne (nicht vCore!) kommst.
Warum verteilst du den TS Host nicht auf 2 VMs? Wie es aussieht verwendest du derzeit ja nur 3 der 4 VM Lizenzen die der Enterprise Server mitbringt. Auf die Art hättest du den Vorteil dass du einen der beiden Warten kannst während der andere die restlichen User aufnimmt. Dank Dynamic Memory wird es also maximal ein wenig langsamer für die User von der CPU-Seite, aber vom Speicher her wäre es kein Problem.
Wenn es letztenendes beim einem TS Host bleibt, dann wäre ein deaktiviertes HT für die Performance wahrscheinlich besser. Wir bräuchten dazu eben ein paar Informationen. Wie stark ist die Auslastung der Kerne, wieviel Spielraum ist da drin, etc, etc..
Was m.E. bei dir viel eher etwas bringen könnte ist ein NUMA Lock (Allgemeine Hyper-V Einstellungen), sprich dass CPU1 nicht auf den Speicher von CPU2 zugreift. Das kann recht gut Performance kosten. Wobei... bei 2 CPUs geht das eigentlich noch, da ist der Interconnect beim 56xxer fix genug. Musst halt mal austesten.
Grüße, Philip
:edit:
Super, danke dir @kristov. Den Artikel hatte ich nicht mehr gefunden
Hallo Olaf,
ich freue mich sehr über Deinen Beitrag, weil ich sehr gespannt bin, wie das in der Praxis gehandhabt wird. Grundsätzlich hört sich Dein Vorhaben richtig und vernünftig an. Wäre da nur nicht die Sache mit dem Überbuchen:
Kann in diesem Zuge irgendjemand die Aussagen von Hyper-V-Sizing: Virtuelle und echte CPUs bestätigen, handhabt das jemand so und gilt das ganze auch für Server 2008 (Hyper-V V1)?
kristov
ich freue mich sehr über Deinen Beitrag, weil ich sehr gespannt bin, wie das in der Praxis gehandhabt wird. Grundsätzlich hört sich Dein Vorhaben richtig und vernünftig an. Wäre da nur nicht die Sache mit dem Überbuchen:
Kann in diesem Zuge irgendjemand die Aussagen von Hyper-V-Sizing: Virtuelle und echte CPUs bestätigen, handhabt das jemand so und gilt das ganze auch für Server 2008 (Hyper-V V1)?
kristov
Der Hyper-V Server (HVS, nicht regulärer Windows Server)) 2012 ist wie auch der Hyper-V Server 2008 r2 kostenlos. Der einzige Unterschied ist dass du auf deinem VM-Host, dadurch dass du wohl keine Core-Installation nimmst, eine schöne klicki-bunti Oberfläche hast.
Für nen HVS brauchst du auch keinerlei CALs.
Und ich würde auch mehr als eine CPU für den Fileserver bereit stellen. Bei deaktiviertem HT und deinen 8 echten Kernen würde ich wie du schon gesagt hast, 4 vKerne dem TS Host geben, samt Reservierung von 50% der Leistung. Dem Datenbankserver würde ich 4 vKerne geben, bei 25% Reservierung und mindestens 2 vKerne bei 50% Reservierung wenn nicht sogar ebenfalls 4 vKerne bei 25% Reservierung.
Du *willst* immer mindestens 2 vKerne pro Server. Es geht auch mit 1, aber das macht keinen Spass, speziell wenn z.B. beim Fileserver ein Virenscanner mitläuft, etc etc pp.
Der Host wird sich auf jeden Fall genug Ressourcen für sich selbst zurückhalten. In meinem Beispiel kann er sich bis zu 4 echte Kerne an Leistung unter den Nagel reissen. Plan zur Vorsicht vom RAM her mal mindestens 1 GB extra für ihn ein.
Und an sonsten... Beim DB Server solltest du überlegen ob du evtl. ohne Dynamic Memory arbeitest. Kommt aber stark auf die DB an. Wenn du es einsetzen willst, dimensionier großzügig mit min. 25% Überhang.
Kostet auch etwas Performance, da es für das System erscheint als ob da wer RAM Riegel rein und rauszieht. (Im Gegensatz zur VMware-Lösung wo Dynamischer Speicher im Prinzip Overprovisioning vom RAM ist)
Für nen HVS brauchst du auch keinerlei CALs.
Und ich würde auch mehr als eine CPU für den Fileserver bereit stellen. Bei deaktiviertem HT und deinen 8 echten Kernen würde ich wie du schon gesagt hast, 4 vKerne dem TS Host geben, samt Reservierung von 50% der Leistung. Dem Datenbankserver würde ich 4 vKerne geben, bei 25% Reservierung und mindestens 2 vKerne bei 50% Reservierung wenn nicht sogar ebenfalls 4 vKerne bei 25% Reservierung.
Du *willst* immer mindestens 2 vKerne pro Server. Es geht auch mit 1, aber das macht keinen Spass, speziell wenn z.B. beim Fileserver ein Virenscanner mitläuft, etc etc pp.
Der Host wird sich auf jeden Fall genug Ressourcen für sich selbst zurückhalten. In meinem Beispiel kann er sich bis zu 4 echte Kerne an Leistung unter den Nagel reissen. Plan zur Vorsicht vom RAM her mal mindestens 1 GB extra für ihn ein.
Und an sonsten... Beim DB Server solltest du überlegen ob du evtl. ohne Dynamic Memory arbeitest. Kommt aber stark auf die DB an. Wenn du es einsetzen willst, dimensionier großzügig mit min. 25% Überhang.
Kostet auch etwas Performance, da es für das System erscheint als ob da wer RAM Riegel rein und rauszieht. (Im Gegensatz zur VMware-Lösung wo Dynamischer Speicher im Prinzip Overprovisioning vom RAM ist)