XenServer, NetApp, Cisco - Storage Design, maximale Nutzung der Netzwerkbandbreite
Hallo,
das hier ist mein erster Post, ich hoffe es gibt hier kein falschen oder richtigen Bereich, wenn doch dann bitte ich um Nachsicht
Ich bin momentan bei der Implementierung des folgenden Designs:
Ich weiß - gerade im Netzwerkbereich hat man in Kombination von verschiedenen Herstellersystemen oft die meisten Probleme bei der Konfiguration. Ich hoffe aber, jemand kann mir bei meinem Problem helfen.
Hier erstmal nachfolgend meine Konfigurationen:
Nun kann man sich zurücklehnen und sagen dass man jetzt fertig ist - jetzt aber beginnt aber der interessante Teil, nämlich das Testen des Netzwerks bzgl. der Bandbreite.
Und da gehen meine Probleme los.
Zum Testen habe ich folgendes Szenario erstellt:
- ich habe vier Netwerkfreigaben (ISO-Librarys) vol_Test, vol_Test2, vol_Test3, vol_Test4 auf der Seite von NetApp erstellt.
- jedes dieser Freigaben habe ich über ein eigenes VLAN per NFS Freigabe im XenServer gemountet, einfach deshalb, dass jeder gestartete Kopiervorgang über eine eigene Source- und einer Destination Adresse verfügt.
- auf jeder dieser Freigaben befindet sich eine ausreichend große Datei zum testen.
- die Kopiervorgänge starte ich auf der Konsole des XenServers, um weitere Fehlerquellen zu vermeiden.
- Kopiervorgang1 von volTest nach volTest2
- Kopiervorgang2 von volTest3 nach volTest4
Wenn ich nun ein Kopiervorgang starte, habe ich meine ca. 120 mb/s, was so 1 gbit/s entspricht. Bis hierher ist alles i.O., da eine Sitzung nur ein Interface (also 1 gbit/s) des Bonds nutzen kann.
Wenn ich aber dazu den zweiten Kopiervorgang starte, teilen sich beide das erste Interface und laufen beide so bei 60 mb/s. Warum wird der zweite Kopiervorgang nicht auf ein anderes Interface des Bonds gelegt?
Mein Ziel ist die Ausnutzung aller Interface des Bonds.
Habe ich einen Denkfehler in meinen Überlegungen?
Ich bin für jede Hilfe dankbar!
Gruß Johannes219
das hier ist mein erster Post, ich hoffe es gibt hier kein falschen oder richtigen Bereich, wenn doch dann bitte ich um Nachsicht
Ich bin momentan bei der Implementierung des folgenden Designs:
Ich weiß - gerade im Netzwerkbereich hat man in Kombination von verschiedenen Herstellersystemen oft die meisten Probleme bei der Konfiguration. Ich hoffe aber, jemand kann mir bei meinem Problem helfen.
Hier erstmal nachfolgend meine Konfigurationen:
Cisco Switch (Stacked) Konfiguration:
XenServer Konfiguration:
interface Port-channel18
description Storage XenServer
switchport trunk encapsulation dot1q
switchport mode trunk
switchport nonegotiate
!
interface GigabitEthernet1/0/31
description Storage XenServer ETH4
switchport trunk encapsulation dot1q
switchport mode trunk
switchport nonegotiate
channel-protocol lacp
channel-group 18 mode active
!
interface GigabitEthernet1/0/32
description Storage XenServer ETH5
switchport trunk encapsulation dot1q
switchport mode trunk
switchport nonegotiate
channel-protocol lacp
channel-group 18 mode active
!
interface GigabitEthernet2/0/31
description Storage XenServer ETH6
switchport trunk encapsulation dot1q
switchport mode trunk
switchport nonegotiate
channel-protocol lacp
channel-group 18 mode active
!
interface GigabitEthernet2/0/32
description Storage XenServer ETH7
switchport trunk encapsulation dot1q
switchport mode trunk
switchport nonegotiate
channel-protocol lacp
channel-group 18 mode active
!
Storage NetApp Konfiguration:
interface Port-channel14
description Storage NetApp
switchport trunk encapsulation dot1q
switchport mode trunk
switchport nonegotiate
!
interface GigabitEthernet1/0/25
description Storage NetApp e0a
switchport trunk encapsulation dot1q
switchport mode trunk
switchport nonegotiate
channel-protocol lacp
channel-group 14 mode active
!
interface GigabitEthernet1/0/26
description Storage NetApp e0b
switchport trunk encapsulation dot1q
switchport mode trunk
switchport nonegotiate
channel-protocol lacp
channel-group 14 mode active
!
interface GigabitEthernet2/0/25
description Storage NetApp e0c
switchport trunk encapsulation dot1q
switchport mode trunk
switchport nonegotiate
channel-protocol lacp
channel-group 14 mode active
!
interface GigabitEthernet2/0/26
description Storage NetApp e0d
switchport trunk encapsulation dot1q
switchport mode trunk
switchport nonegotiate
channel-protocol lacp
channel-group 14 mode active
!
NetApp Interface Konfiguration:
NetApp>rdfile /etc/rc
ifgrp create lacp Team-C1 -b ip e0a e0b e0c e0d
vlan create Team-C1 5
vlan add Team-C1 3
vlan add Team-C1 8
vlan add Team-C1 9
ifconfig e0M `hostname`-e0M netmask 255.255.255.0 mtusize 1500
ifconfig Team-C1-5 `hostname`-Team-C1-5 netmask 255.255.255.0 partner 172.17.255.5 mtusize 1500 trusted wins up
ifconfig Team-C1-3 `hostname`-Team-C1-3 netmask 255.255.255.240 mtusize 1500 trusted wins up
ifconfig Team-C1-8 `hostname`-Team-C1-8 netmask 255.255.255.0 mtusize 1500 trusted wins up
ifconfig Team-C1-9 `hostname`-Team-C1-9 netmask 255.255.255.0 mtusize 1500 trusted wins up
route add default 172.17.2.1 1
routed off
options dns.domainname SR-Node03-C1.osps.telekom.de
options dns.enable on
options nis.enable off
options interface.blocked.mgmt_data_traffic on
savecore
XenServer Interface Konfiguration:
Netzwerk Tests
Soweit erstmal dazu. Die Verbindungstest zwischen XenServer und NetApp verliefen erfolgreich.Nun kann man sich zurücklehnen und sagen dass man jetzt fertig ist - jetzt aber beginnt aber der interessante Teil, nämlich das Testen des Netzwerks bzgl. der Bandbreite.
Und da gehen meine Probleme los.
Zum Testen habe ich folgendes Szenario erstellt:
- ich habe vier Netwerkfreigaben (ISO-Librarys) vol_Test, vol_Test2, vol_Test3, vol_Test4 auf der Seite von NetApp erstellt.
- jedes dieser Freigaben habe ich über ein eigenes VLAN per NFS Freigabe im XenServer gemountet, einfach deshalb, dass jeder gestartete Kopiervorgang über eine eigene Source- und einer Destination Adresse verfügt.
- auf jeder dieser Freigaben befindet sich eine ausreichend große Datei zum testen.
- die Kopiervorgänge starte ich auf der Konsole des XenServers, um weitere Fehlerquellen zu vermeiden.
- Kopiervorgang1 von volTest nach volTest2
- Kopiervorgang2 von volTest3 nach volTest4
Wenn ich nun ein Kopiervorgang starte, habe ich meine ca. 120 mb/s, was so 1 gbit/s entspricht. Bis hierher ist alles i.O., da eine Sitzung nur ein Interface (also 1 gbit/s) des Bonds nutzen kann.
Wenn ich aber dazu den zweiten Kopiervorgang starte, teilen sich beide das erste Interface und laufen beide so bei 60 mb/s. Warum wird der zweite Kopiervorgang nicht auf ein anderes Interface des Bonds gelegt?
Mein Ziel ist die Ausnutzung aller Interface des Bonds.
Habe ich einen Denkfehler in meinen Überlegungen?
Ich bin für jede Hilfe dankbar!
Gruß Johannes219
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 264977
Url: https://administrator.de/contentid/264977
Ausgedruckt am: 25.11.2024 um 18:11 Uhr
37 Kommentare
Neuester Kommentar
Hallo Johannes,
ich kann dir (wahrscheinlich) damit nicht weiterhelfen, aber oft sieht man die Gabel im Heuhaufen einfach nicht.
Ich hab hier ein kleines Tutorial gefunden, eventuell hilft dir das ja bei der Fehlersuche weiter.
Ansonsten einfach abwarten, hier melden sich bestimmt noch Profis ;)
Beste Grüße
ich kann dir (wahrscheinlich) damit nicht weiterhelfen, aber oft sieht man die Gabel im Heuhaufen einfach nicht.
Ich hab hier ein kleines Tutorial gefunden, eventuell hilft dir das ja bei der Fehlersuche weiter.
Ansonsten einfach abwarten, hier melden sich bestimmt noch Profis ;)
Beste Grüße
Im Netzwerkbereich hat man in Kombination von verschiedenen Herstellersystemen oft die meisten Probleme bei der Konfiguration.
Nein, das ist eigentlich Unsinn wenn man weiss was man tut und hat auch nix mit Gabel und Heuhaufen zu tun !120 mb/s, was so 1 gbit/s entspricht.
Na ja...wenn du es noch richtig dargestellt hättest in üblicher Notation, hätte man es auch gleich verstanden. Klein mb = mbit Groß Mb = Mbyte !!das 120 mbit/s = 1000 mbit/s ist wäre ja sonst auch Blödsinn.
Aber kommen wir mal zum Wesentlichen...
Du schreibst oben das deine LACP Hashing Algorythmen "IP based" sind !! WO bitte hast du das definiert ?! Die Cisco Konfig ist syntaktisch absolut korrekt und richtig aber im Default ist die Hash Berechnug Mac Adress basierend so wie es der Standard vorgibt. IP Adress basiertes Hashing musst du entsprechend in der Konfig aktivieren und das dann auch auf BEIDEN Seiten. In der geposteten Cisco Konfig fehlt das port-channel load-balance xyz Kommando dafür !
Ferner solltest du auch mal mit show lacp neigbor checken ob die LACP Verbindung wirklich aktiv ist ?! Jedenfalls auf der Switchseite.
Wie die Serverseite und auch die NetAPP Seite die Hashing Berechnung konfiguriert musst du im Handbuch nachlesen. Default ist hier mit Sicherheit auch ein einfaches XOR der Mac Adressen wie der Standard es vorgibt. Sinnvoll wäre hier natürlich IP und am besten noch der Port zusätzlich wie es auf dem Cisco Catalyst eingestellt werden kann. Erst dann wird auch ein IP basiertes Hashing gemacht.
teilen sich beide das erste Interface und laufen beide so bei 60 mb/s. Warum wird der zweite Kopiervorgang nicht auf ein anderes Interface des Bonds gelegt?
Genau das ist der Punkt und zeigt das dein Hashing fehlerhaft ist !Bedenke das beide Seiten das NICHT negotiaten !! Jeder macht sein Hashing für sich und muss auch jeder für sich konfiguriert werden !
Tip: Sinnvoller ist ein Test mit IPerf, denn damit kannst du verschiedene Source Ports erzwingen und den Hashing Algorythmus besser testen:
IPerf Server:
iperf -s –u
IPerf Client:
iperf -c <IP address> -u -P 10
Erzeugt dir z.B. 10 parallele Test Streams mit 10 unterschiedlichen Source Ports und zeigt ob es sauber funktioniert.
OK, natürlich nur wenn der Port in die Hashberechnung mit einfliesst. Der Cisco kann das wenigstens wenn du ihm das in der Konfig auch sagst !
Vermutlich hast du wenig Mac Adressen und das Hashing endet bei all denen auf einem Link mit dem Ergebnis was du dann siehst !
Fazit: LACP Links checken das die auch wirklich aktiv sind (show prt channel x, show lacp neig) und den Balancing Algorythmus konfigurieren auf beiden Seiten Switch und Server/Storage !
Unter Linux ist das in der Regel immer mode 4.
https://kb.netapp.com/support/index?page=content&id=3013774&impr ...
https://glazenbakje.wordpress.com/2012/02/14/cisco-to-netapp-configurati ...
http://blog.scottlowe.org/2007/06/13/cisco-link-aggregation-and-netapp- ...
Sry - das habe ich schlichtweg vergessen zu posten
Hinterher kann das jeder sagen Leider wird es nicht von NetApp unterstützt.
Ist ja egal, dann klemmst du mal einen PC dran. Geht ja nur darum zu zeigen das beide Seiten mit dem Hashing umgehen können.ob ein Cisco 3750 Layer 3 unterstützt. Ist ja eigentlich ein normaler Layer2 Switch
Alles was vorne ne 3 hat kann auch L3 wenn man es konfiguriert. Ist aber für dein Szenario ja vollkommen irrelevant, denn du routest ja nicht mit dem Switch.Dir gehts ja einzig und allein im eine reine L2 Anwendung was Link Aggreagtion ja nunmal ist !!
und ich vermute die Option ist nur für Cisco Router vorgesehen.
WAS bitte für eine "Option" meinst du ???Der Befehl für die Layer 3 Konfiguration der Port-channels mit
Uuuhhhh...jetzt kommt aber der freie Fall nach unten beim Syntax raten !Bitte wirf erstmal einen Blick in Ciscos IOS Command Reference und lies nach was das Kommando switchport wirklich macht bevor du hier sinnfrei weiterrätst, sorry !
wird mir verweigert.
Ist ja auch kein Wunder wenn die physischen Ports zum Portchannel eine vollkommen andere Konfig haben und du so einen Mismatch erzwingst. Kein IOS Switch der Welt kann das !Fazit: Command Reference lesen !
Hab auch Src-Dst Mac auf allen Instanzen konfiguriert - gleiches Ergebnis..
Du hast aber schon in Betracht gezogen das du nur einfach zu wenigs Adressen hast um ein granularers Hashing Ergebnis zu erzielen oder...Kann auch sein das alles OK ist. 802.3ad macht eben aus dem Grund KEIN round Robin per Paket Balancing !
Politisch korrekt sollte ich wohl Etherchannel sagen ;-p
Na ja das können wir noch unterscheiden ob Trunk oder Etherchannel...nur rätst du hier ja wild rum was das Kommando switchport anbetrifft Die Option Switchport.
Das ist keineswegs eine "Option" sondern eins der wichtigsten Grundkommandos was dem Port eine Tagged oder untagged Funktion zuweist !Warum ich die Layer 3 Konfiguration überhaupt in Betracht gezogen habe ist
Du machst doch gar keinen L3 Konfiguration ?! Jedenfalls ist in deiner Konfig keiner solche ersichtlich oder routest du über den Switch und hast den Teil der Konfig oben gar nicht gepostet ??In deiner Konfig ist keinerlei L3 Konfig zu sehen ! Wäre es das, dann würde man dort jede Menge interface vlan x Kommandos mit IP Adressen usw. sehen....sieht man aber nicht
Deine beiden XEN Server befinden sich ja auch im gleichen IP Netz...auch da also kein L3. Oder ist dein Storage in einem anderen IP Netz ?
sondern über einen extra Bond mit jeweils 2 physikalischen Interfaces raus.
lieber mal einen Traceroute machen um zu checken ob das wirklich so ist... Problem ist das du nicht "sehen" kannst was die VMs bzw. die Storage Treiber da so machen bei deren Hash Berechnung ob die nun wirklich IP Adressen nehmen oder doch wieder die Macs.
Letzteres wäre solltest du wirklich irgendwo L3 Switching machen fatal, denn der Router hat ja immer nur eine einzige Mac was dann ein Balancing verhindern würde.
Gerade NetApp hat da in der Vergangenheit eher mit groben Schnitzern im Treiber geglänzt. Hier solltest du also unbedingt drauf achten das du da die wirklich aktuellste Firmware verwendest !
Was noch ganz hilfreich ist um beim Cisco Switch (und ggf. auch beim Storage oder XEN sofern dort SNMP aktiv ist !) ist ein kleines Tool was die Auslastung der Einzellinks im LAG grafisch anzeigt:
http://leonidvm.chat.ru
Das kannst du 4 mal starten auf dem Desktop und siehst die Verteilung grafisch auf den 4 einzelnen Links. (SNMP auf dem Switch aktivieren !)
Hier machst du aber einen Denkfehler und vermutlich einen Verständnisfehler.
LACP hat NICHTS mit der Hash basierten Verteilung auf die Links zu tun ! LACP erkennt lediglich ob der Port ein Aggregation fähiger Port ist mehr nicht.
Roud Robin ist völlig utopisch und bei 802.3ad basierten LAGs niemals möglich, das ist oben ja auch schon mehrfach gesagt worden.
LAGs nach 802.3ad verwenden ausschliesslich ein Hash basiertes Verteilverfahren und machen niemals Round Robin, der Standard gibt das nicht vor und technisch geht das auch gar nicht.
Es wird lediglich einen XOR Verknüpfung der letzten 4 Bits der Mac oder eben der IP Adresse gemacht und daraus ein Hash berechnet der auf einen einzigen physischen Link zeigt über den dann diese Session physisch übertragen wird.
Diesen Algorithmus bestimmt der 802.3ad Standard nicht LACP ! Also bitte nichts wild durcheinanderbingen hier !
Letztlich bestimmt also nur die Adressierung der Clients den Weg. Bessere Hersteller rechnen in den Hash noch den Port mit hinein. Ob Cisco UND auch deinen XEN Server das können musst du in deren Dokumentation checken !
Können sie das nämlich nicht dann bestimmt einzig und allein die Adresspaarung egal ob Mac oder IP über den physischen Link der Datenübertragung.
Da ist es also dann auch sinnfrei ob du mit IPerf den Port wechselst. Das greift nur wenn der Port ins Hashing mit einberechnet wird.
Vermutlich kann dein XEN NIC Kartentreiber das nicht und dann fürht der IPerf Test zu nichts...klar.
Kläre das also wasserdicht vorher sonst misst und suchst du dir einen Wolf.
Wenn du wirklichen Round Robin willst, dann must du DCB oder Fabric Switches verwenden wie z,B. Brocade VDX 6740er die können sowas. Stinknormale Campus Switches aber können nur 802.3ad und da regiert der Hash und kein Round Robin !
Bei Linux macht man z.B. immer ein Bundling mit mode 4 und dann wird auch ein sauberes Balancing gemacht !
LACP hat NICHTS mit der Hash basierten Verteilung auf die Links zu tun ! LACP erkennt lediglich ob der Port ein Aggregation fähiger Port ist mehr nicht.
Roud Robin ist völlig utopisch und bei 802.3ad basierten LAGs niemals möglich, das ist oben ja auch schon mehrfach gesagt worden.
LAGs nach 802.3ad verwenden ausschliesslich ein Hash basiertes Verteilverfahren und machen niemals Round Robin, der Standard gibt das nicht vor und technisch geht das auch gar nicht.
Es wird lediglich einen XOR Verknüpfung der letzten 4 Bits der Mac oder eben der IP Adresse gemacht und daraus ein Hash berechnet der auf einen einzigen physischen Link zeigt über den dann diese Session physisch übertragen wird.
Diesen Algorithmus bestimmt der 802.3ad Standard nicht LACP ! Also bitte nichts wild durcheinanderbingen hier !
Letztlich bestimmt also nur die Adressierung der Clients den Weg. Bessere Hersteller rechnen in den Hash noch den Port mit hinein. Ob Cisco UND auch deinen XEN Server das können musst du in deren Dokumentation checken !
Können sie das nämlich nicht dann bestimmt einzig und allein die Adresspaarung egal ob Mac oder IP über den physischen Link der Datenübertragung.
Da ist es also dann auch sinnfrei ob du mit IPerf den Port wechselst. Das greift nur wenn der Port ins Hashing mit einberechnet wird.
Vermutlich kann dein XEN NIC Kartentreiber das nicht und dann fürht der IPerf Test zu nichts...klar.
Kläre das also wasserdicht vorher sonst misst und suchst du dir einen Wolf.
Wenn du wirklichen Round Robin willst, dann must du DCB oder Fabric Switches verwenden wie z,B. Brocade VDX 6740er die können sowas. Stinknormale Campus Switches aber können nur 802.3ad und da regiert der Hash und kein Round Robin !
Bei Linux macht man z.B. immer ein Bundling mit mode 4 und dann wird auch ein sauberes Balancing gemacht !
auf LACP zu verzichten und stattdessen iSCSI zu verwenden.
Oh oh oh...du stürzt schon wieder im freien Fall ab !! Bitte lese vorher WAS LACP ist und was iSCSI ist.Beides hat rein GAR NIX miteinander zu tun !!
Bitte keine Halbwahrheiten ohne Sinn und Verstand raushauen hier.
LACP detektiert Aggregation fähige Ports nicht mehr und nicht weniger !! iSCSI ist simpler IP Traffic und überträgt über TCP Frames Block Storage. Beides hat miteinander soviel zu tun wie ein Fisch mit einem Fahrrad !
Einem LACP Link der 802.3ad Link Aggreagtion macht ist es ziemlich egal ob über ihn HTTP, VoIP, FTP, iSCSI, SMB, NFS oder was für IP Traffic auch immer drüberfliesst.
Warum sollte ihn das auch irgendwie interessieren ??
Dem LAG ist es nur wichtig aus den Paket Daten die Adressen und sofern supportet den Port zu lesen um dann zu entscheiden WELCHES Adresspärchen über welchen physischen Link am Switch oder NIC Team geforwardet wird.
Alles was oben in den zitierten Erklärungen steht ist richtig.
Jede Seite macht für sich unabhängig die Hash Berechnung und forwardet unabhängig.
Und JA, wenn die IP Adressen der Endgeräte immer dieselben sind und auch die Ports ändert sich ja am Hash nicht das Geringste und der physische Link ist immer derselbe über den physisch übertragen wird.
Alles bekannte Binsenweisheiten die da stehen !
Aus dem Grunde nutzen viele RZ Betreiber auch Fabric sprich DCB basierte Switches, die diese Limitierung des 802.3ad Balancing Algorithmus eben nicht mehr haben.
Mit deinen Campus Switches musst du aber damit leben...die können nichts anderes ebensowenig deine Teaming Algorithmen in den Servern.
auch wenn ich theroetisch iSCSI über LACP laufen lassn kann,
Nein ! Sorry aber entweder hast oder willst du es nicht verstehen. Das ist jetzt nicht böse gemeint aber LACP ist ein Punkt zu Punkt Protokoll und hat mit dem iSCSI Transport nicht das Geringste zu tun.LACP erkennt nur automatisch ob Links Aggregation fähig sind oder nicht ! Kein bischen mehr...
Deine Formulierung ist technisch falach oder unglücklich, sorry.
Wenn überhaupt müsstest du sagen zu schickst iSCSI über ein 802.3ad LAG das wäre halbwegs korrekt.
Es gibt ja auch statische LAGs die du auf dem Switch konfigurierst ! Die machen kein LACP aber dennoch eine statische Link Aggreagtion auch wieder auf Basis des 802.3ad Algorithmuses.
Statische LAGs würden dann deine Formulierung komplett ad absurdum führen, deshalb nochmal die Erinnerung das LACP nix mit irgendwelchen IP Diensten oder Protokollen zu tun hat die über einen LAG übertragen werden.
Faktisch aber genauso nix bringt ein Fisch und ein Fahrrad zu verheiraten, deshalb ist es evident das das nix bringt.
Eben weil es beim Storage Traffic in der Regel nur eine Source- und eine Destination gibt (z.B. XenServer und NetApp), kann LACP, (unabhängig vom load-balance / hashing Verfahren) hier wohl nicht für Bandbreitenoptimierung verwendet werden.
Das ist genau richtig !Hier hilft dir nur ein Fabric oder DCB Switch, der andere Mechanismen nutzt.
Die wurden mir so vorgesetzt und muss die Möglichkeiten nutzen, die mir die Switche bieten.
Schreib nen Investitionsantrag für was Neues. Genug Gründe hast du ja jetzt
Hallo ihr beiden,
Bitte nochmal kurz zu meinem Verständis:
Bei 802.3ad wird pro LAG nur eine MAC Adresse, IP und damit auch der selbe Hash-Wert verwendet, deshalb hat läuft der Traffic bei allen 3 Geräten immer über die gleiche Leitung.
Würden sich hingegen mehrere Clients mit verschiedenen IP sowie MAC Adressen Daten von der NetApp holen, würde die Lastverteilung wie gewünscht funktionieren.
Hab ich das so richtig verstanden?
VG
Val
Bitte nochmal kurz zu meinem Verständis:
Bei 802.3ad wird pro LAG nur eine MAC Adresse, IP und damit auch der selbe Hash-Wert verwendet, deshalb hat läuft der Traffic bei allen 3 Geräten immer über die gleiche Leitung.
Würden sich hingegen mehrere Clients mit verschiedenen IP sowie MAC Adressen Daten von der NetApp holen, würde die Lastverteilung wie gewünscht funktionieren.
Hab ich das so richtig verstanden?
VG
Val
Jein
Generell ja, denn der XOR Hash des 802.3ad Verfahrens zeigt immer auf den physischen Link auf dem dieses Pärchen bzw. Session dann geforwardet wird.
Bei vielen Switches und Teaming oder Bonding Treibern (Server) kann man die Hash Berechnung konfigurieren. IP Adressen, Mac Adressen mit oder ohne TCP und UDP Port.
Sinn macht natürlich so viel wie möglich Parameter in die Berechnung zu bringen um die Verteilung granularer zu bekommen. Es wird aber niemals ein homogenes fifty fifty Verhältnis erreicht, denn das ist ja von der Struktur der im Netz verwendeten Mac oder IP Adressen bzw. Ports abhängig.
Wenn du Pech hast und alle deine 3 Geräte den gleichen Hash Wert ergeben bleiben die alle auf einem Link. Je mehr Geräte desto größer die Chance das einige einen anderen Link benutzen (anderer Hash)
Deshalb kann man die Frage nicht genau beantworten.
Der große Pluspunkt ist die TCP oder UDP Ports mit in die Berechnung zu bringen, denn der Source Port ist ein Random Port. Das erhöht dann die Wahrscheinlichkeit einer besseren Verteilung erheblich.
Es gibt aber viele Fussfallen die lauern und die man beachten muss.
Rennt der Traffic z.B. über einen Router oder L3 Switch dann ist die Destination Mac immer eine feste Mac (die des Routers) so kann es niemals eine Verteilung über einen LAG geben. Hier MUSS man also auf IP Adressen umstellen um wieder Granularität zu erreichen.
Fazit: 802.3ad LAGs erfordern etwas "Design" in einem komplexeren Netzwerk.
In dummen flachen und reinen L2 Netzen ist es natürlich einfacher, denn dort funktioniert es meist ohne Konfig aber dann mit anderen Nachteilen die solche flachen Layer 2 Strukturen ohne Segmentierung mit sich bringen.
Ein sehr gutes Testtool um LAG 802.3ad Verteilung grafisch sichtbar zu machen ist das obern bereits gepostete STG:
http://leonidvm.chat.ru/
mit einem SNMP Switch oder aktiviertem SNMP auf Server NICs "sieht" man sehr schön die Auslastung einzelner Links mit inbound und outbound Traffic.
Generell ja, denn der XOR Hash des 802.3ad Verfahrens zeigt immer auf den physischen Link auf dem dieses Pärchen bzw. Session dann geforwardet wird.
Bei vielen Switches und Teaming oder Bonding Treibern (Server) kann man die Hash Berechnung konfigurieren. IP Adressen, Mac Adressen mit oder ohne TCP und UDP Port.
Sinn macht natürlich so viel wie möglich Parameter in die Berechnung zu bringen um die Verteilung granularer zu bekommen. Es wird aber niemals ein homogenes fifty fifty Verhältnis erreicht, denn das ist ja von der Struktur der im Netz verwendeten Mac oder IP Adressen bzw. Ports abhängig.
Wenn du Pech hast und alle deine 3 Geräte den gleichen Hash Wert ergeben bleiben die alle auf einem Link. Je mehr Geräte desto größer die Chance das einige einen anderen Link benutzen (anderer Hash)
Deshalb kann man die Frage nicht genau beantworten.
Der große Pluspunkt ist die TCP oder UDP Ports mit in die Berechnung zu bringen, denn der Source Port ist ein Random Port. Das erhöht dann die Wahrscheinlichkeit einer besseren Verteilung erheblich.
Es gibt aber viele Fussfallen die lauern und die man beachten muss.
Rennt der Traffic z.B. über einen Router oder L3 Switch dann ist die Destination Mac immer eine feste Mac (die des Routers) so kann es niemals eine Verteilung über einen LAG geben. Hier MUSS man also auf IP Adressen umstellen um wieder Granularität zu erreichen.
Fazit: 802.3ad LAGs erfordern etwas "Design" in einem komplexeren Netzwerk.
In dummen flachen und reinen L2 Netzen ist es natürlich einfacher, denn dort funktioniert es meist ohne Konfig aber dann mit anderen Nachteilen die solche flachen Layer 2 Strukturen ohne Segmentierung mit sich bringen.
Ein sehr gutes Testtool um LAG 802.3ad Verteilung grafisch sichtbar zu machen ist das obern bereits gepostete STG:
http://leonidvm.chat.ru/
mit einem SNMP Switch oder aktiviertem SNMP auf Server NICs "sieht" man sehr schön die Auslastung einzelner Links mit inbound und outbound Traffic.
Aqui, du kannst mich auch hier gerne korrigieren, wenn ich da wieder einen falschen Ansatz verfolge
Ne ist schon alles gut Aber so schwer ists ja nun auch wieder nicht:
Netzwerk Management Server mit Raspberry Pi
iperf funktioniert auf NetApp leider nicht, so kann ich das Tool zum Testen leider nicht verwenden.
Kannst denn einen Testrechner statt NetApp anschliessen oder parallel mit gleichen Bedingungen ?Wenn du nicht Server oder VM Leuten noch kurz sagst was sich hinter "VHD" verbirgt wäre das hilfreich (Virtual Hard Disk ?)
Der XenServer unterscheidet sich da wohl ganz erheblich von einem normalem Linux.
Dann hast du aber ein XEN Problem und kein Netzwerk Problem. Wäre aber verwunderlich denn alle relevanten Hypervisor am Markt nutzen ausnahmslos 802.3ad LAGs bzw. können mit diesen konfiguriert werden.Müssen sie ja auch, denn das ist weltweiter Standard.
Ich möchte ja eben gerade die jetztige Konfiguration bzw. die Kommunikation zw. NetApp und XenServer testen.
OK, das ist ja auch kein Problem. Du musst dann nur mit anderen Tools arbeiten und dir die Port Auslastung ansehen.Beim Switch sind das die bekannten show Kommandos auf dem CLI oder du machst das grafisch per SNMP mit kleinen Tools wie snmpwalk oder dem STP Grapher:
http://leonidvm.chat.ru
SNMP wird auch dein NetApp supporten so das du da kein Problem hast. XEN kann das auch SNMP muss man aber aktivieren dort.
Momentan liegt es eher an der Zeit, die mir zum Testen fehlt.
Das können wir vom Forum natürlich auch nicht ändern... bei einem NFS Volume einbricht, und auf einem iSCSI Volume nicht,
Lässt du NFS mit TCP oder UDP Encapsulation laufen ??NFS mit UDP wird iSCSI vermutlich nicht toppen können.
Gibt es Geschwindigkeitsunterschiede auf der Infrastruktur Verbindung ? Hast du z.B. 100Mbit Anschlüsse und 1Gig im Mix oder ist die Stecke Server-Netzwerk-Storage durchgängig 1 Gig ??
Sinn der Frage: Wenn du Speed Differenzen hast brauchst du zwingend gute Switches mit viel Buffer ansonsten kann es auch zu solchen Effekten kommen wie bei dir.
Sinn der Frage: Wenn du Speed Differenzen hast brauchst du zwingend gute Switches mit viel Buffer ansonsten kann es auch zu solchen Effekten kommen wie bei dir.
Auch das sollte korrekt konfiguriert sein,
Hilfreich wäre es wenn du dafür mal ein show link-aggregate oder show etherchannel oder show int portchannel mindestens aber ein show lacp mal posten kannst nur damit man wasserdicht sehen kann das die LAGs auch wirklich up and running sind.Das ganze hat aber einen gewaltigen Haken:
Dadurch das beide Anschlüsse in unterschiedlichen IP Netzen sind und du über den Switch routest kannst du keine Hash Berechnung über die Mac Adressen machen, denn die Mac Pärchen sind ja immer Server Mac und NetApp Mac.
Folglich wird der Hash immer und immer wieder nur auf einen einzelnen Link zeigen und damit physisch immer nur einen einzelnen Link benutzen.
Auch eine Hash Berechnung über IP Adressen und Port wird nichts bringen wenn du nur Traffic zwischen Server und NetApp hast, da das ja immer und ewig die gleichen IP Adressen benutzt.
Folglich wird also auch über einen IP Hash immer nur ein einziger Link benutzt. Aus Sicht der Netzwerk Infrastruktur bringt es also gar nichts einen 4er LAG zu machen wenn du nur zw. Server und NetApp Daten schaufeln willst.
Da macht es dann mehr Sinn auf 10 GiG zu gehen, denn Link Aggregation bringt dich da nicht weiter.
Aqui, ich glaube wir reden im Moment komplett aneinander vorbei
Ooops, sorry.... ja sehe ich schon. Deine 4 Links sind keine Trunks sondern 4 separate IP Netze. Sorry missverstanden Ein Bild sagt mehr als 1000 Worte
OK, dann ist der Switch quasi gar nicht existent, denn der reicht ja im L2 nur durch. Du jast dann quasi 4 parallele IP Netze.
Da hängts dann nun einzig und allein davon ab welche NIC in der Bindungsreihenfolge die erste ist.
Ein ist aber klar: Damit lässt sich keinerlei Art von Loadbalancing oder Load Sharing erreichen ! In so einem Design ist das aussichtslos aber das weisst du sicher auch selber.
Das ist so in dieser Konstellation mit 4 parallelen IP Netzen niemals möglich. Der iSCSI Prozess ist ja nur an ein IP Netz gebunden, da er sich da immer an der Ziel IP und der lokalen Routing Tablelle orientiert !
Mit separaten IP Netzen ist das völlig unmöglich.
Machbar nur mit Link Aggreagtion im Layer 2 aber auch da bekommst du keine granulare Verteilung aus den oben genanten Gründen (Mac und IP Hashberechnung)
Wenn du es wasserdicht lösen willst das du einen wirkliche per Paket Distribution über die 4 Links hast mit einer absoluten gleichmässigen Verteilung bekommst du das nur mit Fabric Switches hin.
Cisco Nexus oder Brocade VDX sind da die Klassiker. Die benutzen allesamt ein paketbasierendes Roud Robin Verfahren auf multiplen Links die einen gleichmässige Verteilung garantieren.
In IP Storage basierten Netzen sind die mehr oder minder eh Pflicht heutzutage, da sie ein identisches Verhalten abbilden wie man das aus Fibre Channel Storage Netzen kennt. Portieren das also quasi in den IP Bereich und Ethernet.
Das wäre die Ideallösung !
Ansonsten ist simples Link Aggregation 802.3ad mit LACP dein Weg zum Ziel.
Mit separaten IP Netzen ist das völlig unmöglich.
Machbar nur mit Link Aggreagtion im Layer 2 aber auch da bekommst du keine granulare Verteilung aus den oben genanten Gründen (Mac und IP Hashberechnung)
Wenn du es wasserdicht lösen willst das du einen wirkliche per Paket Distribution über die 4 Links hast mit einer absoluten gleichmässigen Verteilung bekommst du das nur mit Fabric Switches hin.
Cisco Nexus oder Brocade VDX sind da die Klassiker. Die benutzen allesamt ein paketbasierendes Roud Robin Verfahren auf multiplen Links die einen gleichmässige Verteilung garantieren.
In IP Storage basierten Netzen sind die mehr oder minder eh Pflicht heutzutage, da sie ein identisches Verhalten abbilden wie man das aus Fibre Channel Storage Netzen kennt. Portieren das also quasi in den IP Bereich und Ethernet.
Das wäre die Ideallösung !
Ansonsten ist simples Link Aggregation 802.3ad mit LACP dein Weg zum Ziel.
Hallo zusammen,
LACP reingeschrieben und je 4 Verbindungen von dem Server und der NetApp zu
den beiden Switchen gezeichnet!
und dann richte iSCSI auf den beiden Geräten ein.
LAG (WRR = Weighted round robin) an die beiden Switche anbinden und dann
das iSCSI auf den beiden Geräten einrichten, und in wie vielen VLANs die beiden
Geräte später Mitglied sind sollte keine Rolle spielen.
und wenn man die Kabel alle ausnutzen möchte sollte man immer
ein LAG anlegen bei dem auch alle Kabel mit in Benutzung sind!
Und nicht das erst ein Kabel defekt sein muss damit das nächste
in Benutzung kommt. Alternativ kann man sich sicherlich bei zu großen
Datenmengen auch einmal Gedanken über eine SFP+ oder 10 GbE
Anbindung machen, was mehr Durchsatz ermöglicht und zum
anderen Ports an den Switchen spart und zusätzlich noch mittels
iSCSI gut umzusetzen ist, die @Dani hier im Forum hat das auch so
bei sich umgesetzt;
- 10 GBit/s
- iSCSI
- LAG (statisch) WRR
Und das läuft gut so wie sie hier berichtet hat, wäre ja mal ein Denkanstoß oder nicht?
Gruß
Dobby
Aqui, ich glaube wir reden im Moment komplett aneinander vorbei
Das ist dann aber auch nicht @aqui´s Schuld denn im ersten Bild hast Du ganz klarLACP reingeschrieben und je 4 Verbindungen von dem Server und der NetApp zu
den beiden Switchen gezeichnet!
Ich bin momentan bei der Umsetzung des Storage-LANs über iSCSI.
Die Konfiguration ist komplett unterschiedlich zu LAGs.
Binde den Server und die NetApp einfach via LAG an beiden Switche anDie Konfiguration ist komplett unterschiedlich zu LAGs.
und dann richte iSCSI auf den beiden Geräten ein.
Ich habe mal eine vereinfachte Übersicht erstellt:
Die NetApp und den Server via dynamischen LAG (LACP) oder aber statischemLAG (WRR = Weighted round robin) an die beiden Switche anbinden und dann
das iSCSI auf den beiden Geräten einrichten, und in wie vielen VLANs die beiden
Geräte später Mitglied sind sollte keine Rolle spielen.
Mein Ziel ist die Ausnutzung aller Interface des Bonds.
Habe ich einen Denkfehler in meinen Überlegungen?
Hier schon wieder , ein Bond ist die Bezeichnung eines LAGsHabe ich einen Denkfehler in meinen Überlegungen?
und wenn man die Kabel alle ausnutzen möchte sollte man immer
ein LAG anlegen bei dem auch alle Kabel mit in Benutzung sind!
Und nicht das erst ein Kabel defekt sein muss damit das nächste
in Benutzung kommt. Alternativ kann man sich sicherlich bei zu großen
Datenmengen auch einmal Gedanken über eine SFP+ oder 10 GbE
Anbindung machen, was mehr Durchsatz ermöglicht und zum
anderen Ports an den Switchen spart und zusätzlich noch mittels
iSCSI gut umzusetzen ist, die @Dani hier im Forum hat das auch so
bei sich umgesetzt;
- 10 GBit/s
- iSCSI
- LAG (statisch) WRR
Und das läuft gut so wie sie hier berichtet hat, wäre ja mal ein Denkanstoß oder nicht?
Gruß
Dobby
Das ist in der Tat schon sehr merkwürdig und ungewöhnlich und würde dann eher auf ein Fehler des Treibers oder des Balancing Algorythmusses hinweisen !
Um ganz sicher das Netzwerk auszuschliessen solltest du dir die Lastverteilung auf den 4 Links mal grafisch ansehen wenn du da Daten schaufelst.
Am allereinfachsten geht das mit dem STG Tool:
http://leonidvm.chat.ru
Das kanst du 4mal öffnen (je einen Grafik pro Link) auf deinem Rechner und beobachten. So kannst du wunderbar grafisch sehen ob die Links entsprechend ausgelastet werden oder ob das Endgerät gar kein Balancing macht und weiterhin nur einen Link aktiv nutzt.
SNMP musst du dann natürlich aktivieren auf dem Switch.
Um ganz sicher das Netzwerk auszuschliessen solltest du dir die Lastverteilung auf den 4 Links mal grafisch ansehen wenn du da Daten schaufelst.
Am allereinfachsten geht das mit dem STG Tool:
http://leonidvm.chat.ru
Das kanst du 4mal öffnen (je einen Grafik pro Link) auf deinem Rechner und beobachten. So kannst du wunderbar grafisch sehen ob die Links entsprechend ausgelastet werden oder ob das Endgerät gar kein Balancing macht und weiterhin nur einen Link aktiv nutzt.
SNMP musst du dann natürlich aktivieren auf dem Switch.