mysticfoxde
Goto Top

Windows Server 2025 - RDMA - Folge 01 - Der Anfang des Grauens

Moin Zusammen,

vor ein paar Tagen hat sich ein Unternehmen bei mir gemeldet, welches ein paar Probleme mit deren nigelnagelneuem Server 2025 S2D Dual-Node Cluster haben.

Ähm, ja ich weiss, S2D und ich passen nicht wirklich zusammen. ๐Ÿ™ƒ
Ich sollte mir primär jedoch auch nicht das S2D anschauen, sondern die RDMA-Strecken über die dieses laufen sollte/muss und das ist dann schon eher meine Spezialität. ๐Ÿ˜

Das was ich dabei jedoch mal wieder erleben musste und auch in unserem eigenen Testlab 1:1 nachstellen konnte, ist einfach nur grausam und zwar insbesondere seitens Microsoft, aber auch seitens Intel, Broadcom und wahrscheinlich auch NVIDIA. ๐Ÿ˜”

By the Way … das Problem gibt es nicht wirklich erst seit Server 2025, sondern mindestens seit Server 2019. ๐Ÿ˜ญ

Aber ja, alles der Reihe nach.

Zu den groben Rahmenbedingungen.
Der entsprechende Kunde hatte je Node eine Intel E810-CQDA2 Netzwerkkarte, die je 2 100G Ports bereitstellt verbaut. Ferner sind die beiden Nodes über diese E810-CQDA2er NIC’s über ein DAC direkt miteinander verbunden, sprich, extern kein Switch dazwischen und intern auch kein vSwitch, was die Sache übrigens noch viel komplizierter und um einiges verwirrender machen würde. ๐Ÿ˜”

In unserem eigenen Testsystem stecken in den beiden Servern mitunter je eine E810-XXVDA2 NIC, sprich, eine Netzwerkkarte mit 2 x 25G Ports und da ich das, respektive die Probleme auch auf diesem System 1:1 nachvollziehen kann, würde ich diesen Beitrag auch darauf aufbauen.
Und auch unsere NIC’s sind direkt per DAC miteinander verbunden und auch an diesen hängt intern kein vSwitch dran. Sprich, fast 1:1 bis auf 25G VS 100G. ๐Ÿ™ƒ

Ähm, ja, OK, ich muss jedoch auch erwähnen, dass ich an unseren E810-XXVDA2 NIC’s einiges umkonfigurieren musste um dieses Problem zu reproduzieren, da diese auch RDMA technisch, per Default ganz anders eingestellt sind, als die E810-CQDA2’s des entsprechenden Kunden. ๐Ÿ˜ฉ
Zu den Feinheiten kommen ich jedoch etwas später.

Nun zu dem Problem, ja, OK, es ist genaugenommen nicht nur eins sondern mehrere, das das folgende genaugenommen nicht nur RDMA, sondern auch SR-IOV und auch VMQ betrifft. ๐Ÿ˜ญ
Aber das jetzt auch noch mit dazu zunehmen, würde die Sache noch komplizierter machen.

Ja, ja, ist ja schon gut, ich höre ja schon auf die Sache noch verwirrender zu machen, aber, dafür dass es so ist wie es ist, kann ich jetzt nicht wirklich was dafür … โ˜ฎ๏ธ … sondern eher Microsoft, Intel, Broadcom & Co.

Also, wenn man die Funktionalität von RDMA bei einer NIC auf einem Windows prüfen möchte, dann ist der PowerShell Befehl „Get-NetAdapterRdma“ mitunter eine der ersten Anlaufstellen.

Und wenn ich diesen Befehl auf einem unserer Testserver ausführe, dann bekomme ich bei E810-XXVDA2 das folgende zu sehen.

windows server 2025 - rdma - folge 01 โ€“ der anfang des grauens - 01

Und laut der folgenden aktuellsten Beschreibung von Microsoft …

https://learn.microsoft.com/de-de/powershell/module/netadapter/get-netad ...

… bedeutet diese Ausgabe …

windows server 2025 - rdma - folge 01 โ€“ der anfang des grauens - 02

