none
Frage zu CPU´s auf Hyper-V Hosts RRS feed

  • Frage

  • Hallo zusammen,

    ich habe mal eine grundsätzliche Frage. Wir haben einen HyperV-Host mit 2 Prozessoren und je Prozessor 8 Kerne.

    Wenn ich nun eine virtuelle Maschine mit 16 vCPU´s installieren will, funktioniert das dann überhaupt? Ich kann zwar 16 Prozessoren auswählen, und es werden in der VM selbst dann auch 16 Prozessoren angezeigt, aber läuft die VM dann auch wirklich mit 16 Prozessoren?

    Vielen Dank für Eure Hilfe.

    Viele Grüße aus Hannover

    Tom

    Mittwoch, 19. Oktober 2016 07:33

Antworten

  • Moin,

    da muss ich Ben leider widersprechen. vCPU und pCPU haben sehr wohl was miteinander zu tun. Nämlich: Pro Rechenzyklus mappt der Hypervisor jede vCPU auf einen dedizierten physischen Kern. Und bis diese Anzahl Kerne gleichzeitig frei sind, kann diese VM nicht rechnen und muss warten.

    Insofern kannst Du theoretisch zwar schon einer VM auf dem geschilderten System 16 vCPUs zuweisen (da Du ja vermutlich eh HyperThreading anhast, hast Du insgesamt 32 Kerne zu vergeben), aber über die Sinnhaftigkeit dessen musst Du bitte wirklich gut nachdenken.

    Wenn Du einen Workload hast, der wirklich parallelisieren kann, kann sich so eine Monster-VM lohnen, ansonsten Faustregel: Bei 2 vCPU anfangen und nur erhöhen, wenn wirklich zu erwarten ist, dass es was bringen wird - Performance Counter im Host und im Gast analysisieren und fundierte Schlüsse ziehen.


    Evgenij Smirnov

    msg services ag, Berlin -> http://www.msg-services.de
    my personal blog (in German) -> http://it-pro-berlin.de
    my stuff in PSGallery --> https://www.powershellgallery.com/profiles/it-pro-berlin.de/
    Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
    Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.com


    In theory, there is no difference between theory and practice. In practice, there is.

    Mittwoch, 19. Oktober 2016 08:08
  • Hi Tom,

    ja, pro Hyper-V-Host kannst Du 128 vCPUs verteilen, wobei Du bei der Rechnung auch berücksichtigen musst, dass ein Hyper-V-Host in der Lage sein muss, zumindest vorübergehend auch die Maschinen eines anderen Hosts zu übernehmen, falls dieser ausfällt. Wenn Du also auf allen Hosts die volle Anzahl an vCPUs verwendest, würdest Du im Falle eines Ausfalls die jeweils anderen Hosts überbelasten.

    Es kommt natürlich immer auf den Einzelfall an; die Server werden dann nicht ausfallen, aber zumindest evtl. langsamer laufen.

    SQL Server-Lizenzierung ist ein übles Thema... Da wirst Du die unterschiedlichsten Aussagen dazu bekommen. MW musst Du für SQL Server alle (!) physischen Prozessoren Deiner Host-Systeme lizenzieren, da Du den virtuellen SQL-Server ja auch auf einen anderen Host migrieren kannst (Live-Migration). Das kann sehr schnell sehr teuer werden, weswegen eine CAL-basierte Lizenzierung evtl. günstiger werden kann.

    Es sei denn, Ihr wollt Enterprise einsetzen, da geht mW nur Core-Lizenzierung.


    Liebe Grüße

    Ben

    ____________________________

    MCSA Office 365

    MCSA SQL Server 2014

    MCITP Windows 7

    MCSA Windows 8/10

    MCSE Server Infrastructure

    ____________________________

    Wenn Dir meine Antwort hilft, markiere sie bitte entsprechend als Antwort. Danke! :-).

    Mittwoch, 19. Oktober 2016 08:10

