none
Hyper-V 2012 R2 CPU / Kerne zuweisen einer VM RRS feed

  • Frage

  • Hallo zusammen,

    ich komme aus der VMware Welt und wir sind derzeit dabei VMware durch Hyper-V abzulösen (soweit es geht)

    Derzeit haben wir 4 Knoten mit 170 VMs und ich habe eine Frage zu dem Thema CPU / Kerne Zuordnung der VM.

    Unter VMware konnte ich einer VM 1 oder mehrere Sockets mit x Kernen zur Verfügung stellen. Dann hatte ich in der VM z. B. die Ansicht von 2 CPUs und 2 Kernen.

    Die Einstellung vermisse ich in Hyper-V. Kann ich dort nicht auch einer VM z. B. 2 vCPUs zur Verfügung stellen, aber er nutzt unterschiedliche Kerne auf zwei verschiedenen physikalischen CPUs? Also 2 Sockets und 1 Kern.

    Aktuell: Gebe ich einer VM unter Hyper-V z. B. 4 logische CPUs, sieht das OS einen Prozessor mit 4 Kernen. Für SQL Server ist das die beste variante. Aber es gibt auch Anforderungen (Die eigentlich dumm sind aber es gibt menschen die wollen im Taskmanager 2 CPUs und 2 Kerne sehen) 2 CPUs und 2 Kernen zuzuweisen.

    Wie kann man das unter Hyper-V realisieren. Falls es nicht geht, gibt es eine offizielle Bestätigung von MS?

    MfG

    FaFu

    Donnerstag, 23. Juni 2016 13:59

Antworten

  • Hallo FaFu, 

    eine Zuordnung von direkten CPUs und Kernen ist in Hyper-V nicht möglich. Du gibts einer VM eine Anzahl virtuelle CPUs. Diese Workload wird dann über alle vorhanden physischen CPUs verteilt. 

    Infos: 

    Configure Memory and Processors

    Plan for Hyper-V scalability in Windows Server 2016

    Requirements and Limits for Virtual Machines and Hyper-V in Windows Server 2008 R2

    Wenn du 2 CPUs und 2 Kerne brauchst, dann weis 4 vCPUs zu. Dann siehst du aber auch 4 CPUs 


    Kind regards, Flo


    Donnerstag, 23. Juni 2016 14:22
  •  Aber es gibt auch Anforderungen (Die eigentlich dumm sind aber es gibt menschen die wollen im Taskmanager 2 CPUs und 2 Kerne sehen) 2 CPUs und 2 Kernen zuzuweisen.

    Diesen Menschen musst Du dann halt erklären, dass eine Windows-VM unter Hyper-V anders funktioniert als eine Windows-VM unter ESXi oder Xen. Ein Server 2012 als Hyper-V-VM "weiß" nämlich schon auf Kernel-Ebene, dass er in Hyper-V läuft und verhält sich auch und gerade in Bezug auf das CPU-Co-Scheduling anders als auf der Physik bzw. vorgegaukelter Physik.

    Wenn Du Linux virtualisierst und dort auf die Anforderung von X Kernen pro Socket triffst, dann kann man bei Hyper-V wirklich nichts machen.


    Evgenij Smirnov

    msg services ag, Berlin -> http://www.msg-services.de
    my personal blog (mostly German) -> http://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.

    Donnerstag, 23. Juni 2016 21:24
  • Hallo,

    ich komme aus der VMware Welt und wir sind derzeit dabei VMware durch Hyper-V abzulösen (soweit es geht)

    Ich bin überrascht, wie viele Poster in der letzten Zeit Ihre VMware Infrastruktur ablösen wollen :)
    Wie kommt das?

    Die Einstellung vermisse ich in Hyper-V. Kann ich dort nicht auch einer VM z. B. 2 vCPUs zur Verfügung stellen, aber er nutzt unterschiedliche Kerne auf zwei verschiedenen physikalischen CPUs? Also 2 Sockets und 1 Kern.

    Virtuellen Maschinen unter Hyper-V werden "vCPU" zugewiesen, was nichts anderes ist, als Rechenzeit bezogen auf die Host CPUs, keine dedizierten Cores pro VM.

    Dann kommt über die Ressourcensteuerung hinzu, granularer zu bestimmen wie VMs die Rechenleistung
    in Anspruch nehmen dürfen:



    Gruß,
    Marcel


    https://www.windowspro.de/marcel-kueppers

    I write here only in private interest

    Disclaimer: This posting is provided AS IS with no warranties or guarantees, and confers no rights.

    Freitag, 24. Juni 2016 06:58