… ahm, ja, genau so viel zu dem Thema vollständige Doku. ๐Ÿ˜ญ

Na ja, weiter oben in der „Description“ steht als Beschreibung ja wenigstens das folgende geschrieben.

The Get-NetAdapterRdma cmdlet gets the remote direct memory access (RDMA) properties of an RDMA-capable network adapter. RDMA is a feature that enables network adapters to transfer data directly between each other without requiring the main processor of the system to be part of that transfer. This results in lower latency and lower processor utilization.

Was übersetzt das folgende bedeutet …

Das Cmdlet „Get-NetAdapterRdma“ ruft die RDMA-Eigenschaften (Remote Direct Memory Access) eines RDMA-fähigen Netzwerkadapters ab. RDMA ist eine Funktion, die es Netzwerkadaptern ermöglicht, Daten direkt untereinander zu übertragen, ohne dass der Hauptprozessor des Systems an dieser Übertragung beteiligt sein muss. Dies führt zu einer geringeren Latenzzeit und einer geringeren Prozessorauslastung.

… und eigentlich hätte Microsoft das selbst übersetzen sollen, da „de-de“ im Link, aber ja, trotz eigener KI die das ja auch machen könnte, wahrscheinlich auch viel besser als das was die selbst bisher gezaubert haben, bekommt MS das wohl selbst auch nicht mehr wirklich auf die Kette. ๐Ÿ˜”

Na ja, sei es drum, weiter geht’s.

Das „True“ unter „Enabled“ bedeutet bei „Get-NetAdapterRdma“, dass bei dem entsprechenden Adapter RDMA im Treiber aktiviert ist und das „True“ unter „Operational(State)“, bedeutet, respektive, sollte eigentlich bedeuten, dass auf der entsprechenden NIC RDMA auch betriebsbereit, sprich, funktionsfähig ist.

Dann gibt es bei Windows noch einen weiteren PowerShell-Befehl, mit dem man die RDMA Funktionalität, (eigentlich) prüfen kann und zwar mit „Get-SmbMultichannelConnection“, dazu muss man jedoch vorher eine SMB(-DIRECT) Verbindung über die entsprechende Strecke aufbauen und dann sieht die Ausgabe folgend aus, …

windows server 2025 - rdma - folge 01 โ€“ der anfang des grauens - 03

… sprich, auch laut dieser sollte RDMA funktionsfähig sein.

By the way, die Beschreibung des Outputs von „Get-SmbMultichannelConnection“ …

https://learn.microsoft.com/de-de/powershell/module/smbshare/get-smbmult ...

… ist seitens Microsoft leider genauso nichts aussagend, wie die von „Get-NetAdapterRdma“. ๐Ÿ˜”

Aber ja, auch mit „Get-SmbMultichannelConnection“ sagt mir der Server 2025, dass er bei der entsprechenden SMB-Verbindung RDMA benutzen könnte, sprich, dass RDMA zur Verfügung stehen würde.

Und spätestens an dieser Stelle, glauben leider viele, dass sie per SMB wirklich RDMA, sprich, SMB-Direct verwenden würden.

Tja, sorry, Pustekuchen, denn es gibt bei Windows nur eine Stelle mit der man, zumindest mit Bordmitteln feststellen kann ob RDMA, respektive, SMB-Direct wirklich funktioniert und zwar durch die Auswertung von ganz bestimmten Performance-Countern und zwar den folgenden.

windows server 2025 - rdma - folge 01 โ€“ der anfang des grauens - 04

Ach ja, by the way, bitte beachten, über diese Counter kann man leider auch nicht wirklich pro NIC die RDMA-Fähigkeit prüfen, da diese global sind, sprich für alle aktuellen RDMA Verbindungen gelten.

Ich habe dann in der Leistungsüberwachung die oben angesprochenen Counter konfiguriert und egal wie oft ich eine ca. 6GB grosse Datei über die entsprechende Strecke, die ja laut der oberen beiden PowerShell-Befehle RDMA fähig sein sollte, kopiert habe, habe ich immer nur das folgende Bild in der Leistungsüberwachung sehen dürfen.

