Tags: Hyper-V, Netzwerk, Load Balancing, Hochverfügbarkeit
Neben dem herkömmlichen NIC-Teaming ist es mit Server 2016 möglich, NICs direkt am virtuellen Hyper-V Layer-2 Switch zu bündeln. Switch-Embedded Teaming (SET) ist auf Hyper-V-Hosts nun die bevorzugte Alternative, 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-Datentransfer einzusetzen und so die CPUs zu entlasten. Mit SET ist man nun unter anderem in der Lage, RDMA-Karten zu Teams zusammenzufassen ohne deren Fähigkeiten 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.
Eine Beispielkonfiguration 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.
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
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
Täglich Know-how für IT-Pros mit unserem Newsletter
Marcel Küppers arbeitet seit über 25 Jahren in der IT, aktuell als Team Leader, zuvor als Consultant und Infrastructure Architect unter anderem für den japanischen Konzern JTEKT/TOYODA mit Verantwortung über die Europastandorte Krefeld und Paris.
Darüber hinaus wirkte er als Berater im EU-Projekt-Team für alle Lokationen des Konzerns mit und ist spezialisiert auf hochverfügbare virtualisierte Microsoft-Umgebungen plus Hybrid Cloud Solutions.
Zertifizierungen: MS Specialist und MCTS für Hyper-V/SCVMM, MCSE, MCITP, MCSA. Zusätzlich zertifiziert für PRINCE2 Projektmanagementmethode.
Verwandte Beiträge
- Network Load Balancing (NLB) für Windows konfigurieren
- Multipath I/O (MPIO) für iSCSI-Storage konfigurieren
- VMware vSphere: Hyperkonvergente Cluster einrichten, VMs hochverfügbar machen, Last verteilen mit DRS
- vSphere vMotion: LACP und Distributed vSwitch
- vMotion mit mehreren NICs: Verbindungsgeschwindigkeit, Failover-Anordnung, Standard-Schnittstelle
Weitere Links