Alle Antworten

  • Hallo FaFu, 

    eine Zuordnung von direkten CPUs und Kernen ist in Hyper-V nicht möglich. Du gibts einer VM eine Anzahl virtuelle CPUs. Diese Workload wird dann über alle vorhanden physischen CPUs verteilt. 

    Infos: 

    Configure Memory and Processors

    Plan for Hyper-V scalability in Windows Server 2016

    Requirements and Limits for Virtual Machines and Hyper-V in Windows Server 2008 R2

    Wenn du 2 CPUs und 2 Kerne brauchst, dann weis 4 vCPUs zu. Dann siehst du aber auch 4 CPUs 


    Kind regards, Flo


    Donnerstag, 23. Juni 2016 14:22
  •  Aber es gibt auch Anforderungen (Die eigentlich dumm sind aber es gibt menschen die wollen im Taskmanager 2 CPUs und 2 Kerne sehen) 2 CPUs und 2 Kernen zuzuweisen.

    Diesen Menschen musst Du dann halt erklären, dass eine Windows-VM unter Hyper-V anders funktioniert als eine Windows-VM unter ESXi oder Xen. Ein Server 2012 als Hyper-V-VM "weiß" nämlich schon auf Kernel-Ebene, dass er in Hyper-V läuft und verhält sich auch und gerade in Bezug auf das CPU-Co-Scheduling anders als auf der Physik bzw. vorgegaukelter Physik.

    Wenn Du Linux virtualisierst und dort auf die Anforderung von X Kernen pro Socket triffst, dann kann man bei Hyper-V wirklich nichts machen.


    Evgenij Smirnov

    msg services ag, Berlin -> http://www.msg-services.de
    my personal blog (mostly German) -> http://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.

    Donnerstag, 23. Juni 2016 21:24
  • Hallo,

    ich komme aus der VMware Welt und wir sind derzeit dabei VMware durch Hyper-V abzulösen (soweit es geht)

    Ich bin überrascht, wie viele Poster in der letzten Zeit Ihre VMware Infrastruktur ablösen wollen :)
    Wie kommt das?

    Die Einstellung vermisse ich in Hyper-V. Kann ich dort nicht auch einer VM z. B. 2 vCPUs zur Verfügung stellen, aber er nutzt unterschiedliche Kerne auf zwei verschiedenen physikalischen CPUs? Also 2 Sockets und 1 Kern.

    Virtuellen Maschinen unter Hyper-V werden "vCPU" zugewiesen, was nichts anderes ist, als Rechenzeit bezogen auf die Host CPUs, keine dedizierten Cores pro VM.

    Dann kommt über die Ressourcensteuerung hinzu, granularer zu bestimmen wie VMs die Rechenleistung
    in Anspruch nehmen dürfen:



    Gruß,
    Marcel


    https://www.windowspro.de/marcel-kueppers

    I write here only in private interest

    Disclaimer: This posting is provided AS IS with no warranties or guarantees, and confers no rights.

    Freitag, 24. Juni 2016 06:58
  • Ich bin diesbezüglich momentan eher nur lesend ohne praktische Erfahrung unterwegs.

    Was ich in der Theorie in Erfahrung bringen konnte ist die Tatsache, dass Hyper-V wesentlich empfindlicher auf Overprovisioning bzw. Oversubscription reagiert, als dass es VMWare tun würde.

    Für mich ist das einer der Gründe im Moment bei zukünftigen Projekten eher auf VMWare zu setzen.

    Bitte korrigiert mich evtl. Ich will mich aber nicht über Gebühr in jemand anderes Thema hängen.

    Grüße

    willy




    Freitag, 24. Juni 2016 17:40
  • Was ich in der Theorie in Erfahrung bringen konnte ist die Tatsache, dass Hyper-V wesentlich empfindlicher auf Overprovisioning bzw. Oversubscription reagiert, als dass es VMWare tun würde.

    Für mich ist das einer der Gründe im Moment bei zukünftigen Projekten eher auf VMWare zu setzen.

    ...und magst Du dazu auch mal einen Verweis auf eine vertrauenswürdige Ressource posten? Denn "empfindlich reagieren" ist erst mal keine Kategorie, mit der man eine Auswahl von Infrastruktur-Plattformen begründen kann...

    Evgenij Smirnov

    msg services ag, Berlin -> http://www.msg-services.de
    my personal blog (mostly German) -> http://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.

    Freitag, 24. Juni 2016 19:27
  • Ich bin auch neugierig.

    https://www.windowspro.de/marcel-kueppers

    I write here only in private interest

    Disclaimer: This posting is provided AS IS with no warranties or guarantees, and confers no rights.

    Freitag, 24. Juni 2016 19:37
  • Ich muss mich Geni und Marcel anschließen. Ich habe eigentlich eher den umgedrehten Eindruck. Ein gute konfiguriertes Hyper-V Cluster steht VMware in nichts nach. Das Ressource Management von Hyper-V funktioniert einfach anders als bei VMware. Wenn man sich damit auseinander setzt und dann geht auch nichts schief. 

    Das wäre wie Schaltgetriebe mit Automatik zu vergleichen und dann zu beschweren warum die Automatik automatisch die Gänge wechselt. 


    Kind regards, Flo

    Freitag, 24. Juni 2016 21:21
  • Hallo,

    ich komme aus der VMware Welt und wir sind derzeit dabei VMware durch Hyper-V abzulösen (soweit es geht)

    Ich bin überrascht, wie viele Poster in der letzten Zeit Ihre VMware Infrastruktur ablösen wollen :)
    Wie kommt das?

    Wir wollten unsere VMware Umgebung erweitern und VMware hat uns ein Angebot gemacht was wir unmöglich annehmen können (extrem teuer geworden) und so werden wir auch dieses Jahr noch auf Hyper-V wechseln. Die geplante Erweiterung wird direkt mit Hyper-V aufgebaut und die alten Systeme werden schrittweise migriert.

    Gruß Benjamin


    Benjamin Hoch
    MCSE: Data Platform
    MCSA: Windows Server 2012
    Blog

    Samstag, 25. Juni 2016 07:33
  • ...und magst Du dazu auch mal einen Verweis auf eine vertrauenswürdige Ressource posten? Denn "empfindlich reagieren" ist erst mal keine Kategorie, mit der man eine Auswahl von Infrastruktur-Plattformen begründen kann...


    .

    @Evgenij:

    Eine "vertrauenswürdige Ressource" kann ich dir in der Hinsicht leider nicht posten.

    Ich muss mir eigentlich nach wie vor überlegen, welchen Hypervisor ich demnächst einsetzen will. Bisher fehlt mir dafür selbst Erfahrung, was sich wo im praktischen Einsatz besser eignet.

    Hauptsächlich meinte die Beratung, mit der ich zusammenarbeiten wollte, dass der ESXi in solchen Fällen weniger drastisch reagieren würde. Selbst hatte ich beim Stöbern im Netz aber auch schon teils ähnliche Kommentare gelesen. Bei Hyper-V müsste man eher darüber nachdenken, ob die zugewiesene Hardware auch wirklich physisch da ist. Sollte ich die Vorgabe machen, "mein Projekt" mit Hyper-V umzusetzen, ist das auch kein Problem. Die Abneigung gegen Hyper-V der Beratung ist in dem Fall evtl. auch etwas subjektiv. Trotzdem schätze ich die Leute, wegen ihrer guten Ideen.

    Ein Argument, das ich ganz interessant finde ist, dass man z.B. den ESXi (den Hypervisor) auch mit einem Dual Slot SD-Card Reader mit recht begrenztem Speicherplatz in einem Server (günstig) betreiben kann und das Storage damit auslagern könnte. Mit einem Windows Server 2012 hätte man da evtl. gewisse Probleme.

    EDIT: Ich hab hier nur eine sehr kleine Umgebung mit später um die 10 VMs. 

    Glaube aber, ist ne andere Baustelle, die nichts mehr mit der eigentlichen Frage zu tun hat.









    Montag, 27. Juni 2016 18:08
  • willy was du auch bedenken musst. Die meisten beratungshäuser sind beim thema hyper-v vs. Vmware nicht objektiv. Sie haben a. Bei vmware höhere margen und b. Meistens keine oder weniger hyper-v erfahrung. Du kannst übrigens hyper-v auch von usb stick oder sd booten und betreiben. Ist nur leider nicht supported :(

    Kind regards, Flo

    Montag, 27. Juni 2016 18:42
  • Ja, so isses halt. Aber zurück zum Thema CPU Overcommitment, Beratungshäuser und empfundene Hypervisor-Stabilität. Bei dem Thema kriege ich nämlich jedesmal ein Horn.

    Einige Kollegen haben nämlich mal gelernt oder vielmehr erfahren, dass man Ressourcen overcommitten kann. Sie haben es sich von VMware (Citrix, Microsoft, Oracle,...) vorführen lassen, wie schön es mit RAM geht, dann haben sie sich von NetApp noch das Thin Provisioning von Disk zeigen lassen, haben den Kaffee ausgetrunken und sind nach Hause.

    Was ihnen aber im verpassten Teil des Messebesuches leider entgangen ist, ist der Umstand, dass es mit der CPU ganz anders funktioniert. Das ist nämlich keine "wolkige", beliebig poolbare Ressource wie der RAM, sondern jeder Kern rechnet in einem Takt, und zwar alle weitestgehend in demselben. Und während einige VMs rechnen, müssen andere warten. Außer, es ist genug für alle da.

    Und jetzt mache ich mal eine ganz böse Annahme über die Leute, die behaupten, dass Hyper-V "empfindlicher" auf CPU Overcommitment reagiert als ESXi. Und die Annahme ist: Sie messen die Performance einer VM mit denselben Mitteln wie die einer physischen Maschine!

    Es gab mal eine Zeit, so um Server 2003 / ESX 4 herum, da hat man in einer VM, auch wenn sie wirklich NIX getan hat, niemals eine CPU-Auslastung von 0% gesehen. Im Task-Manager nicht und auch in den PerfMon-Countern nicht. Warum nicht? Weil, wenn sie nicht rechnen wollte, sie auch keine Zyklen gekriegt hat, und es waren auch keine Zyklen da, um den Counter auf 0 zu setzen. Und wenn sie Zyklen gekriegt hat, wollte sie rechnen, und logischerweise war dann die CPU-Auslastung nicht 0.

    So bei VMware, wo eine VM, wenn sie mal keine Zyklen vom Hypervisor kriegt, das halt auch nicht bemerkt, weil sie auch keine Zyklen hat, um es zu bemerken. Das ist die berühmte Situation mit den langen CPU Ready-Zeiten, wo die VM sich scheinbar langweilt und trotzdem nichts erledigt bekommt. (auch solche Kollegen kenne ich) Hyper-V funktioniert in dieser Beziehung etwas anders, da weiß die VM (zumindest wenn es ein jüngeres Windows ist), dass sie ressourcentechnisch auf dem Trockenen sitzt, schlägt bei den ganzen Benchmarking-Tools auch selbst Alarm und wartet nicht, bis der Hypervisor das für sie erledigt. Klar ist es "empfindlicher". CPU Overcommitment im Regelbetrieb ist nämlich Kacke. Und wer auf Kacke empfindlich reagiert, ist mir sofort sympathisch.

    So, Dampf raus, gut' Nacht.


    Evgenij Smirnov

    msg services ag, Berlin -> http://www.msg-services.de
    my personal blog (mostly German) -> http://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.


    Montag, 27. Juni 2016 21:09
  • Hier mal ein Vortrag was man bei Hyper-V beachten sollte. 

    https://channel9.msdn.com/Events/community-germany/Cloud--Datacenter-Conference-Germany-2016/10-Dinge-die-Hyper-V-uebel-nimmt


    Benjamin Hoch
    MCSE: Data Platform
    MCSA: Windows Server 2012
    Blog

    Dienstag, 28. Juni 2016 04:23
  • Hyper-V kommt bei MSFT in Datacentern zum Einsatz, bildet die Grundlage für Azure und Azure Stack. Ich glaube der Rest ist Geschmackssache und subjektives Empfinden.

    https://www.windowspro.de/marcel-kueppers

    I write here only in private interest

    Disclaimer: This posting is provided AS IS with no warranties or guarantees, and confers no rights.

    Dienstag, 28. Juni 2016 08:26