windows server 2025 - rdma - folge 01 โ€“ der anfang des grauens - 05

Wie ihr sehen könnt, kein Ausschlag, sprich RDMA, respektive SMB-Direct ist so gesehen tot … ๐Ÿ˜”๐Ÿ˜ญ … obwohl es ja laut der Ausgabe der zuvor angesprochen PowerShell-Befehle, eigentlich quicklebendig sein müsste.

Ja, wie soll ich das jetzt nur schreiben … ähm … RDMA hätte so nie wirklich funktionieren können!
Zum einen ist SR-IOV im BIOS der NIC’s deaktiviert und auch die Treiber sind seitens Intel, zumindest was die Default Einstellungen der E810-CQDA2 NIC’s angeht, auch nicht wirklich korrekt für einen RDMA Betrieb konfiguriert.

Daher würde ich stand jetzt mal gerne ein paar Fragen loswerden.

@microsoft
Warum behaupten die oben angesprochenen PowerShell Befehle, dass RDMA funktionieren würde, obwohl das technisch aufgrund nicht korrekter Konfiguration, überhaupt nicht der Fall sein kann? ๐Ÿคจ
Um es mal etwas direkter zu Fragen, seid ihr mittlerweile wirklich derart verblödet, dass ihr für euer eigenes S2D derart fundamentale Dinge nicht mal mehr halwegs ordentlich auf die Reihe bekommt? ๐Ÿ˜ 

@intel
Warum sind die E810 NIC’s BIOS und auch Treiberseitig mal so mal so eingestellt? ๐Ÿคจ

@broadcom
Ähm ja, bisher seid ihr ja gut weggekommen, aber, kein Grund zur Freude, den insbesondere auch Euch, widme ich noch eine ganz spezielle Folge … kleiner Spoiler … grauenhafte BIOS-Settings und auch Doku. ๐Ÿ˜‰๐Ÿ˜ก

Allgemeiner Spoiler:
In der nächsten Folge werde ich etwas detaillierter auf die „suboptimalen“ Einstellungen der Intel NIC’s eingehen.

Und in der Zwischenzeit kann ja der einen oder andere, sprich, theoretisch alle Besitzer von z.B. S2D Systemen, mal prüfen, ob eure RDMA-Verbindungen auch wirklich RDMA bringen.
Gerne auch mit entsprechendem Feedback, danke.

So, jetzt muss ich mich auch mal um andere Dinge kümmern.

Gruss Alex


--> Folge 02
Windows Server 2025 - RDMA - Folge 02 - Der Intel-BIOS-Wirrgarten

Content-ID: 669856

Url: https://administrator.de/contentid/669856

Printed on: December 7, 2024 at 18:12 o'clock

MysticFoxDE
MysticFoxDE Nov 29, 2024 at 17:14:17 (UTC)
Goto Top
Moin Zusammen,

ähm, sorry, es gibt laut Microsoft wohl auch noch einen anderen Weg zu prüfen ob SMB-Direct (RDMA) funktioniert oder auch nicht und zwar den folgeden ...

windows server 2025 - rdma - folge 01 โ€“ der anfang des grauens - 06
Quelle:
https://learn.microsoft.com/de-de/windows-server/storage/file-server/smb ...

... sprich, quasi per Stoppuhr. ๐Ÿ˜ฏ ... ๐Ÿ˜‚๐Ÿคฃ๐Ÿ˜‚๐Ÿคฃ ... ๐Ÿ™ˆ๐Ÿ™ˆ๐Ÿ™ˆ

Das alles ist bestimmt nur ein ganz böser Traum ... Moment ... zwick ... aua ... verflixt, doch nicht. ๐Ÿ˜”

Schaut euch auch mal bitte an, wie man vor dem Stoppuhr-Test sicherstellen soll, das RDMA funktioniert ...

"Stellen Sie vor dem Testen mithilfe von PowerShell sicher, dass der Netzwerkadapter RDMA unterstützt."

... also genau so wie ich es zuvor auch gemacht habe ... ๐Ÿ˜ ... was jedoch nicht wirklich funktioniert. ๐Ÿ˜”๐Ÿ˜ญ

