Neu in Windows Server 2016: Switch Embedded Teaming (SET) | Hyper-V Server Blog

Neu in Windows Server 2016: Switch Embedded Teaming (SET)

Mit Windows Server 2016 wird im Netzwerk-Bereich eine kleine, aber sehr entscheidende Erweiterung eingeführt. Neben der Möglichkeit, zwei oder mehr Netzwerk-Adapter zu einem Team zu verbinden und dieses als Grundlage für eine Hyper-V Switch zu nutzen, kann fortan auch “Switch Embedded Teaming” (SET) genutzt werden. Um zu erklären, warum das so toll ist, muss ich ein bisschen weiter ausholen.


Teaming mit Windows Server 2012 und Windows Server 2012 R2

In den letzten beiden Versionen des Windows Servers gab es die Möglichkeit, mit Boardmitteln ein oder mehrere Teams zu erstellen. Durch die Erstellung und Nutzung kann die maximale Bandbreite erhöht werden, weiterhin steigt die Verfügbarkeit, da der Team-Adapter nicht offline geht, sobald ein Port ausfällt oder ein Kabel gezogen wird. Was mit Windows Server 2012 und 2012 R2 nicht geht: Die Nutzung von RDMA und Teaming gleichzeitig. Dies bedeutet, dass die RDMA-Funktionalität der Adapter nicht genutzt werden kann, sobald diese in ein Team hinzugefügt werden. Um sowohl ein Team als Grundlage für die Hyper-V Switch als auch RDMA zur Anbindung der Hosts an die Storage-Systeme nutzen zu können, werden mindestens vier Ports benötigt: 2x non-RDMA als Team für die Hyper-V Switch und 2x RDMA für die SMB3-Kommunikation.

Werden unter Windows Server 2012 oder 2012 R2 ein oder mehrere virtuelle Netzwerk Adapter verwendet (Stichwort Converged Networking), kann der Traffic dieser vNICs nur über einen CPU Core abgerechnet werden. Dies liegt daran, dass für diese Adapter kein RSS (Receive Side Scaling) verfügbar ist. Dies führt dazu, dass pro vNIC maximal 4-5 Gb/s transportiert werden können.

Teaming mit Windows Server 2016

Mit Windows Server 2016 ändern sich nun ein paar Dinge. Die m. E. wohl beste Änderung (bezogen auf die oben beschriebenen Beschränkungen) ist die Einführung des “Switch Embedded Teaming“, kurz SET. Mit Hilfe dieser Technik kann bei der Erstellung einer virtuellen Hyper-V Switch nicht nur ein physischer Adapter genutzt werden, sondern direkt mehrere. Schauen wir uns die Erstellung einmal an.

Als Erstes betrachten wir  auf meinem System ein paar Dinge:

Switch Embedded Teaming - SET - 001

Wir sehen in der ersten Ausgabe, dass in meinem Hyper-V-Host sechs Hardware-Karten stecken: 2x Intel 1 Gbit Karten, 2x Intel 10 Gbit Karten (non-RDMA) und 2x Emulex 10 Gbit Karten (RDMA-fähig). Die beiden 1 Gbit Karten sind zu einem Management-Team zusammengefasst, die beiden 10 Gbit Intel Karten zu einem zweiten Team verbunden.

Der zweite Befehl zeigt mir die RDMA-fähigen Netzwerkkarten in meinem Server an. Wir sehen hier, dass nur die Emulex-Karten diese Funktionalität bieten.

Der dritte Befehl zeigt noch einmal, ob RDMA und RSS verfügbar sind.

Switch Embedded Teaming - SET - 002

Der Befehl Get-VMSwitch listet mir alle vorhandenen Hyper-V Switches auf, die verfügbar sind. Aktuell ist dies nur eine “normale” Switch, basierend auf den 10 Gbit Intel Karten.

Switch Embedded Teaming - SET - 003

Ich erstelle nun eine weitere Hyper-V Switch. Der elementare Unterschied zur bisherigen Erstellung: Ich kann bei NetAdapterName mehrere Karten hinzufügen, zusätzlich muss die Option EnableEmbeddedTeaming aktiv sein.

Switch Embedded Teaming - SET - 004

In der Beschreibung der Switch ist erkennbar, dass es sich im Hintergrund um ein geteamtes Interface handelt.

