PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 2 Netzwerkkarten trunken



zeeman
31.05.04, 22:56
Hi zusammen!

Folgende, kranke Idee (für ne LAN-Party für den FTP-Server): :ugly:

2 Netzwerkkarten in den Server rein,
beide NICs unter einer IP erreichbar,
und dann irgendwie über nen Loadbalancer den Traffic aufteilen.

Muss ja nicht so sein, dass ein Client über 2 NICs gefüttert wird, aber wenn zum Beispiel Client 1 und 3 (etc) auf NIC1 gefüttert werden und Client 2, 4 (etc) mit der 2. NIC wär das schonmal ganz nett.

GBit-NIC + GBit-Switch steht net zur Diskussion, mangels Kohle :p

Hoffe sowas geht ohne Linux, aber da bin ich relativ optimistisch :D

michael.sprick
31.05.04, 23:23
also viel kann ich dazu leider nicht sagen...aber es geht auf jeden Fall.
Die notwendige Kernel Option ist "Bundling"

vielleciht findest Du unter dem Stichwort was via Google...

netzmeister
31.05.04, 23:27
Hallo,

kann Dein Switch denn das?

Gibt das Plattensubsystem das überhaupt her?

Viele Grüße

Eicke

stefan-tiger
31.05.04, 23:32
IMHO geht das "relativ" einfach, per DNS-Server.

Der Leitet einfach die Anfrage an eine bestimmte Adresse und die zweite an eine andere und wieder von vorn.

Ich glaub das nennt sich "round robin" oder so.

http://www.net-lexikon.de/Round-Robin.html

Vielleicht gibts auch was für IP-Tables.

Das leichteste wäre allerdings wenn du deine Clients über ein Webinterface auf die Dateien zugreiffen lässt, dann kannst du ne schöne Webseite machen auf der man sieht wieviele Leute wo saugen. So wie z.b. bei Fileplanet.

Wenn dann jemand was runterladen will muß er nur auf den Link für den Server klicken beim dem gerade am wenigsten saugen.

EDIT: Was zwar schon genannt wurde: Du solltest mindestens RAID0 machen.

Gruß

zeeman
01.06.04, 00:11
darf ich mal fragen warum raid?
die platte hat ne leserate von ca 35 mb/s (durchschnitt)
wenn eine NIC 8 mb rausschickt ist das wohl viel
2*8 sind bei mir 16
da seh ich den sinn von raid nicht so ganz.... -.-

ansonsten ich schau mal was ich so unter den stichworten finde, danke

Jasper
01.06.04, 01:00
darf ich mal fragen warum raid?
die platte hat ne leserate von ca 35 mb/s (durchschnitt)
wenn eine NIC 8 mb rausschickt ist das wohl viel
2*8 sind bei mir 16
da seh ich den sinn von raid nicht so ganz.... -.-


leserate wie gemessen? bei fileservern wie bei datenbankservern interessiert mehr io/s nicht mb/s. die clients werden ja wohl kaum alle das gleiche file ziehen.
miss mal die leserate bei wahlfreiem zugriff über einen datenbestand der grösser ist als der cache von platte und os (so 10G sollten genügen).


-j

xeroc
01.06.04, 10:26
1) Die KernelOption heisst "Bonding"
2) Das Ding funtzt so, dass man einfach mit dem programm ifenslave 2nics zu einem device /dev/bond0 zusammenfasst und diesem device eine IP gibt ... Diese IP addresse spricht dann beide nics an .. man kann jetzt mit eineigen module-optionen (/usr/src/linux/Documentations/networking/bonding.txt) verschiedene Einstellungen angehen ....
zB beine nics arbeiten gleichzeitig und der balast wird geteilt ... oder aber man baut sich eine rsdudante leitung eth1 die nur verwendet wird, wenn eth0 ausfällt ...
3)Das ganze funtzt herrlich .. habs auch schon auf sessions ausprobiert gehabt ... mit 2x100MBIT beste 30MByte/s zusammenbekommen

Meilenstein
01.06.04, 10:51
hört sich interessant an

müssen das 2 gleiche Karten sein oder ist das völlig egal?

zeeman
01.06.04, 10:54
ok, das hört sich ja gut an mit dem bouding.
was sagt ne 3com superstack 3 3300 dazu?

so wie ich das auf der letzten lan erlebt habe dürfte der das mit machen (war halt das erstmal das ich mit so nem switch aus der gehobenen klasse gearbeitet hab, und irgendwie wars sehr schön )..... :ugly:

sirmoloch
01.06.04, 11:08
Hmm, also was Bonding ist, ist mir klar, nur wie läuft das mit der MAC-Adresse?

Wird die MAC-Adresse von eth0 oder eth1 benutzt? eth0 wäre ja eigentlich logischer...