Alle Antworten

  • Hi Tom,

    Du musst hier zwischen physischen und virtuellen CPUs unterscheiden. Das eine hat grundlegende überhaupt nichts mit dem anderen zu tun.

    Der Hypervisor (Hyper-V) bietet je nach zugrundeliegender Betriebssystem-Version unterschiedliche maximale Anzahlen an virtuellen CPUs pro Host an.
    Windows Server 2008 R2: maximal 512 virtuelle CPUs, verteilt auf maximal 384 virtuelle Maschinen
    Windows Server 2012 R2: maximal 2048 virtuelle CPUs, verteilt auf maximal 1024 virtuelle Maschinen
    Windows Server 2016: wie 2012 R2

    Diese verwenden dann einen gewissen prozentualen Anteil der physischen CPU-Kerne, Microsoft verwendet hier ein Verhältnis von 8:1 (d.h. pro physischem CPU-Kern solltest Du maximal 8 virtuelle CPU-Kerne verwenden; in Deinem Beispiel könntest Du also maximal 128 vCPUs auf virtuelle Maschinen verteilen).

    Du musst Dir also bei jeder VM genau überlegen, wieviel Leistung sie vom Gesamtsystem abzwacken darf und die virtuelle Hardware entsprechend konfigurieren.


    Liebe Grüße

    Ben

    ____________________________

    MCSA Office 365

    MCSA SQL Server 2014

    MCITP Windows 7

    MCSA Windows 8/10

    MCSE Server Infrastructure

    ____________________________

    Wenn Dir meine Antwort hilft, markiere sie bitte entsprechend als Antwort. Danke! :-).

    Mittwoch, 19. Oktober 2016 07:44
  • Hallo Ben,

    das heißt pro HyperV-Host kann ich dann 128 Prozessoren verteilen? Wir haben 3 HyperV-Host, dann können wir also 384 Prozessoren in der ganzen Umgebung verteilen.

    Hintergrund meiner Frage ist, dass wir einen Anbieter haben der pro SQL-Server 8 Cores möchte. Diese muss ich dann ja auch bei MS lizenzieren, nicht dass ich die Cores lizenziere und es bringt nichts.

    Viele Grüße

    Tom

    Mittwoch, 19. Oktober 2016 08:02
  • Moin,

    da muss ich Ben leider widersprechen. vCPU und pCPU haben sehr wohl was miteinander zu tun. Nämlich: Pro Rechenzyklus mappt der Hypervisor jede vCPU auf einen dedizierten physischen Kern. Und bis diese Anzahl Kerne gleichzeitig frei sind, kann diese VM nicht rechnen und muss warten.

    Insofern kannst Du theoretisch zwar schon einer VM auf dem geschilderten System 16 vCPUs zuweisen (da Du ja vermutlich eh HyperThreading anhast, hast Du insgesamt 32 Kerne zu vergeben), aber über die Sinnhaftigkeit dessen musst Du bitte wirklich gut nachdenken.

    Wenn Du einen Workload hast, der wirklich parallelisieren kann, kann sich so eine Monster-VM lohnen, ansonsten Faustregel: Bei 2 vCPU anfangen und nur erhöhen, wenn wirklich zu erwarten ist, dass es was bringen wird - Performance Counter im Host und im Gast analysisieren und fundierte Schlüsse ziehen.


    Evgenij Smirnov

    msg services ag, Berlin -> http://www.msg-services.de
    my personal blog (in German) -> http://it-pro-berlin.de
    my stuff in PSGallery --> https://www.powershellgallery.com/profiles/it-pro-berlin.de/
    Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
    Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.com


    In theory, there is no difference between theory and practice. In practice, there is.

    Mittwoch, 19. Oktober 2016 08:08
  • Hi Tom,

    ja, pro Hyper-V-Host kannst Du 128 vCPUs verteilen, wobei Du bei der Rechnung auch berücksichtigen musst, dass ein Hyper-V-Host in der Lage sein muss, zumindest vorübergehend auch die Maschinen eines anderen Hosts zu übernehmen, falls dieser ausfällt. Wenn Du also auf allen Hosts die volle Anzahl an vCPUs verwendest, würdest Du im Falle eines Ausfalls die jeweils anderen Hosts überbelasten.

    Es kommt natürlich immer auf den Einzelfall an; die Server werden dann nicht ausfallen, aber zumindest evtl. langsamer laufen.

    SQL Server-Lizenzierung ist ein übles Thema... Da wirst Du die unterschiedlichsten Aussagen dazu bekommen. MW musst Du für SQL Server alle (!) physischen Prozessoren Deiner Host-Systeme lizenzieren, da Du den virtuellen SQL-Server ja auch auf einen anderen Host migrieren kannst (Live-Migration). Das kann sehr schnell sehr teuer werden, weswegen eine CAL-basierte Lizenzierung evtl. günstiger werden kann.

    Es sei denn, Ihr wollt Enterprise einsetzen, da geht mW nur Core-Lizenzierung.


    Liebe Grüße

    Ben

    ____________________________

    MCSA Office 365

    MCSA SQL Server 2014

    MCITP Windows 7

    MCSA Windows 8/10

    MCSE Server Infrastructure

    ____________________________

    Wenn Dir meine Antwort hilft, markiere sie bitte entsprechend als Antwort. Danke! :-).

    Mittwoch, 19. Oktober 2016 08:10