Ja, OK, weiter unten beschreibt Microsoft in diesem Artikel auch die Möglichkeit mit den Leistungsindikatoren ...

windows server 2025 - rdma - folge 01 โ€“ der anfang des grauens - 07

... aber erst nach dem Vorschlag Stoppuhr Taktik. ๐Ÿ™ƒ

Ach so ja, bitte auch unbedingt den Tipp beachten ...

windows server 2025 - rdma - folge 01 โ€“ der anfang des grauens - 08

... ๐Ÿ˜ต‍๐Ÿ’ซ

Gruss Alex
UdoWalberer
UdoWalberer Dec 01, 2024 updated at 15:42:18 (UTC)
Goto Top
Hi Alex,

der Weg mit dem Perfmon den RDMA Traffic zu prüfen ist schon der richtige oder einfache Weg via Boardmittel.
Zu beachten sind hier 1-2-3 Punkte.
1. die meisten Server OEMs die sich mit S2D beschäftigen arbeiten noch an der Zertifizierung der Systeme was dann auch einwandfrei funktionierende Versionen für FW/Driver gerade bei den Netzwerkkarten beinhaltet.
2. die Intel NICs sind Hybrid, können also sowohl iWARP als auch RoCE. Kann sein ich habs überlesen aber hast du auf allen Ports mal nach dem Wert geschaut wie die eingestellt sind ?
mit "Get-NetAdapterAdvancedProperty" mal den Wert "NetworkDirect Technology" überprüfen ob da iWARP oder RocE steht ? Für RoCE braucht es dann noch paar Settings und das Windows Feature DCB
3. die Experten nutzen für RDMA eher die Mellanox also Nvidia NICs da die Intel schon immer wieder mal mit etwas Problemen bei Driver/FW punkten.

Cheers
Udo
MysticFoxDE
MysticFoxDE Dec 01, 2024 at 16:42:55 (UTC)
Goto Top
Moin @UdoWalberer,

der Weg mit dem Perfmon den RDMA Traffic zu prüfen ist schon der richtige oder einfache Weg via Boardmittel.

na ja, es ist genaugenommen der einzige zuverlässige. ๐Ÿ˜”

Zu beachten sind hier 1-2-3 Punkte.
1. die meisten Server OEMs die sich mit S2D beschäftigen arbeiten noch an der Zertifizierung der Systeme was dann auch einwandfrei funktionierende Versionen für FW/Driver gerade bei den Netzwerkkarten beinhaltet.

Theoretisch ja, praktisch habe ich hier jedoch schon ganz andere Erfahrungen mit zertifizierten Systemen machen müssen.

2. die Intel NICs sind Hybrid, können also sowohl iWARP als auch RoCE. Kann sein ich habs überlesen aber hast du auf allen Ports mal nach dem Wert geschaut wie die eingestellt sind ?

Wenn alles korrekt eingestellt ist, und auch diese Option, dann funktioniert RDMA bei meinem Testsystem über iWARP ohne Probleme. ๐Ÿ˜‰
RoCE habe ich jedoch noch nicht getestet und habe es auch nicht vor, da ich bei unseren Kunden zumindest,
keinen Bedarf dafür sehe, da alle anständige SAN's haben, die per SAS oder FC angeschlossen sind. ๐Ÿ˜

Für RoCE braucht es dann noch paar Settings und das Windows Feature DCB

Darüber haben wir erst vor kurzem in einem anderen Artikel hier, sehr ausschweifend/hitzig diskutiert. ๐Ÿ™ƒ

3. die Experten nutzen für RDMA eher die Mellanox also Nvidia NICs da die Intel schon immer wieder mal mit etwas Problemen bei Driver/FW punkten.

Ähm ja, diese Experten kommen dann aber meistens von der VMware, respektive nun Broadcom Ecke und erwähnen auch nicht wirklich gerne, dass in dieser Ecke nur RoCE anständig funktioniert und nicht iWARP.
Sprich, mit den Intel NIC's selber hat diese Geschichte nicht wirklich viel zu tun. ๐Ÿ˜”

