Probleme bei der Nutzung von Teaming unter Windows Server 2012 R2
In einem unserer Projekte hatten wir neulich den Fall, dass die Nutzung von Netzwerkkarten-Teaming dazu führte, dass die Server manchmal nicht reagierten, sich teilweise mit einem Bluescreen verabschiedeten und manchmal einfach in dem aktuellen Fenster einfrierten. Dieses Verhalten ließ sich besonders gut rekonstruieren, wenn ein NIC Team erstellt und danach wieder entfernt wurde. Das Verhalten trat auf mehreren Servern auf, eine wirkliche Gemeinsamkeit ließ sich jedoch nicht wirklich feststellen.
Zum Einsatz kommen Server von HP aus der Generation 8 und der Generation 9. Der eine Gen8-Server hatte nur die von Werk aus verbauten 4x 1 GbE NICs, die vier Gen9-Server hatten sowohl 1 GbE als auch 10 Gbe NICs von Chelsio verbaut. Unabhängig von NIC und/oder Server trat der Fehler immer wieder auf. Da es sich um einen gemeinsamen Fehler handelte und die Server alle Mitglied der gleichen Active Directory waren, haben wir einen der Server komplett neuinstalliert (sowohl über die HP-Variante als auch direkt von der Microsoft-ISO) und haben die Probleme sowohl als Workgroup-, als auch als AD-Mitglied nachstellen können. Einen Treiber konnten wir indirekt ausschließen, da die Server verschiedene Karten von unterschiedlichen Herstellern hatten. Ein gemeinsamer Fehler im BIOS müsste sich ebenfalls über Generationsgrenzen fortgeführt haben, und in diesem Fall wären wir sicherlich nicht die Ersten, die diese Probleme haben.
Wir haben die geplante Installation dann irgendwann abgebrochen und es wurde ein Supportfall bei Microsoft und einer bei HP eröffnet. Der Microsoft-Support hat letztendlich herausgefunden, dass es eine Einstellung in den Netzwerkkarten (bzw. eine globale Einstellung) ist, die unsere Probleme erzeugt hat. Das Problem wurde auch in einem Technet-Artikel beschrieben, allerdings ausschließlich in Japanisch: https://support.microsoft.com/en-us/kb/2908489/ja
Da mein Japanisch ein wenig eingerostet ist, haben wir dies natürlich nicht gefunden ;) Sobald das TCP/IP Task Offloading aktiviert ist, treten die Probleme nicht mehr auf und es kann problemlos mit den Servern gearbeitet werden. Einschalten kann man diese Funktion mit dem Befehl
netsh interface ipv4 set global taskoffload = enabled
Laut dem Support sollte das Offloading generell aktiv sein, es sei denn es muss laut Hersteller einer Hardware/Software explizit deaktiviert sein. Bei der Nutzung von Hyper-V ist dies nicht der Fall, daher haben wir die Einstellung auf „enabled“ gesetzt und das Problem war gelöst. Aufgenommen wurde das Problem übrigens unter der Bezeichnung „Removing the NIC teaming in Windows Server 2012 causes STOP 0x50“.
Warum diese Einstellung (scheinbar nur auf den HP-Systemen) so gesetzt war, auch nach mehreren Neuinstallationen, wissen wir bis heute nicht.