olafvd
Goto Top

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.

Content-Key: 193780

Url: https://administrator.de/contentid/193780

Printed on: April 25, 2024 at 10:04 o'clock

Member: psannz
psannz Nov 06, 2012 updated at 08:41:38 (UTC)
Goto Top
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 face-smile
Member: kristov
kristov Nov 06, 2012 at 08:38:51 (UTC)
Goto Top
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
Member: olafvd
olafvd Nov 06, 2012 updated at 08:53:32 (UTC)
Goto Top
Vielen Dank für Deine Antwort. 2012 war in der Überlegung, ist aber vor dem Hintergrund, dass wir das Serversystem erst Anfang des Jahres komplett erneuert haben und auch wieder User-CAL´s gekauft haben eher in den Hintergrund gerückt.

Die Kerne an sich haben eigentlich eher Langeweile. Ich kann ja im Hyper-V-Manager die CPU-Auslastung sehen und da liegt der Fileserver als auch der Datenbankserver bei maximal 1 %. Beim Terminalserver sind es bis zu 18 %.

NUMA habe ich bereits deaktiviert.

Ich denke, ich werde die Deaktivierung von HT heute abend einfach mal ausprobieren. Könnte es sein, dass das Betriebssystem dann nicht mehr startet, weil es nicht mehr so viele Prozessoren wie vorher erkennt? (Ist vielleicht ne blöde Frage...)

VG

Olaf

@kristov

Ich müsste theoretisch noch nicht einmal überbuchen. Ich könnte die Struktur auch so aufbauen:

Fileserver erhält eine CPU (der wird in Zukunft eh immer weniger zu tun haben, da wir unsere Daten in ein PDM einpflegen)
Datenbankserver erhält zwei CPU´s (der wird in Zukunft mehr zu tun haben, da er der PDM-Server ist)
Terminalserver erhält 4 CPU´s
Dann bleibt noch eine CPU für den Host.

Müsste doch passen, oder?

Wenn zukünftig noch weitere Aufgaben dazukommen, gibt es eben ein drittes Blade.
Member: psannz
psannz Nov 06, 2012 updated at 11:07:22 (UTC)
Goto Top
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)