Ok, ich geh auch mal suchen...;)

CYP
01.06.04, 11:28
im aktuellen linux magazin gibts nen artikel dazu

xeroc
01.06.04, 11:36
1) der switch MUSS PortTrunking unterstützen ... sonst gehts net ...
2) bei den MAC adressen kann ich auch net helfen
3) in der neuen Linux-Magzin steht nur was über arp .. ich hab nix gesehen über MAC over bonding .. wo soll denn des genau stehen ??

jonasge
01.06.04, 11:38
Der switch muss das aber auch Supporten!

Oder liege ich da falsch?
Gruß
Jonas

Meilenstein
01.06.04, 11:41
also Port Trunking stellt doch nur die Fähigkeit dar, dass 2 Switches untereinander eine höhere Bandbreite realisieren können.

Ob an einem Switch aber 2 PCs hängen oder 1PC mit 2 Karten is dem Switch wohl letzen Endes egal denke ich

xmarvel
01.06.04, 11:46
2 Netzwerkkarten in den Server rein,
beide NICs unter einer IP erreichbar,
und dann irgendwie über nen Loadbalancer den Traffic aufteilen.

Muss ja nicht so sein, dass ein Client über 2 NICs gefüttert wird, aber wenn zum Beispiel Client 1 und 3 (etc) auf NIC1 gefüttert werden und Client 2, 4 (etc) mit der 2. NIC wär das schonmal ganz nett.

fast alles ist unter Linux möglich ;)
Und genau für dein Problem habe ich schon ein nettes Tutorial geschrieben.
Bonding für Arme (http://www.xmarvel.homelinux.net/xmarvel/php/linux.php?action=show_entry&id=12)


1) Die KernelOption heisst "Bonding"
2) Das Ding funtzt so, dass man einfach mit dem programm ifenslave 2nics zu einem device /dev/bond0 zusammenfasst und diesem device eine IP gibt ... Diese IP addresse spricht dann beide nics an .. man kann jetzt mit eineigen module-optionen (/usr/src/linux/Documentations/networking/bonding.txt) verschiedene Einstellungen angehen ....
zB beine nics arbeiten gleichzeitig und der balast wird geteilt ... oder aber man baut sich eine rsdudante leitung eth1 die nur verwendet wird, wenn eth0 ausfällt ...
3)Das ganze funtzt herrlich .. habs auch schon auf sessions ausprobiert gehabt ... mit 2x100MBIT beste 30MByte/s zusammenbekommen

Das ist das richtige Bonding nicht wie im mein Tutorial dafür braucht man aber eine entsprechenden Switch der Bonding unterstützt (Jeder Hersteller bezeichnet Bonding irgendwie anders bei Cisco heisst es glaube ich Trunking)
Und diese Switche sind ziemlich teuer wenn man sich die Preise mal anschaut :eek:


hört sich interessant an

müssen das 2 gleiche Karten sein oder ist das völlig egal?

Die Netzwerkkarten sind nicht das entscheidene. Beim echten sowie bei ein unechten Bonding können die Netzwerkkarten verschieden sein. Also auch unterschiedliche Hersteller.



ok, das hört sich ja gut an mit dem bouding.
was sagt ne 3com superstack 3 3300 dazu?

so wie ich das auf der letzten lan erlebt habe dürfte der das mit machen (war halt das erstmal das ich mit so nem switch aus der gehobenen klasse gearbeitet hab, und irgendwie wars sehr schön ).....

Tja wenn du uns auch noch die restliche Bezeichnung des Switches Preisgeben würdest :ugly:
Denn von 3300er gibt es mehrere. Laut Produktbeschreibung kann es sein das du sogar echtes Bonding verwenden kannst (aber eben nur wenn du das Modul besitzt)
Dann ist mein Tutorial natürlich total falsch. Dann kannst du auch die Bonding Treiber vom kernel benutzen.


Hmm, also was Bonding ist, ist mir klar, nur wie läuft das mit der MAC-Adresse?

Wird die MAC-Adresse von eth0 oder eth1 benutzt? eth0 wäre ja eigentlich logischer...

Ok, ich geh auch mal suchen...

Das ist ja das Problem Layer 2 Switche befinden sich nur auf der Sicherungschicht. Deswegen arbeiten die Switche nur mit MAC Tabellen die nur eine arp Anfrage versenden (siehe ISO-OSI Modell)

So ich hoffe ich habe jetzt ein bissel Licht ins Dunkeln gebracht :p

MFG
xmarvel

xeroc
01.06.04, 11:49
So ich hoffe ich habe jetzt ein bissel Licht ins Dunkeln gebracht :p

Oh ja .. das hast du .. Danke für die detailierte beschreibung und den link

