NAS über ISCSI an Windows Server 2016 Performanceverlust? LACP Einsatz sinnvoll?
Hallo zusammen,
ich habe momentan eine recht performante NAS. Diese hat per smb Share Daten freigegeben. Das lief auch super. Problem des Ganzen war nur, dass meine Backupsoftware die NAS nicht sichern konnte. (VEEAM Backup and Replication). Die kann nämlich nur VM's und deren Platten sichern.
Naja ich habe nun die NAS mittels ISCSI in meinem Windows Server 2016 Host eingebunden. Dort wiederum eine .vhdx für meinen virtualisierten FileServer erstellt.
soweit sogut...
Ich merke jetzt allerdings einen Performanceverlust und kann nicht ganz nachvollziehen warum und weshalb, weiß einer von Rat?
Habe mir vor dem Umzug eine Datei gemerkt, die ich auf meinem Windows10 Client kopiert habe: vorher 61 MB/s nachher 45 MB/s...
warum? der virtualisierte Fileserver shared wiederum an meinen Windows10 Client.
Habe sogar ein NIC Teaming über 3 erstellt... (momentan ohne LACP)
Zudem hätte ich eine Frage zu LACP oder Multipathing.
die NAS hat eine 10GBit Karte eingebaut. ich habe ein 10GBit Switch (managed)
Mein Windows 10 Client hat ebenfalls eine 10Gbit Karte eingebaut.
Mein Server (hier ist die NAS per ISCSI angebunden) hat allerdings nur 1Gbit NICS. Nun hatte ich die Idee für zusätzliche Performance LACP zu nutzen.
wurst,
dieser win10 client ist der 3D Zeichner / Render PC... wie kriege ich hier die höchste Bandbreite drauf?
Den Flaschenhals Server kann ich versuchen mit 3x 1GBit mittels Link Aggregation (LACP) flotter zu bekommen.
WÜRDE DAS ÜBERHAUPT FUNKTIONIEREN? Ich meine gelesen zu haben, dass LACP nur dann funktioniert, wenn die Gegenseite auch die selbe Konstellation aufweist. (Müsste meine Nas dann auch 3x 1GBit Interfaces haben? oder reicht der EINE 10GBit Port der NAS)
Vielen Vielen Dank im Voraus
ich habe momentan eine recht performante NAS. Diese hat per smb Share Daten freigegeben. Das lief auch super. Problem des Ganzen war nur, dass meine Backupsoftware die NAS nicht sichern konnte. (VEEAM Backup and Replication). Die kann nämlich nur VM's und deren Platten sichern.
Naja ich habe nun die NAS mittels ISCSI in meinem Windows Server 2016 Host eingebunden. Dort wiederum eine .vhdx für meinen virtualisierten FileServer erstellt.
soweit sogut...
Ich merke jetzt allerdings einen Performanceverlust und kann nicht ganz nachvollziehen warum und weshalb, weiß einer von Rat?
Habe mir vor dem Umzug eine Datei gemerkt, die ich auf meinem Windows10 Client kopiert habe: vorher 61 MB/s nachher 45 MB/s...
warum? der virtualisierte Fileserver shared wiederum an meinen Windows10 Client.
Habe sogar ein NIC Teaming über 3 erstellt... (momentan ohne LACP)
Zudem hätte ich eine Frage zu LACP oder Multipathing.
die NAS hat eine 10GBit Karte eingebaut. ich habe ein 10GBit Switch (managed)
Mein Windows 10 Client hat ebenfalls eine 10Gbit Karte eingebaut.
Mein Server (hier ist die NAS per ISCSI angebunden) hat allerdings nur 1Gbit NICS. Nun hatte ich die Idee für zusätzliche Performance LACP zu nutzen.
- Frage 1: Kann sich jemand erklären, warum ich nach dem ISCSI Umzug weniger Bandbreite habe?
- Frage 2: es geht mir hauptsächlich um die Bandbreite für meinen EINEN windows 10 client. Load balancing ist mir
wurst,
dieser win10 client ist der 3D Zeichner / Render PC... wie kriege ich hier die höchste Bandbreite drauf?
- Frage 3: NAS 1x 10GBit -> 10GBit Switch -> 1GBitServer(ISCSI) -> 10GBit Switch -> 10GBit Windows10 Client
Den Flaschenhals Server kann ich versuchen mit 3x 1GBit mittels Link Aggregation (LACP) flotter zu bekommen.
WÜRDE DAS ÜBERHAUPT FUNKTIONIEREN? Ich meine gelesen zu haben, dass LACP nur dann funktioniert, wenn die Gegenseite auch die selbe Konstellation aufweist. (Müsste meine Nas dann auch 3x 1GBit Interfaces haben? oder reicht der EINE 10GBit Port der NAS)
Vielen Vielen Dank im Voraus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 427266
Url: https://administrator.de/forum/nas-ueber-iscsi-an-windows-server-2016-performanceverlust-lacp-einsatz-sinnvoll-427266.html
Ausgedruckt am: 22.12.2024 um 20:12 Uhr
15 Kommentare
Neuester Kommentar
Moin.
Ich erreiche mit nur einer einzige Gbit-NIC ohne jegliches Trunking ~90MB/s beim Kopieren vom Client auf's NAS; umgekehrt sind es >100MB/s - dein Performanceproblem liegt sicher nicht am Netzwerk, ich tippe eher auf Platten, Konfiguration etc.
Details wären hilfreich:
- welches NAS, wie sind die Platten konfiguriert
- Läuft der Client mit HDD oder SSD
Cheers,
jsysde
Ich erreiche mit nur einer einzige Gbit-NIC ohne jegliches Trunking ~90MB/s beim Kopieren vom Client auf's NAS; umgekehrt sind es >100MB/s - dein Performanceproblem liegt sicher nicht am Netzwerk, ich tippe eher auf Platten, Konfiguration etc.
Details wären hilfreich:
- welches NAS, wie sind die Platten konfiguriert
- Läuft der Client mit HDD oder SSD
Cheers,
jsysde
Moin.
Ok, also schnelle Platten im NAS und SSD im Client - das liest sich erstmal gut.
Wenn du aber bei direktem Zugriff vom Client aufs NAS via 10G-NIC nur 61MB/s hast (womit haste das überhaupt gemessen), ist irgendwas ziemlich faul. Da könnten z.B. falsche Kabel im Einsatz sein, der Switch könnte die Ursache sein etc. Das aus der Ferne zu troubleshooten könnte etwas verzwickt werden... Welche Kabel hast du verwendet?
Kannst du mal den Client direkt (ohne Switch dazwischen) mit dem NAS verbinden und mal ganz blöd den Durchsatz messen?
Da müssten Werte deutlich oberhalb der 100MB/s.-Marke rumkommen. Wenn das mal sauber funktioniert, den Switch dazwischen und erneut messen - hier müssen die Werten beinah identisch gut sein.
Zum ISCSI-Setup, wie ich es normalerweise baue:
Hardware ist mit 10G-NIC mit Switch verbunden, in den VMs dann mehrere virtuelle Adapter in unterschiedlichen VLANs (Client, ISCSI, etc.); Jumbo Frames aktivieren auf den ISCSI-NICs, auf dem Switch und auf dem NAS. MPIO konfigurieren auf dem Server und auf dem NAS und ISCSI-LUN(s) entsprechend anbinden.
Cheers,
jsysde
Ok, also schnelle Platten im NAS und SSD im Client - das liest sich erstmal gut.
Wenn du aber bei direktem Zugriff vom Client aufs NAS via 10G-NIC nur 61MB/s hast (womit haste das überhaupt gemessen), ist irgendwas ziemlich faul. Da könnten z.B. falsche Kabel im Einsatz sein, der Switch könnte die Ursache sein etc. Das aus der Ferne zu troubleshooten könnte etwas verzwickt werden... Welche Kabel hast du verwendet?
Kannst du mal den Client direkt (ohne Switch dazwischen) mit dem NAS verbinden und mal ganz blöd den Durchsatz messen?
Da müssten Werte deutlich oberhalb der 100MB/s.-Marke rumkommen. Wenn das mal sauber funktioniert, den Switch dazwischen und erneut messen - hier müssen die Werten beinah identisch gut sein.
Zum ISCSI-Setup, wie ich es normalerweise baue:
Hardware ist mit 10G-NIC mit Switch verbunden, in den VMs dann mehrere virtuelle Adapter in unterschiedlichen VLANs (Client, ISCSI, etc.); Jumbo Frames aktivieren auf den ISCSI-NICs, auf dem Switch und auf dem NAS. MPIO konfigurieren auf dem Server und auf dem NAS und ISCSI-LUN(s) entsprechend anbinden.
Cheers,
jsysde
Frage 1: Kann sich jemand erklären, warum ich nach dem ISCSI Umzug weniger Bandbreite habe?
Weil du jetzt mehr Overhead als vorher hast. Davor lief lediglich SMB zum NAS und jetzt hast du zwischen Client und Server SMB und vom Server zum NAS iSCSI.
Verstehe nicht ganz, warum alle bis auf dem Server 10GBit NICs haben.
Ein NIC-Team mit 3x 1GBit NICs erhöht nicht die Performance, sondern ermöglicht lediglich, dass mehrere Verbindungen gleichzeitig statt finden können ohne Performance-Einbüße. Dennoch bleibt es bei 1GBit/s.
LACP ist die falsche Baustelle, dass ist lediglich für automatische Link Aggregation.
Du solltest dich mit SMB3 und Multipath I/O beschäftigen.
Was ist das Ziel von dem ganzen wenn der Client eh eine 1TB SSD hat?
mal die TCP Offloading-Properties der Netzwerkkarte durchprobieren. Windows 2016 vertut sich da gelegentlich mal und das kostet dann erstmal Performance. Und im Übrigen ist die Maximalperformance von 65 MB/Sec bei einer Raid 10 Konfiguration schon sehr langsam. Vermutlich war schon vorher irgendwas schief.
Jumbo Frames bringt nur was wenn das auch in allen Switchen aktiviert ist, aber mit Jumbo Frames im LAN beseitigt man normalerweise keine Performanceprobleme... kann man sogar mit dem Ping nachprüfen, Ping hat einen -L Parameter, wo man die Paketgröße angeben kann. Wenn also ein 64 KB Ping Paket genauso schnell am Ziel ankommt wie eins mit 64 byte dann wird man mit dem Jumbo frame ganz gewiß nichts reißen können.
Jumbo Frames bringt nur was wenn das auch in allen Switchen aktiviert ist, aber mit Jumbo Frames im LAN beseitigt man normalerweise keine Performanceprobleme... kann man sogar mit dem Ping nachprüfen, Ping hat einen -L Parameter, wo man die Paketgröße angeben kann. Wenn also ein 64 KB Ping Paket genauso schnell am Ziel ankommt wie eins mit 64 byte dann wird man mit dem Jumbo frame ganz gewiß nichts reißen können.
Hast du auf allen Komponenten Jumbo Framing aktiviert ?? Das ist in jedem Fall dringend anzuraten bei 10G ! Man beseitigt damit in der Tat keine Probleme, das ist richtig aber es bewirkt das man das Maximum rausholen kann über den gesamten Pfad wenn die Komponenten das supporten, was sie in der Regel aber tun.
SMB/CIFS ist zudem eine sehr schlechte Messlatte, da sie viele sehr kleine Pakete für den Datentransfer nutzen was ungemein ineffizent ist. Besonders mit wenig performanten Billigswitches bei kleinen Paketen darf man da keine Wunder erwarten.
Letztlich ist es schon ein gravierender Unterschied ob man ein Paket in einem 9k Byte Block einzeln überträgt oder zerhackt in n-mal 64Byte Paketen. Gut bei Premium Switches kein Thema aber der TO wird sicher Billigprodukte ala NetGear oder D-Link einsetzen und da sieht es eben anderes aus !
Deshalb wäre es sehr sinnvoll du würdest mal gänzlich unabhängig von der Sharing Protokoll Infrastruktur deine wirkliche Netz Performance messen um mal verlässliche und Aussage sichere Werte zu bekommen.
Z. B. mit NetIO oder IPerf3
https://web.ars.de/netio/
http://www.nwlab.net/art/netio/netio.html
Grundsätzlich ist aber auch dein Design suboptimal, denn im Frontend hast du 10G und im Backend dann mit einmal nur 1G.
Sinnvoll wäre es natürlich andersrum oder wenigstens es homogen hinzubekommen.
Wenn du bei ISCSI dann auch noch TCP Encapsulation nutzt dann ist das Fatal weil du ein Sliding Windows Problem und damit dann sog. Buffer Bloating bekommst durch den Speed Unterschied.
https://www.heinlein-support.de/sites/default/files/iscsi-optimization.p ...
https://blogs.cisco.com/datacenter/the-napkin-dialogues-lossless-iscsi
usw.
Besser man nutzt dann NFS mit UDP aber das geht eben nicht immer wenn man ISCSI basiert ist.
LACP LAGs wird dir nur wenig nützen, denn 802.3ad LAGs nutzen ein Hashing Verfahren über die Mac- oder IP Adressen um Sessions dann doch immer auf physische Links zu binden. Da du mit einer Punkt zu Punkt Verbindung zw. Server und NAS eben nur sehr wenig bis gar keine Entropie zw. den Macs was dann die Granularität in der Auswahl auf die LAG Member gegen Null gehen lässt.
Hier hilft dir auch nur eine "Fat Pipe".
SMB/CIFS ist zudem eine sehr schlechte Messlatte, da sie viele sehr kleine Pakete für den Datentransfer nutzen was ungemein ineffizent ist. Besonders mit wenig performanten Billigswitches bei kleinen Paketen darf man da keine Wunder erwarten.
Wenn also ein 64 KB Ping Paket genauso schnell am Ziel ankommt wie eins mit 64 byte dann wird man mit dem Jumbo frame ganz gewiß nichts reißen können.
Das ist auch nicht die Frage und hat mit Performance nichts zu tun. Entscheident ist hier die Anzahl der kleinen 64Byte Pakete pro Zeiteinheit. Da trennt sich dann ganz schnell die Spreu vom Weizen bei den Switches. Mit einem einzelnen Ping pro Sekunde ist sowas natürlich sinnfrei zu testen.Letztlich ist es schon ein gravierender Unterschied ob man ein Paket in einem 9k Byte Block einzeln überträgt oder zerhackt in n-mal 64Byte Paketen. Gut bei Premium Switches kein Thema aber der TO wird sicher Billigprodukte ala NetGear oder D-Link einsetzen und da sieht es eben anderes aus !
Deshalb wäre es sehr sinnvoll du würdest mal gänzlich unabhängig von der Sharing Protokoll Infrastruktur deine wirkliche Netz Performance messen um mal verlässliche und Aussage sichere Werte zu bekommen.
Z. B. mit NetIO oder IPerf3
https://web.ars.de/netio/
http://www.nwlab.net/art/netio/netio.html
Grundsätzlich ist aber auch dein Design suboptimal, denn im Frontend hast du 10G und im Backend dann mit einmal nur 1G.
Sinnvoll wäre es natürlich andersrum oder wenigstens es homogen hinzubekommen.
Wenn du bei ISCSI dann auch noch TCP Encapsulation nutzt dann ist das Fatal weil du ein Sliding Windows Problem und damit dann sog. Buffer Bloating bekommst durch den Speed Unterschied.
https://www.heinlein-support.de/sites/default/files/iscsi-optimization.p ...
https://blogs.cisco.com/datacenter/the-napkin-dialogues-lossless-iscsi
usw.
Besser man nutzt dann NFS mit UDP aber das geht eben nicht immer wenn man ISCSI basiert ist.
LACP LAGs wird dir nur wenig nützen, denn 802.3ad LAGs nutzen ein Hashing Verfahren über die Mac- oder IP Adressen um Sessions dann doch immer auf physische Links zu binden. Da du mit einer Punkt zu Punkt Verbindung zw. Server und NAS eben nur sehr wenig bis gar keine Entropie zw. den Macs was dann die Granularität in der Auswahl auf die LAG Member gegen Null gehen lässt.
Hier hilft dir auch nur eine "Fat Pipe".
Zitat von @manchmalfunktionierts:
Problem des Ganzen war nur, dass meine Backupsoftware die NAS nicht sichern konnte. (VEEAM Backup and Replication). Die kann nämlich nur VM's und deren Platten sichern.
Problem des Ganzen war nur, dass meine Backupsoftware die NAS nicht sichern konnte. (VEEAM Backup and Replication). Die kann nämlich nur VM's und deren Platten sichern.
Das ist so nicht richtig. Veaam B&R kann auf jedem Fall SMB-Freigaben sichern.
Wenn Die zu sichernden Daten in einer Freigabe liegen, kann Veeam B&R die Daten auch sichern (Tape). Und das mindestens schon seit Version 7.