10GBit iSCSI und 10GBit Windows Freigabe führt zu großen Performance-Problemen
Hallo Leute,
ich habe hier einen Testaufbau, der mir leider Kummer macht. Vielleicht hat jemand einen Tipp, wo der Denkfehler ist
Hardware
Ziel
VideoServer mit zunächst 2 Workstation, die über High-Speed parallel auf die Serverdaten zugreifen sollen.
Geplant ist, dass der Dell Server über eine DualportNic via iSCSI mit dem Infortrend Storage verbunden ist und dann über die anderen 10GBit Dualportkarte performant Daten an die Workstations abgibt. Dies läuft zunächst per Windows Freigabe, später über einen MAM Server, der ähnliche Verfahren nutzt.
Auf dem Tisch liegt noch ein 10Gbit Netgear Prosafe, den ich aber im Testaufbau noch herausgelassen habe.
Problem
Schließe ich das iSCSI Storage an die 10 GBitKarten an (getestet am Server und allen Workstation) habe ich mit Multipath ca. 12Gbit als Datendurchsatz (getestet mit Atto Benchmark und als 100GByte File). Ich vermute, hier ist irgendwo auch die Grenze des Storage-Durchsatzes.
Aber gebe ich dieses InfortrendStorage frei und versuche das gleiche über eine Windows Freigabe zu erreichen, habe ich in der Regel nur 2,8Gbit schreibend und maximal 1,5Gbit lesend. (Schreibend meint immer zum Gerät hin, wo das Storage gerade dran hängt.)
Switch habe ich wie beschrieben noch herausgenommen, um das auszuschließen. IP-Adresse direkt vergeben, fremde Netze abgeklemmt. Ich verwende Datwyler Cat 6A Kabel, 1,5m Länge. Keine Kabeldosen, alles im Rack nebeneinander. Alle Rechner exclusiv, CPU unausgelastet.
Ich habe die Durchsätze an allen Geräten identisch, der Server mit Windows 2012 R2 kam lesend sogar nur auf 1GBit, nach Treiberupdate dann auch auf 1,5GBit.
Ich habe leider keine Erfahrungen mit 10Gbit Netzwerken. Ich habe viel gelesen und gelernt, dass man mit Finetuning von 6 auf 7Gbits kommen kann. Man mag auch diskutieren, ob Teaming hier noch Steigerungen bringt. Aber 1,6Gbit ist einfach jenseits meiner Planung. Und ich habe bereits die Treiberspielchen mit JumboFrame, RSS und Co durchgearbeitet.
Aber ich glaube, ich habe hier einen grundlegenden Denkfehler gemacht.
Ich wäre sehr dankbar für einen Hinweis.
Viele Grüße
Jörg
ich habe hier einen Testaufbau, der mir leider Kummer macht. Vielleicht hat jemand einen Tipp, wo der Denkfehler ist
Hardware
- Infortrend iSCSI Storage 12 SAS Festplatten mit 10Gbit HBA
- Dell Server R530 16 Core (2x XEON E5-2620 v4) + 64GB RAM, 2x Dualport QLOGIC 57810 10Gbit Copper
- 2 Workstations mit QLOGIC QLE3442 10 Gbit Dualport Copper
Ziel
VideoServer mit zunächst 2 Workstation, die über High-Speed parallel auf die Serverdaten zugreifen sollen.
Geplant ist, dass der Dell Server über eine DualportNic via iSCSI mit dem Infortrend Storage verbunden ist und dann über die anderen 10GBit Dualportkarte performant Daten an die Workstations abgibt. Dies läuft zunächst per Windows Freigabe, später über einen MAM Server, der ähnliche Verfahren nutzt.
Auf dem Tisch liegt noch ein 10Gbit Netgear Prosafe, den ich aber im Testaufbau noch herausgelassen habe.
Problem
Schließe ich das iSCSI Storage an die 10 GBitKarten an (getestet am Server und allen Workstation) habe ich mit Multipath ca. 12Gbit als Datendurchsatz (getestet mit Atto Benchmark und als 100GByte File). Ich vermute, hier ist irgendwo auch die Grenze des Storage-Durchsatzes.
Aber gebe ich dieses InfortrendStorage frei und versuche das gleiche über eine Windows Freigabe zu erreichen, habe ich in der Regel nur 2,8Gbit schreibend und maximal 1,5Gbit lesend. (Schreibend meint immer zum Gerät hin, wo das Storage gerade dran hängt.)
Switch habe ich wie beschrieben noch herausgenommen, um das auszuschließen. IP-Adresse direkt vergeben, fremde Netze abgeklemmt. Ich verwende Datwyler Cat 6A Kabel, 1,5m Länge. Keine Kabeldosen, alles im Rack nebeneinander. Alle Rechner exclusiv, CPU unausgelastet.
Ich habe die Durchsätze an allen Geräten identisch, der Server mit Windows 2012 R2 kam lesend sogar nur auf 1GBit, nach Treiberupdate dann auch auf 1,5GBit.
Ich habe leider keine Erfahrungen mit 10Gbit Netzwerken. Ich habe viel gelesen und gelernt, dass man mit Finetuning von 6 auf 7Gbits kommen kann. Man mag auch diskutieren, ob Teaming hier noch Steigerungen bringt. Aber 1,6Gbit ist einfach jenseits meiner Planung. Und ich habe bereits die Treiberspielchen mit JumboFrame, RSS und Co durchgearbeitet.
Aber ich glaube, ich habe hier einen grundlegenden Denkfehler gemacht.
Ich wäre sehr dankbar für einen Hinweis.
Viele Grüße
Jörg
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 347620
Url: https://administrator.de/contentid/347620
Ausgedruckt am: 25.11.2024 um 19:11 Uhr
10 Kommentare
Neuester Kommentar
Hallo,
Gruß,
Peter
Zitat von @routeserver:
Schließe ich das iSCSI Storage an die 10 GBitKarten an (getestet am Server und allen Workstation) habe ich mit Multipath ca. 12Gbit als Datendurchsatz
Wie kann ein 10Gbit/s Adapter denn 12 Gbit/s datendaurchsatz haben?Schließe ich das iSCSI Storage an die 10 GBitKarten an (getestet am Server und allen Workstation) habe ich mit Multipath ca. 12Gbit als Datendurchsatz
(getestet mit Atto Benchmark und als 100GByte File)
Mal NetIO genommen, du willst den Durchsatz der Netzwerkadapter und nicht vom Storage oder so.Ich vermute, hier ist irgendwo auch die Grenze des Storage-Durchsatzes.
Hast du deine Frau auch aufgrund von Vermutungen geheiratet?Aber gebe ich dieses InfortrendStorage frei und versuche das gleiche über eine Windows Freigabe zu erreichen
Du weist wie Freigaben unter windows angesprochen werden? SMB. Und wenn es noch kein SMB v3 ist wo du....habe ich in der Regel nur 2,8Gbit schreibend und maximal 1,5Gbit lesend.
Das wundert dich?Treiberupdate dann auch auf 1,5GBit.
Dann spiel das Treiberupdate eben 6 mal ein, dann passts ja wieder Ich habe leider keine Erfahrungen mit 10Gbit Netzwerken.
Ist wie bei 10 Mbit/s 100 MBit/s oder 1 GBit/s, nur schneller.Aber ich glaube, ich habe hier einen grundlegenden Denkfehler gemacht.
Vermutlich ist bei auch noch alles im gleichen Netz, ohne Trennung und so. wie sieht den dein Netzplan dieser Komponenten aus? Male den mal auf Papier.Gruß,
Peter
Zitat von @routeserver:
Zwei Rechner, nackig, nix dran. gar nix. 2 Cat6a Kabel vom Dell-Server zum Storage und 1 Cat6a Kabel vom Dell-Server zum client.
Zwei Rechner, nackig, nix dran. gar nix. 2 Cat6a Kabel vom Dell-Server zum Storage und 1 Cat6a Kabel vom Dell-Server zum client.
- Was sagt denn netio oder iperf zwischen client und server?
- Hast Du mal geschaut, was der Ressourcenmonitor sagt, wo Engpässe liegen könnten?
- Kann der Client die Daten denn überhaupt so schnell wegschreiben oder liefern?
lks
moin mädels...
nicht nur das, hast du:
Hast du SMB Multichannel Constraint konfiguriert?
sollte für den NetBIOS Servername und den FQDN angewendet werden
was ist mit TCP Offload, RDMA, flow control und Jumboframes?
Frank
lks
Zitat von @Lochkartenstanzer:
Zitat von @routeserver:
Zwei Rechner, nackig, nix dran. gar nix. 2 Cat6a Kabel vom Dell-Server zum Storage und 1 Cat6a Kabel vom Dell-Server zum client.
Zwei Rechner, nackig, nix dran. gar nix. 2 Cat6a Kabel vom Dell-Server zum Storage und 1 Cat6a Kabel vom Dell-Server zum client.
- Was sagt denn netio oder iperf zwischen client und server?
- Hast Du mal geschaut, was der Ressourcenmonitor sagt, wo Engpässe liegen könnten?
- Kann der Client die Daten denn überhaupt so schnell wegschreiben oder liefern?
nicht nur das, hast du:
Hast du SMB Multichannel Constraint konfiguriert?
New-SmbMultichannelConstraint -InterfaceAlias "AdapterToStorage" -ServerName "Storage"
was ist mit TCP Offload, RDMA, flow control und Jumboframes?
Frank
lks
Hi
ich habe mit "Windows Shares" noch nie mehr wie 4-5Gbit auf einem 10G Strang hinbekommen, das liegt am Protokoll von MS. Versuche die Test mal mit iPerf oder einfach mit einer FTP Verbindung, dann kommst auch auf >4Gbit. Und bei 2 x 10Gbit auf 12Gbit zu kommen entspricht einer Nettoleistung von 6Gbit je Pfad....
Ich kenne die Config deiner Umgebung nicht, aber wie sich das anhört sind die Switche wohl auch nicht für iSCSI Optimiert (nur 10G und Jumbo Frames machen noch kein " iSCSI... (wie bereits @Vision2015 geschrieben hat). Vor allem im Windows Umfeld muss man an den Adaptern noch ein wenig mehr Einstellen damit das "flutscht".
Gruß
@clSchak
Edit/Add: 12 SAS Platten, je nach Raidlevel kommst auf 500-1000 MB/sec - ich tippe mal auf Nearline-SAS, damit hast eine interne Latenz von 10ms+ und eine IO Leistung von weniger wie 1000 - da bremst dir dein Array schon alles aus. Ein Storage das dir 1,25GB/sec liefert ist das auf jeden Fall nicht (wobei jetzt natürlich ein etwaiger SSD Cache einiges kompensieren kann).
ich habe mit "Windows Shares" noch nie mehr wie 4-5Gbit auf einem 10G Strang hinbekommen, das liegt am Protokoll von MS. Versuche die Test mal mit iPerf oder einfach mit einer FTP Verbindung, dann kommst auch auf >4Gbit. Und bei 2 x 10Gbit auf 12Gbit zu kommen entspricht einer Nettoleistung von 6Gbit je Pfad....
Ich kenne die Config deiner Umgebung nicht, aber wie sich das anhört sind die Switche wohl auch nicht für iSCSI Optimiert (nur 10G und Jumbo Frames machen noch kein " iSCSI... (wie bereits @Vision2015 geschrieben hat). Vor allem im Windows Umfeld muss man an den Adaptern noch ein wenig mehr Einstellen damit das "flutscht".
Gruß
@clSchak
Edit/Add: 12 SAS Platten, je nach Raidlevel kommst auf 500-1000 MB/sec - ich tippe mal auf Nearline-SAS, damit hast eine interne Latenz von 10ms+ und eine IO Leistung von weniger wie 1000 - da bremst dir dein Array schon alles aus. Ein Storage das dir 1,25GB/sec liefert ist das auf jeden Fall nicht (wobei jetzt natürlich ein etwaiger SSD Cache einiges kompensieren kann).
das liegt am Protokoll von MS
Nicht nur sondern auch am Protokoll Design selber. SMB nutzt in der Regel sehr kleine Framesizes um die 64 was sehr ineffizient ist, bzw. das ineffizienteste alle File und Storage Protokolle. Deshalb schliesst kein normaler ITler Storage mit SMB an jedenfalls dann nicht wenn man Performance haben will. Hier sind iSCSI, NFS oder auch FCoE deine Freunde.Frage ist auch ob du an den NICs und vor allem am Switch Jumbo Framing aktiviert hast. Das sollte man bei 10Gig Ethernet immer zwingend tun um dort nicht durch die 1500 Byte festgenagelt zu sein.
Das bringt noch etwas an Performance wird aber dein Problem nie final lösen können aus den bekannten obigen Gründen.
Alles immer noch ohne Switch gemessen, einfach die Karten miteinander verpatcht.
Das hast du richtig gemacht. Mit guter Kartenhardware und darauf aktiviertem Jumbo Framing bekommt man aber immer annähernd Wirespeed hin um die 9 Gig. OK natürlich nicht mit billigen Realtek Chipsätzen usw.Zeigt das deine NIC Hardware nicht ganz optimal ist oder du nicht aktuelle Treiber verwendest.
Teaming bringt nix, denn das basiert ja auf 802.3ad mit LACP und einem Hashing Verfahren entweder über die Macs oder IP Adressen.
Da musst du iPerf dann auch entspr. customizen mit mehreren Streams und dort entsprechende performance nachweisen zu können.
Nicht das Optimum aber alles in allem kann man mit 7Gig ja erstmal leben. Mehr wäre bei richtiger HW aber noch drin.
Doch dabei verliert sich schon wieder die Geschwindigkeit.
Zeigt der der Hypervisor nicht optimiert ist. Hast du das mal mit anderen Hypervisoren probiert wie vmWare oder VirtualBox ??Meist haben die bessere und optimiertere Treiber
Da bricht alles wieder auf 0,5Gbit ein.
Wie bitte ??? Wenn du nur allein den direkten Patch Link mit deinem Switch dazwischen ersetzt wo sonst kein Traffic mehr drauf ist bricht das von 7Gig auf 0,5 Gig zusammen ???Was ist das den für ein gruseliger Schrott ?? Noname China oder was ??
Das darf niemals passieren. Sofort entsorgen so einen Müll !
Ist auf den Switch Jumbo Framing aktiviert ??
802.3az EEE: enable = FALSCH ! Macht nur Sinn wenn der Switch auch EEE supportet was vermutlich nicht der Fall bei dir ist.
EEE im Server gehört generall AUS !!
Flow Control: Auto Negotiation = FALSCH ! Flow Control sollte man generell ausschalten im Netzwerk und das den höheren Protokollschichten überlassen.
Locally Administered Address: Damit kann man die Mac Adresse definieren = Unwichtig für dich
VLAN ID: 0 = Bedeutet die Karte macht kein Vlan Tagging der Frames = Richtig und unwichtig für dich
direkt mit IP-Adressen versorgt und möchte sie auch nur direkt ansprechen. Führt das zu Problemen?
Nein, im Gegenteil ! Damit hast du diese Daten ja isoliert vom Produktivtraffic, der dich damit nicht stören kann. Du hast dort also die gesamte dedizierte bandbreite für diese Daten. Ist ein klasssiches Konzept.Chipsets finde ich nirgendwo in den Specs,
Gut, dann setzt du ja auch die direkten QLOGIC Treiber ein und darauf kommt es an ! Die Treiber solltest du dann von der QLOGIC Seite laden....und später versuchen, wenn alles funktioniert.
Wäre auch die beste und sicherste Vorgehensweise.NetGear ist ja als Billigmarke im Consumerbereich nun nicht gerade bekannt für Performance und Durchsatz.
Richtig ist aber das du den Switch erstmal im Factory Default laufen lassen solltest.
Das einzige was du bei 10G immer machen solltest ist auf dem Switch global Jumbo Framing zu aktivieren.
Das ist bei 10G eigentlich immer Standard das zu machen, da auch in der regel durch die Bank alle NICs weltweit Jumbo Framing machen. Auf Switches muss man es aber explizit aktivieren !
Wenn Jumbo Framing und Jumbo Packet das gleich ist, dann habe ich Jumbo Packet: 9614 aktiviert
Ja ist gleich muss aber immer auf Switch UND NIC aktiviert sein !aber die Performance sank um 0,3Gbit bei deaktiveren.
Das kann nur sein wenn du von 10G auf 1G testest oder umgekehrt. Dann rennst du in das Sliding Window Problem bei TCP.Soclhe Billigswitches wie die NetGear Gurken haben sehr geringe bis keine Port Buffer um sowas abzufangen. Ein Nachteil dieser billigen Consumer Hardware. Ist dene Umgebung als heterogen was Speed anbetrifft dann ist Flow Control zwingend.
Wenn nicht kann es aus aber dann muss Server und Storage auch homogen mit 10G angebunden sein.
Buffer Tuning ist vermutlich auf dem billigen NG nicht möglich da der meist billige Custom ASICs aus Taiwan nutzt ?!
EEE Ethernet hat eigentlich mit deiner Umgebung rein gar nix zu tun und dürfte niemals die Performance beeinflussen, da weder die QLOGIC NICs EEE supporten noch der Switchport dann.
EEE ist im 10G Bereich vollkommen unüblich.
Nochwas:
Sind deine 10G Verbindungen 10G Base T also über Kupfer RJ45 ???
Wenn ja bedenke hier immer das 10G Base T ein Negotiation Verfahren benutzt und sehr stark von der Qualität des Kabels und der Signalisierung abhängig ist. Ein einfacher Knick oder produktionsfehler im Kabel kann die ausgehandelte Bandbreite halbieren ohne das du das merkst.
Es ist sehr gut möglich und fast anzunehmen das deine mickrigen 0,7 Gbit daraus resultieren.
Das ist übrigens ein Paradebeispiel warum verantwortungsvolle Netzwerker niemals Storage an Server mit 10G Kupfer anbinden.
Bzw. wenn dann Kupfer benutzt man immer Twinax bzw. DAC Kabel die wie Glasfaser immer 10Gbit auf der verbindung garantieren weil sie eben KEIN negotiation Verfahren nutzen wie 10G Base T.
Sofern du also RJ45 Verkabelung hast solltest du das sehr genau prüfen !
Bei Storage ist Base T bei 10G normal immer ein NoGo !