sirmoloch
02.06.04, 15:52
Das ist ja das Problem Layer 2 Switche befinden sich nur auf der Sicherungschicht. Deswegen arbeiten die Switche nur mit MAC Tabellen die nur eine arp Anfrage versenden (siehe ISO-OSI Modell)

Das ist mir klar, daher ja auch meine Frage ;)

Soweit ich in der Kernel-Dokumentationsdatei gelesen habe, ist Bonding auch mit einem gewöhnlich Layer 2-Switch möglich... Hmm, ich muss mal dringen forschen gehen...;)

stefan-tiger
02.06.04, 16:55
Das ist mir klar, daher ja auch meine Frage ;)

Soweit ich in der Kernel-Dokumentationsdatei gelesen habe, ist Bonding auch mit einem gewöhnlich Layer 2-Switch möglich... Hmm, ich muss mal dringen forschen gehen...;)

Ja, ich denke bei einem managebaren Switch kann man einfach zwei Ports so einststellen, daß sie OSI-mäßig nur eine neue, erfundene MAC-Adresse haben und dann "intern" die Pakete aufgeteilt werden.

xmarvel
02.06.04, 17:11
Das ist mir klar, daher ja auch meine Frage

Soweit ich in der Kernel-Dokumentationsdatei gelesen habe, ist Bonding auch mit einem gewöhnlich Layer 2-Switch möglich... Hmm, ich muss mal dringen forschen gehen...

Da brauchst du eigentlich nicht forschen weil alles in der bonding.txt steht :)

Layer 2 Switche funktionieren nur mit active-backup, balance-tlb und balance-alb mode.
Wobei active Backup nur für den Fall eines Port Ausfall der andere "Backup" Port einspringt. Also kein echtes Bonding sondern eher Fail Over Lösung.
balance-tlb werden nur die ausgehende Packete verteilt aber nicht die eingehende also auch wieder kein echtes Bonding
und zu guter letzt balance-alb mode wo ich mir mit dem Text etwas schwer getan habe :rolleyes:
Aber ich habe es so verstanden das wenn eine Anfrage kommt die erstmal durch den ersten port geht die Antwort aber durch einen der Netzwerkkatzen MAC Adresse überschrieben wird und diese der Client den "lernen" muss. Später gehen die Anfragen dann auf die "gelernte" Mac Adresse.
Das Problem liegt darin kommt ein Client dazu oder startet jemand sein Rechner neu so muss jeder Client die MAC Adressen wieder neu "lernen".
Also auch wieder nicht das richtige Bonding.
Aber vielleicht habe ich den Text auch falsch verstanden. :p


Ja, ich denke bei einem managebaren Switch kann man einfach zwei Ports so einststellen, daß sie OSI-mäßig nur eine neue, erfundene MAC-Adresse haben und dann "intern" die Pakete aufgeteilt werden.

Das Verfahren von echten Bonding macht meines Wissen jede Firma anders.
Je nach der Art der jeweiligen Layerschicht.

MFG
xmarvel

sirmoloch
02.06.04, 17:22
Da brauchst du eigentlich nicht forschen weil alles in der bonding.txt steht :)

Ich hatte letztens in der Schule keine Zeit die Datei komplett zu lesen, daher...;)

theWireless
24.08.04, 04:06
ich weis, Fred ist schon etwas älter, aber meine Frage passt grade so schön dazu.
Ich habe hier nen billigen LinkPro-Switch stehn (reicht für mein Netz dicke), im Handbuch steht was von "Support Port-Base Trunking, upto 4 Trunk Groups". Das kann ich mit Dip-Schaltern am Switch einstellen. Weiter im Handbuch steht dann:
"Port Base Trunking group: 4
Mini DIP switch [5]:
[OFF]: Disable (default)
[ON]: Enable Port trunk 4, which consists of ports 13,14,15,16."

Bedeutet das, dass ich nun echtes Port-Trunking kann? Also, dass ich dann mit der dual-port Karte, die ich im Sys hab, die vollen, echten 400Mbit FDX erreichen kann?
momentan hab' ich mein Bonding auf Round-Robin konfiguriert, was auch voll suprt funktioniert, mir jedoch irgendwie nich viel bringt, da ich nur einen switch hab und nur eine dual-port NIC, fällt also entweder switch oder Karte aus, hab ich auch kein fallback ;) Gut, es is lustig unseren Mieter zu schocken einfach ein Kabel zu ziehen, während er grad was vom Server brennt, aber der Trick funktioniert auch nur ein Mal :D . Daher würd ich gerne mal das trunking probieren.

Ja, es ist ein RAID0 vorhanden und ja, es gibt mehrere User, die auf den Server zugreifen ;)

Es ist nur für mich zum rumspielen, nen Nutzen zieh ich daraus keinen, das is mir klar (nur um evtl. Fragen vorzubeugen :) )