Gruss Alex
UdoWalberer
UdoWalberer Dec 01, 2024 at 17:55:23 (UTC)
Goto Top
Hi,

das RoCE DCB braucht ist Fakt, kann man zwar diskutieren aber hat man dann eben was noch nicht ganz verstanden.

auch bei Zertifizierten Systeme braucht man natürlich auch die nötigen Skills face-smile da ich Partnern in dem Bereich trainiere ist der wichtige Punkt aber das man mit einem System aus dem Azure Stack HCI oder nun Azure Local Catalog startet, nur diese Systeme werden regelmäßig neu validiert und das Ergebniss sind FW/Driver Paketen wo es auch Sinn macht mit zu starten, heißt nicht das immer alles Problemlos läuft. Aber nur für diese Systeme bekommt man eben auch Unterstützung.

Ich spreche nur von Erfahrungen aus der Microsoft Nerd Community, hierzu gibt es auch Experten Kanäle via Slack Channel wo sich MVP und andere Microsoft Nerds ausstauschen zum Thema S2D/HCI und somit auch RDMA austauschen.

Wenn man Ärger vermeiden will kauft man eben Mellnox NICs und die machen nur RoCE, für Intel ist das Thema eben nicht unbeding ihr Kerngeschäft sagen wir mal so.


Wenn man mit Intel NICs und S2D auf Basis Lego , also sich selbst was baut kann man sich zumindest an den Treiber/FW Versionen von zertifizierten Systemen orientiern. Diese haben einen 5 Tage Stresstest überstanden, Latest Greatest Vorgehen ist hier nicht zielführend.

dann weiter happy computing
Udo
MysticFoxDE
MysticFoxDE Dec 01, 2024 at 18:52:21 (UTC)
Goto Top
Moin @UdoWalberer,

ich finde es übrigens super, dass du dich hier nicht hinter einem PseudoNickname versteckst. ๐Ÿ‘

das RoCE DCB braucht ist Fakt, kann man zwar diskutieren aber hat man dann eben was noch nicht ganz verstanden.

Na ja, manche Switch Hersteller behaupten aber, dass dafür auch schon FC ausreichen würde. ๐Ÿ™ƒ

Und ja, wenn man RDMA über RoCE, sprich über UDP, sprich über "Fire and Forget" macht, dann muss man schon tierisch auf Dinge wie lossless und auch QOS achten, sonst geht der Schuss ganz schnell nach hinten los. ๐Ÿ˜”

auch bei Zertifizierten Systeme braucht man natürlich auch die nötigen Skills face-smile da ich Partnern in dem Bereich trainiere ist der wichtige Punkt aber das man mit einem System aus dem Azure Stack HCI oder nun Azure Local Catalog startet, nur diese Systeme werden regelmäßig neu validiert und das Ergebniss sind FW/Driver Paketen wo es auch Sinn macht mit zu starten, heißt nicht das immer alles Problemlos läuft. Aber nur für diese Systeme bekommt man eben auch Unterstützung.

Diese ASHCI Systeme sind meist aber alles andere als günstig, was auch für die entsprechenden MS Lizenzen gilt.

Und laut der folgenden Doku ...

https://learn.microsoft.com/en-us/windows-server/storage/storage-spaces/ ...

... muss die Hardware für S2D auch nicht unbedingt ASHCI Zertifiziert sein.

Ausserdem, schau mal was diese Redmond-Microsoftianer selber zum Thema iWARP oder RoCE schreiben ...

s2d - iwarp - recommended

..., damit wären theoretisch alle Broadcom und NVIDIA NIC's nicht wirklich "recommended", da diese nur RoCE beherrschen. ๐Ÿ™ƒ

Ich spreche nur von Erfahrungen aus der Microsoft Nerd Community, hierzu gibt es auch Experten Kanäle via Slack Channel wo sich MVP und andere Microsoft Nerds ausstauschen zum Thema S2D/HCI und somit auch RDMA austauschen.

Kannst du mir per PN vielleicht ein paar Namen von entsprechenden MVP's schicken, die ich zu diesem Thema kontaktieren kann, danke.
Zum Karl, Sven, Manfred, Carsten und auch Dom, habe ich schon Kontakt.

