So hier ein kleines HowTo für alle, die sich eine Infiniband 10Gbit (oder) Verbindung einrichten möchten. Der Treiber sollte mit alle Mellanox, IBM/Cisco und ggf. auch HP Karten laufen. Jeder der sich passende Hardware kaufen möchte sollte aber vielleicht nochmal genau nachschauen ob der Openfabrics Treiber funktioniert. Danach kommt das Einbauen der Karten und die Installation des IB-Kabels (CX4 Steckersystem). Wenn dann beide Rechner laufen sind folgende Schritte auszuführen um die Verbindung einzurichten. Ich hab dies am Bsp. von Windows 7 x64 aufgezeichnet. 2K8 R2 lüppt aber auf die gleiche Weise:
1. Usersicherheitseinstellungen anpassen - Stichwort "UAC"
Zunächst sollte man die UAC-Einstellungen auf die niedrigste Stufe setzen. Macht man dies nicht kann des dazu führen, dass später der OpenSM-Dienst nicht gestartet wird und man sich (wenn man es nicht erkennt) nen Wolf sucht. "Ausführen" -> "UAC" tippen und danach das Programm starten. Alternativ findet sich dies auch in der Systemsteuerung im Untermenü "Sicherheit". Um diese Fenster geht es:
Danach bitte einmal den/die Rechner neustarten!
2. Treibersoftware installieren
Nun geht es an die eigentliche Installation. Der IB-Adapter findet unter Windows keinen Treiber und wird im Gerätemanager so angezeigt:
An dieser Stelle sollte man sich den Openfabrics-Treiber im Netz besorgen (Google hilft). Nach dem Enpacken wird die Installation durch einen Doppelklick gestartet:
Nach ein paar weiteren Klicks gelangt man nun endlich zum Auswahl der zu installierenden Dinge. An dieser Stelle sollte man sich Gedanken machen, auf welchem System der OpenSM-Dienst laufen soll. Bei einer Punkt-zu-Punkt-Verbindung stellt sich da für die meisten hier die Frage: "Server oder Client". Ich würde dringend dazu raten den Dienst auf dem Klienten zu installieren. Damit ist das System gemeint, welches weniger/nicht dauerhaft läuft! Warum diese Empfehlung? Da komm ich später am Ende zu. Also aktiviere man nun zusätzlich auf dem Klienten bei der Installation den OpenSM aus (hier nicht als ausgewählt markiert, da der Dienst schon auf dem anderen System bei mir lief):
klickt man nun weiter wird die eigentliche Installation gestartet. Die "Fehlermeldungen" (ja es sind einige) sollte mit "Trotzdem installieren" beantwortet werden:
3. IB-Status überprüfen
Nach der Installation sollte man meine ich einmal neu starten. Falls dem nicht so ist, würde ich das trotzdem anraten. Ganz nebenbei kann man das Level der UAC wieder anpassen. Zunächst starte man den Server neu (System OHNE OpenSM-Dienst). Im Startmenü findet man nun den Openfabrics-Ordner und die passende Konsole. Nach dem Öffnen dieser lässt sich durch Eingabe von "ibstat" der Status der Karte bzw. der Verbindung abfragen:
Man sieht hier das der verbundene Port (hier Port 2) als physikalischen Status "Linkup" und eigentlichen Verbindungsstatus "Initializing" auswirft. Wenn man nun soweit ist sollte man auch den Client neu starten. Das führt dazu, dass sich nach kurzer Zeit der Status ändert. Sollt dies nicht passieren hat man nen UAC-Problem oder man sollte die Installation der Software auf dem Client entfernen und dann als "Administrator" (also nicht als User mit Admin-Rechten) nochmals durchführen. Ob das nötig ist, kann ich derzeit nicht nochmals überprüfen. Keine Lust alles nochmal durchzutesten
Gehen wir also davon aus, dass alles ordnungsgemäß funktioniert. Durch erneute Abfrage mittels "ibstat" ergibt sich dann folgende Anzeige:
Der Status "Active" ist jener, der angezeigt werden sollte, damit man nun an die Konfiguration der Netzwerkverbindung gehen kann.
4. Netzwerkverbindung und Adapteroptionen
Die IB-Verbindung sollte nun auch im entsprechenden Fenster als Verbunden angezeigt werden. In den Eigenschaften ist bereits alles vorhanden. Einige User berichten über bessere Übertragungsraten durch Deaktivieren des Paketplaners. Ich habs hier jetzt nicht gemacht. Am besten ein wenig damit rumspielen wenn die Verbindung i.O. ist.
Man kann hier schonmal die IP vergeben. Als nächstes sollte noch der Connected Mode auf beiden Systemen aktiviert werden. Dadurch wird automatisch die MTU-Größe deutlich erhöht:
Wenn man die IPs festgelegt hat ist die Verbindung im Grunde für die Nutzung bereit. EInzig und alleine eine Kleinigkeit gibt es noch. Windows stuft sie als "Öffentliches Netzwerk" ein. Wer die Dateifreigabe nutzen möchte sollte diese für öffentliche Netze und Netzwerkkennung aktivieren. Macht man dies nicht, lässt sich kein Ping ausführen, obwohl alles funktioniert (Tatsache! Wollte ich eben selber erst nicht glauben bis mir die Lösung einfiel. Ggf. gibts aber noch andere Wege (FW-Einstellungen etc.).
Ein Blick in den Taskmanager listet nun die IB-Verbindung mit 10Gbit (ggf. je nach Karten auch 20Gbit oder mehr):
Danach kann man dann lustig Daten transferieren. Ich hab dies mal eben kurz mit ner Corsair Force und nem Raid5 aus 6 HDDs im anderen System getestet:
Dank Windows Kopiercache ist die Geschwindigkeit beim Kopieren vom Raid5 auf die SSD zu beginn ganz nett. Später jedoch limitiert die Corsair Force mit 102MB/s (7,xx%). Beim Zurückopieren der Testdatei sieht man dann erstmals, was IB kann. Anfangs gibts ca. 450MB/s (Wahrscheinlich durch die SSD limitiert, da diese "nur" am Marvell SATA 6G Controller meines Maximus III Extreme hängt). Danach landet man irgendwann bei 330MB/s durch das Volllaufen des Raid5-Controllercaches. Fazit: Mein Storage kann die Verbindung nicht auslasten. Nen mögliches CPU-Limit sieht man hier noch nicht. Aus früheren Test ergaben sich ca. 680MB/s. danach macht die CPU dicht, bedingt durch zu hohe Verwaltungslast.
Anhang:
Was noch erwähnenswert ist:
Der OpenSM mag es überhaupt nicht wenn das Kabel im Betrieb abgesteckt wird oder der Rechner auf der anderen Seite runter gefahren wird. Beim späteren Neustart oder Anstecken des Kabels "hängt" die Verbindung (Ich meine es war der Status "Initializing"!?). Es geht nix mehr. Kein Transfer von Daten möglich. Dank der Suche im Netz wurde ich zum Glück vor dem Einrichten der Karten auf die Lösung aufmerksam. Das Problem: Die Config-Datei des OpenSM bleibt erhalten und findet sich im Verzeichnis "OpenSM" des Programmordners (BTW: Dieser Ordner ist direkt nach der Installation noch leer). Die Lösung ist ganz einfach: Die Datei löschen und den Rechner (Client
) neu starten.
Da nen Client normalerweise nicht 24/7 läuft, der Server jedoch schon, lässt sich dieses Problem durch eine Installation des OpenSM auf dem Clienten im Falle einer Direktverbindung beider Systeme auf diese Weise umgehen.
Daten der Systeme:
Server:
AMD X4 B55@3,2Ghz
MSI 890FXA-GD70
8GB DDR3-1333
WD 640GB Black@Windows 2k8 R2 x64
Dell PERC H700 mit 6x WD 1TB Black@R5 (Writeback)
Dell PERC 6E unbelegt/externes Backup
Cisco (IBM Topspin) 10Gbit HCA 128MB PCIe x8@x4
Client:
Intel i7-860@2,8Ghz stock
ASUS Maximus III Extreme
16GB DDR3-1333 Adata
Corsair Force GT 6G 60GB@6G Marvell onboard
Cisco (IBM Topspin) 10Gbit HCA 128MB PCIe x8@x8
Soweit dazu. Anregungen sind willkommen.
Miniaturansichten:
@€dit: UPDATE:
Die neue Version 3.9 des OFED bringt keine Fehlermeldungen bei der Installation. Ich hab die UAC jedenfalls noch ausgestellt. Die Verbindung funktionierte auf Anhieb nach der Paketinstallation. Sprich Server Ver 2.3 mit OpenSM und Client 3.0 funktioniert