cat_server-core

How-To: Netzwerkkarten Teaming mit Hyper-V

SERVER CORE

Teaming von Netzwerkkarten ist ein häufiges Thema bei Server Virtualisierung mit Hyper-V. Microsoft selbst stellt keine entsprechende Software zur Verfügung, dies wird durch die Hersteller der Netzwerkkarten übernommen. Dies wird auch so im Support KB 968703 von Microsoft entsprechend kommuniziert:

Since Network Adapter Teaming is only provided by Hardware Vendors, Microsoft does not provide any support for this technology thru Microsoft Product Support Services. As a result, Microsoft may ask that you temporarily disable or remove Network Adapter Teaming software when troubleshooting issues where the teaming software is suspect.

Allerdings gab es auch mit den bisherig verfügbaren 3rd Party Lösungen für NIC-Teaming ziemlich viele Hindernisse, diverse Probleme mit VLAN Tagging, fehlendem Cluster oder Server Core Support, etc. Die Hardware Hersteller haben seit Windows Server 2008 R2 ihre Software weitgehend aktualisiert, damit nun auch Hyper-V mit und ohne Failover Cluster entsprechende damit umgehen kann:

  • Broadcom: 12.30.03 und neuer
  • HP: 9.35 und neuer
  • Intel: 14.5 und neuer

Sollte der Server Hersteller noch keine aktuelle Version bereitstellen, kann auch auf einen original Treiber des Netzwerk Adapter Herstellers zurückgegriffen werden.

Installation

Für die Installation von Hyper-V mit Network Teaming, muss eine spezielle Reihenfolge eingehalten werden. Dazu stellen die Hersteller in den meisten Fällen eine Anleitung bereit – Doch gerade für HP Server sind diese nicht vollständig. Eine funktionierende Installations-Anleitung sieht wie folgt aus:

  1. BIOS und Firmware aktualisieren
  2. Windows Server aufsetzen
    1. Bei SmartStart muss Custom gewählt werden um das HP “Network Configuration Utility” (NCU) abzuwählen
  3. HP ProLiant Support Pack (PSP) installieren, auch hier wieder ohne HP “Network Configuration Utility”
  4. Server neu starten
  5. Failover Cluster und Hyper-V installieren
    1. Failover Cluster: DISM /online /enable-feature /featurename=FailoverCluster-Core
    2. Hyper-V: DISM /online /enable-feature /featurename=Microsoft-Hyper-V
  6. Server neu starten
  7. Zusätzliche Software für HBA, DSM, Management Tools installieren
  8. HP Network Configuration Utility (NCU) installieren
  9. Server neu starten

Wie erwähnt, können auch die Software vom Network Adapter Hersteller eingesetzt werden. Bei Broadcom Advanced Control Suite (BACS) müssen aber auch vor dem Setup noch Features installiert werden:

  1. Pre-Requirements
    1. .Net Framework: DISM /online /enable-feature /featurename=NetFx2-ServerCore
    2. .Net Framework für x86: DISM /online /enable-feature /featurename=NetFx2-ServerCore-WOW64
    3. SNMP: DISM /online /enable-feature /featurename=SNMP-SC
  2. Download und Extract der BACS Dateien (z.B. C:\BACS)
  3. Installation der Broadcom Advanced Control Suite
    1. Ausführen des Setups: C:\BACS\driver_management_apps_installer\setup.exe

BACS kann dann aus dem Verzeichnis “%ProgramFiles%\Broadcom\bacs.exe” gestartet werden.

Teaming

Nun können die Netzwerkkarten in einem Team zusammengefasst werden. Bei Server Core muss dazu das Control Panel “hpteam.cpl” aufgerufen werden. Dieses befindet sich unter folgendem Pfad “%ProgramFiles%\HP\NCU\”

Damit bei den vielen NICs die Übersicht behalten werden kann, empfiehlt sich eine entsprechende eindeutige Bezeichnung für den physikalische und virtuelle Netzwerkkarte zu verwenden. Dies kann übrigens auch mittels “netsh” bei Server Core durchgeführt werden: netsh interface>set interface newname="Management"