Wenn man Ärger vermeiden will kauft man eben Mellnox NICs und die machen nur RoCE, für Intel ist das Thema eben nicht unbeding ihr Kerngeschäft sagen wir mal so.

Na na, Intel gehört immerhin mit zu den ältesten Netzwerktechnik-Hasen.
Aber ja, dieser elende Pat hat den Laden in den letzten Jahren auch schon ganz schön gegen die Wand gefahren. ๐Ÿ˜”๐Ÿ˜ญ

Wenn man mit Intel NICs und S2D auf Basis Lego , also sich selbst was baut kann man sich zumindest an den Treiber/FW Versionen von zertifizierten Systemen orientiern.

Ja, mit der einen oder anderen Treiberversion hatte ich auch bei Intel schon Stress, aber das ist bei den Treiber von NVIDIA und vor allem den von Broadcom ja auch nicht viel anders.

Und in den meisten Fällen hatte ich nicht wirklich Stress mit den Treibern selbst, sondern eher mit deren Default-Einstellungen, die zum grössten Teil jedoch auf Microsofts Mist gewachsen sind. ๐Ÿ˜ญ

dann weiter happy computing

Dir auch.
Übrigens, eure Performance-Dokus betreffend der BIOS Konfiguration der Server, finde ich neben denen von Fujitsu, mit am gelungensten. ๐Ÿ‘๐Ÿ‘๐Ÿ‘ ๐Ÿ‘๐Ÿ‘๐Ÿ‘

Gruss Alex
UdoWalberer
UdoWalberer Dec 01, 2024 at 19:57:08 (UTC)
Goto Top
Hi Alex,

ich melde mich nachher mal per DM. Hier noch die allgemeinen Infos zum Thema die denke für alle interessant sind.

Das Recommend für iWARP kam bei Microsoft aus der Zeit vor komplett zertifizierten Systemen aus dem HCI Catalog, man erhoffte sich weniger Support Calls von Kunden die sich nicht wirklich mit dem Thema beschäftigt haben und im Microsoft Support direkt angerufen haben mit RDMA Problemen. RoCE ohne richte Einstellung geht eben gar nicht weil UDP und PFC/ETS und DCB etc.. IWARP ist TCP und geht auch mit Netgear face-smile denken die meisten zumindest.

Aber hat sich nun erledigt da Intel der einzigste Anbieter ist der von OEMs bei S2D zertifizierbat ist und es da eben immer wieder mal Problemchen gibt. Also bei mit ist der Anteil von IWARP 0.0% face-smile wenn das wissen willst.

Von den normalen Installation sollte IWARP so max 1-2% ausmachen würde ich sagen.

Bei RoCE mit DAC Kabel direkt gesteckt auch easy, bis 3 Nodes geht Switchless auch noch einfach, ab 4 Nodes dann eben Switche kaufen die das auch können, gibt es es im HCI Catalog auch eine Liste die quasi auch für WS2025 gilt.
Ist keine XBOX also muss man sich schon etwas mit beschäftigen. Gibt aber heute viele gute Dokus und Videos zum Thema.

Zum HCI Catalog noch kurz, in dem Test versteckt sich auf der S2D Test für Windows Server wenn du so möchtest. Also man sollte als Kunde min. einen in Microsoft Sprache Validated Node kaufen. Alle anderen die Systeme zusammenbauen die sich zwar an der SDDC Premium Zertifizierung der Komponenten halten sind eben ihr eigener Solution Builder und sind somit ihr eigener Support !!! Kann man machen aber dann kannst halt nie deinen Server Hersteller um Hilfe bieten. Das was ich Lego nenne ist eigentlich vorbei seit 2019, kann man natürlich immer noch machen aber dann eben kein echter Support verfügbar.

Ein Validated Node ist auch nicht wirklich viel teurer als Teile kaufen und selber bauen, gibt auch Optionen von Thomas Krenn etc.. also wenn es günstig sein soll dann eben was von den deutschen OEMs die da auch Zertifizierungen machen auf Basis von Lego.

Cheers
Udo