[ms_alert icon=”fa-exclamation” background_color=”#f5f5f5″ text_color=”” border_width=”0″ border_radius=”0″ box_shadow=”no” dismissable=”no” class=”” id=””]Beachten Sie, dass es sich bei diesem Interface NICHT um ein gewöhnliches Team handelt. Diese Funktionalität ist eine Hyper-V Funktion, keine Load Balancing Failover (LBFO) Funktion.[/ms_alert]

Switch Embedded Teaming - SET - 010

In den systemweiten Teams taucht die neue Hyper-V Switch mit dem Namen “External” nicht auf.

Nun wird die Bindung der VM NanoServer13 geändert. Vorher war die VM erreichbar über die “normale” Hyper-V Switch mit dem Namen “VM”.

Switch Embedded Teaming - SET - 005

Switch Embedded Teaming - SET - 011

Danach ist die VM weiter erreichbar über die SET-Switch mit dem Namen “External”. Schauen wir uns die Netzwerkkarten in unserem Host erneut an:

Switch Embedded Teaming - SET - 008

Man kann erkennen, dass nun neben der “VM” Switch noch die zweite Hyper-V Switch verfügbar ist.

Switch Embedded Teaming - SET - 012

Nun erstellen wir ein neues, virtuelles Interface mit dem Namen “Mgmt”.

Switch Embedded Teaming - SET - 009

Eine Abfrage der erweiterten Funktionen dieser Karte zeigt, dass die Funktion “Receive Side Scaling” verfügbar und aktiv ist.

Jan Kappen
 

Jan Kappen ist ausgebildeter Fachinformatiker in der Richtung Systemintegration. Er hat seine Ausbildung im Sommer 2008 abgeschlossen und arbeitete bis August 2018 bei der Rachfahl IT-Solutions GmbH & Co. KG. Seit September 2018 arbeitet er als Senior Netzwerk- und Systemadministrator bei einem großen mittelständischen Unternehmen im schönen Sauerland. Jan Kappen ist unter anderen MCITP Server Administrator, Enterprise Administrator und Enterprise Messaging Administrator 2010 sowie MCTS für System Center Virtual Machine Manager 2008, Windows Server 2008 Active Directory, Windows Server Virtualization und Windows Server 2008 Network Infrastructure. Seit 2015 wird Jan Kappen im Bereich "File System Storage" bzw. "Cloud & Datacenter Management" für seine Expertise und seine Community-Arbeit mit dem MVP Award von Microsoft ausgezeichnet.

  • David Hood sagt:

    Hi,

    great article – thanks for writing it.

    So to support VLANs for virtual machines – do I just tag the VLAN id to each VM using similar to below?

    get-vm “VM100” | set-vmnetworkadaptervlan -vlanid 100 -access
    get-vm “VM200” | set-vmnetworkadaptervlan -vlanid 200 -access

    thanks

    dave

  • Stefan Castor sagt:

    Hallo,

    ich habe die gleichen Netzwerkkarten, kriege RDMA aber nicht zum Laufen. RDMA Capable wird immer als False angegeben.

    Können Sie mir die Treiber/Firmwareversion nennen?

    VG

  • Jan Kappen sagt:

    Hallo Herr Castor,
    ich nutze die aktuelle Version von der (mittlerweile) Broadcom-Seite, 11.irgendwas. Ich bin gerade nicht im Büro, daher kann ich Ihnen gerade nicht die genaue Version nennen. Ist PFC korrekt in der Switch konfiguriert?
    Gruß, Jan

  • Holger sagt:

    Hallo Herr Kappen,
    vielleicht liege ich falsch, aber auch bei SET gibt es keine RSS Funktion, auch wenn diese im System angezeigt wird?
    Sobald ein vSwitch im Spiel ist, wird VMQ aktiviert und RSS geht zwingend verloren, was wiederum die Limitierung eines Cores für die vNic zur Folge hat

    Grüsse, Holger

  • Jan Kappen sagt:

    Hallo,
    die erzeugten vNICs nutzen eine “Virtual Receive Side Scaling” (vRSS)-Technik, um ihre Last auf multiple Kerne zu verteilen und so eine höhere Bandbreite erreichen zu können. Streng genommen haben Sie Recht, RSS ist nicht möglich, der gewünschte Effekt der Multikern-Nutzung ist mit vRSS aber trotzdem vorhanden :)
    Gruß, Jan

  • max sagt:

    Hallo Herr Kappen,

    Wie sieht denn die Empfohlene Konfiguration für ein Switch Embedded Teaming und iSCSI inner halb eine Hyper V 2016 Failoverclusters aus. Ist hier zusätzlich noch MPIO zu benutzen?

    Viele Grüße

    Max

  • Jan Kappen sagt:

    Hallo,
    es wird weiterhin MPIO benötigt, es ändert sich in diesem Fall nix an der bisherigen Anforderungen.
    Gruß, Jan

  • >