Statt NIC-Teaming: Switch-Embedded Teaming (SET) in Hyper-V 2016

    Switch-Embedded Teaming in Windows Server 2016 Hyper-VNeben dem her­kömm­lichen NIC-Teaming ist es mit Server 2016 möglich, NICs direkt am virtu­ellen Hyper-V Layer-2 Switch zu bündeln. Switch-Embedded Teaming (SET) ist auf Hyper-V-Hosts nun die bevor­zugte Alter­native, wenn man R-NICs für Storage Spaces Direct einsetzt.

    Gleichzeitig mit Software-defined Storage (SDS) auf Basis von Windows Server gewinnt auch Software-defined Networking (SDN) noch mehr an Bedeutung. Dabei spielen neue Features wie die hyperkonvergenten Storage Spaces Direct oder auch Storage Replica eine wesentliche Rolle. Beide arbeiten mit herkömmlicher Hardware und nutzen SMB 3.1.1 beim Datentransfer.

    Um den darauf aufsetzenden Applikationen die nötige Latenz beim Speichern der Blöcke zu liefern, lautet die Empfehlung, RDMA-NICs (SMB Direct) für den nötigen High-Speed-Daten­transfer einzusetzen und so die CPUs zu entlasten. Mit SET ist man nun unter anderem in der Lage, RDMA-Karten zu Teams zusammen­zufassen ohne deren Fähig­keiten einzubüßen, wie das beim klassischen Teaming der Fall ist. SET wird dann mit PowerShell oder dem SCVMM konfiguriert.

    LBFO-Teaming seit Server 2012

    Das herkömmliche Teaming für Load Balancing und Failover (LBFO) kann bis zu 32 Mitglieder umfassen und auch im Active/Standby-Modus laufen. Die Members dürfen dabei von verschiedenen Herstellern sein, nach meinen Erfahrungen bevorzuge ich aber grundsätzlich ein homogenes Design. Der NIC-Teamvorgang findet entweder Switch-unabhängig oder mittels LACP-Modus statt, ein Lastenausgleich kann seit R2 auch dynamisch sein.

    Dieses Team (tNIC) wird mit dem externen virtuellen Hyper-V Switch verbunden. Bei einem converged Design, welches wir seit 2012 praktizieren, erzeugt man verschiedene virtuelle Adapter in der Parent Partition (Management OS) für unterschiedliche Anforderungen. Dazu zählen virtuelle NICs für das Management und die Cluster-Kommunikation (Heartbeat), auch QoS und VLAN sollten berücksichtigt werden.

    Unter Windows Server 2012 (R2) waren zusätzliche Adapter für SMB Direct nötig.

    Eine Beispiel­konfiguration mit PowerShell im Weight Mode sieht wie folgt aus:

    Add-VMNetworkAdapter -ManagementOS -Name "Mgmt" `
    -SwitchName "vSwitch" MinimumBandwithWeight 10

    Die so erzeugten vNICs sind direkt mit dem Hyper-V Switch verbunden. Offload-Unterstützung entfällt hier für vRSS (virtual Receive Side Scaling) oder wie bereits erwähnt, auch für RDMA (Remote Direct Memory Access). Dafür wären zusätzliche physische NICs erforderlich (siehe Diagramm oben).

    Switch-Embedded Teaming mit Windows Server 2016

    SET als Alternative zum bereits bekannten Teaming verschiebt ein Load-Balancing in Richtung des virtuellen Switches von Hyper-V. Dabei können maximal 8 physische Adapter zusammengefasst werden, welche vom gleichen Hersteller und Typ sein müssen. Eine Limitierung von 8 Karten hört sich zu Beginn relativ gering an, jedoch ist zu berücksichtigen, dass die Geschwindigkeit der Adapter mit 10, 40 oder 56 Gbps hoch ausfallen sollte.

    SET unterliegt noch weiteren Einschränkungen: Es kann nicht in einer virtuellen Maschine verwendet werden und es unterstützt nur den Switch-unabhängigen Modus. Beim Load-Balancing sind nur Hyper-V Port und Dynamisch möglich. Standby-Adapter gibt es nicht, alle müssen aktiv sein.

    Converged Network mit SET und Hyper-V 2016

    Die virtuellen Adapter des Management-OS (siehe Abb. 2) unterstützen dann folgende Techniken:

    • Datacenter Bridging (DCB) zur Traffic-Optimierung beispielsweise bei RoCE
    • Hyper-V Netzwerk-Virtualisierung - Windows Server 2016 unterstützt NV-GRE und VxLAN
    • Receive-side Checksum Offloads (IPv4, IPv6, TCP), wenn ein SET-Team-Mitglied diese unterstützt
    • Remote Direct Memory Access (RDMA)
    • Single Root I/O Virtualization (SR-IOV)
    • Transmit-side Checksum Offloads (IPv4, IPv6, TCP), wenn alle SET Team-Mitglieder diese unterstützen
    • Virtual Machine Queues (VMQ)
    • Virtual Receive Side Scaling (vRSS)

    Konfigurieren eines Switch-Embedded Teaming

    Das SET muss schon bei der Erstellung des Hyper-V-Switch erzeugt werden. Verwendet man dafür das PowerShell-Cmdlet New-VMSwitch, dann nutzt man dafür die Option für SET:

    New-VMSwitch -Name SETvSwitch -NetAdapterName "pNIC-01-10","pNIC-02-10" `
    -EnableEmbeddedTeaming $true -AllowManagementOS $false

    Switch Embedded Teaming konfigurieren mit dem PowerShell-Cmdlet New-VMSwitch.

    Die Adapter sind anschließend für ein Standard-Teaming nicht mehr verfügbar, das lässt sich auch über die GUI des Server Manager und NIC-Teamvorgang verifizieren.

    Über die PowerShell Cmdlets Add-VMSwitchTeamMember und Remove-VMSwitchTeamMember können nun Adapter dem Team hinzugefügt oder daraus entfernt werden. Mit Set-VMSwitchTeam lassen sich unter anderem die Algorithmen für das Load Balancing bestimmen:

    Set-VMSwitchTeam -Name SETvSwitch -LoadBalancingAlgorithm Dynamic

    Keine Kommentare