Mit dem Command-Line Tool “%ProgramFiles%\HP\NCU\cqniccmd.exe” kann auch ein XML File erstellt werden, damit die Konfiguration automatisiert und/oder auf einem anderen Server angewendet werden kann. Dieses Tool muss allerdings lokal auf dem Server ausgeführt werden. Tipp am Rande – es lohnt sich das Teaming auf einem Full Server anzulegen und dann mit der Export / Import bei Server Core zu importieren:

  • Export der Konfiguration: cqniccmd /S c:\HP\teamcfg.xml
  • Import der Konfiguration: cqniccmd /C c:\HP\teamcfg.xml

Eine ausführliche Anleitung stellt HP als PDF zur Verfügung: HP ProLiant Network Adapter Scripting Utility User Guide

Hyper-V Virtual Network Switch

Die Konfiguration der Netzwerke für Hyper-V kann nun wie gehabt vorgenommen werden. Einziger Unterschied, ein Virtual Network Switch wird mit dem zuvor angelegten Team Netzwerk Adapter konfiguriert. Um Probleme zu vermeiden, sollte beim Anlegen von Virtual Network Switches darauf geachtet werden, dass nicht über die Netzwerkkarte verbunden wird an welcher die Konfiguration geändert wird. Somit verfügen die Virtual Machines auch bei einem Ausfall einer Netzwerkkarte über eine Netzwerkverbindung.

Teaming für iSCSI ist nicht supportet. Dazu sollte eine Multipath I/O (MPIO) Software mit einem “Device Specific Module” (DSM) eingesetzt werden.

Failover Cluster

Nachdem die Netzwerke für die Virtual Machines auf sämtlichen Hyper-V Hosts angelegt und konfiguriert wurden, kann der Failover Cluster nun angelegt, oder der Server als neuer Cluster Node hinzugefügt werden.

Troubleshooting

Bei Problemen mit Teaming auf Server Core hat man relativ schlechte Karten… Keith Mange von Microsoft hat daher ein sehr hilfreiches Tool namens “nvspbind” veröffentlicht. Dies kann bei MSDN heruntergeladen werden. nvspbind nutzt die INetCfg API’s um unter anderem die Konfiguration der NIC Bindings bei Virtual Networks anzupassen. Ein weiteres Tool von Keith mit dem Namen “nvspcrub” ist für Troubleshooting Aktionen sehr hilfreich. Beispielsweise um folgenden Fehler zu beseitigen:

Error Applying New Virtual Network Changes
Binding to the external Ethernet
Cannot bind to the %Network Adapter% because it is already bound to another virtual network.

Wenn zum Beispiel bei der Konfiguration eines neuen Virtual Network etwas schiefgeht (Hänger bei “Applying changes…”) und bei der erneuten Verwendung des Hyper-V Console folgende Fehlermeldung angezeigt wird:

Error Applying New Virtual Network Changes
Setup switch failed.
Information is no longer available about this task because the object that monitors the progress no longer exists. This may occur when many tasks are being proccessed.

Nvspcrub, welches ebenfalls bei MSDN heruntergeladen werden kann, ist ein Tool um eine (unvollständige) Virtual Network Konfiguration von einer Parent Partition zu entfernen. Das Tool muss in einer Command Prompt mit “cscript nvspscrub.js” gestartet werden. Zur Auswahl stehen anschliessend folgende Optionen

  • cscript nvspscrub.js /v“, löscht sämtliche deaktivierten NIC’s
  • cscript nvspscrub.js /p“, säubert sämtliche Virtual Network Einstellungen
  • cscript nvspscrub.js /n“, säubert eine spezifische NIC

Weitere Informationen

Failover Cluster , Hyper-V , Server Core

, , , , ,

About the Author

Michel Luescher is a solution architect in the worldwide Datacenter & Cloud Infrastructure Center of Excellence (CoE) at Microsoft Corporation based out of Zurich, Switzerland. Primarily, Michel is focused on hybrid cloud solutions (Hyper-V, System Center and Microsoft Azure). In addition Michel is speaker, blogger and author of several books.

Comments (2)

Leave a Reply.

Error “The virtual hard disk image is too large for the IDE bus” How-To: Letzte Windows Startzeit überprüfen

NEWS