Problema di Bonding

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
kurubin
Linux 0.x
Linux 0.x
Messaggi: 6
Iscritto il: mar 17 apr 2007, 11:10

Problema di Bonding

Messaggio da kurubin »

Salve
premetto che ho letto quasi tutti i post lasciati sul bonding, ma questo problema proprio non riesco a risolverlo e neppure a capirlo.. :cry:

ho due pc PC1 e PC2 con slackware 11 + kernel 2.6.17.13 con 2 schede
di rete gigabit RTL8169 identiche su ogni pc. Le schede di rete sono
collegate tra loro con cavi cross (PC1 eth0 -> PC2 eth0 e PC1 eth1
collegato PC2 eth1 )

con i seguenti comandi cerco di creare un bonding mode=1 (active-
backup)

modprobe mii
modprobe bonding mode=1 miimon=100
ifconfig eth0 down
ifconfig eth1 down
ifconfig bond0 192.168.0.1 netmask 255.255.255.0 up ( per PC1,
192.168.0.2 per PC2)
ifenslave bond0 eth0 eth1

come test provo a fare dei ping su entramebe le macchine, il bonding
funziona.
Se stacco il collegamento della scheda eth0 la scheda eth1 passa come "Currently Active Slave: eth1", noto pure "MII Status: down" e il "Link Failure Count: 1 " per la eth0

A questo punto provo a lanciare dei ping da entrambe la macchine, ma i ping vengono persi.

Su ifconfig vedo bond0 con indirizzo 192.168.0.1 ( per PC1 ) , eth0 e
eth1 entrambe con lo stesso MAC di bond0

la mia routing table è la seguente:
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 * 255.255.255.0 U 0 0 0 bond0

Ho usato le stesse procedure pure per il bonding mode=0 ( balance-rr
round robin), ma quando lancio dei ping da entrambe le macchine
il 50% dei pacchetti viene perso.

Sembra quasi che il collegamento esista solo per le schede eth0 di
entrambi i pc.

Forse ho dimenticato qualche passaggio, qualchuno può aiutarmi?

Avatar utente
diego
Linux 2.x
Linux 2.x
Messaggi: 333
Iscritto il: ven 1 apr 2005, 0:00

Messaggio da diego »

Se non hai fretta in settimana dovrei mettere su una slackware 11 per fare dei test
con kernel 2.6.x, faro' quindi delle prove di bonding e ti sapro' dire.
Ciao

p.s.
verifica con

Codice: Seleziona tutto

arp -a
i MAC address su entrambe le macchine

Avatar utente
Luci0
Staff
Staff
Messaggi: 3591
Iscritto il: lun 27 giu 2005, 0:00
Nome Cognome: Gabriele Santanché
Slackware: 12.2 14.0
Kernel: 2.6.27.46- gen 3.2.29
Desktop: KDE 3.5.10 Xfce
Località: Forte dei Marmi
Contatta:

Messaggio da Luci0 »

My name is bond ... James Bond...
Immagine
A parte lo scherzo ...
Al linux day del LUG-ACROS 2006 http://www.lug-acros.org nell' intervento di Matteo Carli http://www.matteocarli.com aka "swit" ricordo di aver sentito che le realtek 8169 avevano dato alcuni problemi con il Bonding ... ecco un link http://www.lug-acros.org/files/Linux_Da ... onding.pdf (... da quello che ho scritto puoi dedurre che .. non ho esperienze dirette).
Comunque i cavi cross delle schede a 1000Mbit debbono essere doppiamente cross ... quindi i cavi cross cat. 5e da 100Mbit sono cablati in maniera diversa dai cavi cross cat. 6 .. ma credo che tu lo sappia già !!!
Ultima modifica di Luci0 il mar 17 apr 2007, 22:39, modificato 1 volta in totale.

kurubin
Linux 0.x
Linux 0.x
Messaggi: 6
Iscritto il: mar 17 apr 2007, 11:10

Messaggio da kurubin »

Intanto grazie per l'interesse, fretta non ne ho ma sono circa 2 giorni che mi dispero per questo problema e spero di risolverlo prima possibile. :(

ho provato con arp -a

dunque in modalità MODE=1 lancio dei ping e vedo gli indirizzi MAC solo delle schede ETH0

se stacco il cavo di collegamento le schede eth1 si attivano ma con arp -a mi viene restituito

? (192.168.0.1) at <incomplete> on bond0
se lancio ping da PC2

? (192.168.0.2) at <incomplete> on bond0
se lancio ping da PC1

ho notato anche che i led delle due schede eth1 ( attualmente attive ) lampeggiano contemporaneamente ad ogni ping che lancio. E' come se l'ip che associo all'interfaccia bond0 fosse riferito solo alla eth0, invece eth1 sembra gestito dal sistema di active backup ma non gli viene associato nessun indirizzo ip.

Avatar utente
diego
Linux 2.x
Linux 2.x
Messaggi: 333
Iscritto il: ven 1 apr 2005, 0:00

Messaggio da diego »

Strano, sembra non tenga in pancia il MAC della bond0,
o forse puo' essere un problema di sk di rete come dice Luci0
La documentazione http://www.lug-acros.org/files/Linux_Da ... onding.pdf
mi sembra molto ben fatta, hai trovato qualche dissonanza con quella presente nel wiki?
Vedo di anticipare l'installazione del server che ti dicevo, e' passato un bel po' di tempo
dall'ultima volta che ho preso in mano il bonding, mi sa che cosi' non riuscirei ad esserti
d'aiuto.
Ciao

Avatar utente
Luci0
Staff
Staff
Messaggi: 3591
Iscritto il: lun 27 giu 2005, 0:00
Nome Cognome: Gabriele Santanché
Slackware: 12.2 14.0
Kernel: 2.6.27.46- gen 3.2.29
Desktop: KDE 3.5.10 Xfce
Località: Forte dei Marmi
Contatta:

Messaggio da Luci0 »

@diego ... grazie!
non lo sapevo ... e ho dato un occhio all' HOWTO che hai pubblicato nel wikislack ... l' ho stampato forse imparo qualcosa anch' io ... forse anche kurubin non l' ha visto ... e quindi linko http://www.slacky.eu/wikislack/index.ph ... Mini-Howto
:-) :-) :-)

kurubin
Linux 0.x
Linux 0.x
Messaggi: 6
Iscritto il: mar 17 apr 2007, 11:10

Messaggio da kurubin »

:) L'ho visto il wiki, sono partito da li. Ormai lo so a memoria.

comunque penso pure io a un problema di sk di rete, solo che mi sembra assurdo dato che le vedo attivarsi appena le interfacce eth0 vengono scollegate. :evil:

Avatar utente
Luci0
Staff
Staff
Messaggi: 3591
Iscritto il: lun 27 giu 2005, 0:00
Nome Cognome: Gabriele Santanché
Slackware: 12.2 14.0
Kernel: 2.6.27.46- gen 3.2.29
Desktop: KDE 3.5.10 Xfce
Località: Forte dei Marmi
Contatta:

Messaggio da Luci0 »

ok ..
ma il cavo é quello giusto ?? le 4 coppie (1-2, 2-6, 4-5, 7-8 ) debbono essere tutte scambiate ... !!

kurubin
Linux 0.x
Linux 0.x
Messaggi: 6
Iscritto il: mar 17 apr 2007, 11:10

Messaggio da kurubin »

Un cavo doppiamente cross per la Cat 6 non lo sapevo, e non ne ho in casa. Era montato un cavo Cat 5e e visto che mi hai fatto notare la cosa ho provato con dei cavi Patch Cat.6 e uno switch Gigabit.

PC 1 - Eth0 - Cavo Cat.6 -> Switch Gigabit
PC 1 - Eth1 - Cavo Cat.6 -> Switch Gigabit
PC 2 - Eth0 - Cavo Cat.6 -> Switch Gigabit
PC 2 - Eth1 - Cavo Cat.6 -> Switch Gigabit

I risultati sono identici a prima. :(

Avatar utente
Luci0
Staff
Staff
Messaggi: 3591
Iscritto il: lun 27 giu 2005, 0:00
Nome Cognome: Gabriele Santanché
Slackware: 12.2 14.0
Kernel: 2.6.27.46- gen 3.2.29
Desktop: KDE 3.5.10 Xfce
Località: Forte dei Marmi
Contatta:

Messaggio da Luci0 »

Ok ... ma non so se lo switch si incasina con il bonding, dal momento che spesso usano il MAC adress per switchare ...
Hai due possibilità i cavi cross in cat.6 oppure se la hai, prova delle classiche realtek 8139 ed i cavi cross a 100 così ti togli almeno il dubbio sulla configurazione del bond ... :-) :-) :-)

kurubin
Linux 0.x
Linux 0.x
Messaggi: 6
Iscritto il: mar 17 apr 2007, 11:10

Messaggio da kurubin »

proverò con le schede RTL8139 a 100Mb e cavi cross 5e. Almeno potrò capire se sono veramente le sk

kobaiachi
Linux 4.x
Linux 4.x
Messaggi: 1368
Iscritto il: gio 14 lug 2005, 0:00
Località: roma
Contatta:

Messaggio da kobaiachi »

se non ricordo male se ci metti di mezzo uno switch devi configurare un etherchannel sulle porte dello switch .

comunque prendi questa mia affermazione con il beneficio del dubbio perche e` tanto che non uso il bondig

Avatar utente
diego
Linux 2.x
Linux 2.x
Messaggi: 333
Iscritto il: ven 1 apr 2005, 0:00

Messaggio da diego »

kobaiachi ha scritto:se non ricordo male se ci metti di mezzo uno switch devi configurare un etherchannel sulle porte dello switch .
No, questo non serve, ricordo bene di aver usato uno switch hp con 2 sk di rete in bonding
(mode 1) su un server debian e non ho dovuto configurare niente
(a meno che non facesse qualcosa lui in automatico ... ).
Questa procedura sapevo serviva a Telecom quando oltre alla cdn ti portava una hdsl di
backup sulla stessa classe di indirizzi (infatti richiedeva un semplice HUB),
ma a quanto pare ora non gli serve piu'.
Ciao

p.s.
Se non ho imprevisti oggi spero di mettere in piedi una Slack 11 per fare delle prove.

Avatar utente
diego
Linux 2.x
Linux 2.x
Messaggi: 333
Iscritto il: ven 1 apr 2005, 0:00

Messaggio da diego »

Eccomi,
come promesso, ho installato una Slack 11.0 con kernel 2.6.18 con 2 skede di rete 3Com 3C905.
Avevo solo la eth0 configurata, ho dato questa sequeenza di comandi:

Codice: Seleziona tutto

lsmod # Vedo che e' presente il modulo mii
modprobe bonding mode=1 miimon=100 # carico il modulo bonding in modalita backup
lsmod # verifico la presenza del modulo
ifconfig eth0 down
ifconfig eth1 down
ifconfig bond0 hw ether AA:BB:CC:DD:EE:FF # MAC address della eth0
ifconfig bond0 192.168.0.10 netmask 255.255.255.0 broadcast 192.168.0.255 up #ip della eth0
ifconfig # verifico
gcc -Wall -Wstrict-prototypes -O -I/usr/src/linux/include/ /usr/src/linux/Documentation/networking/ifenslave.c -o /usr/bin/ifenslave # compilo ifenslave dai sorgenti del kernel
./ifenslave bond0 eth0 # master eth0
./ifenslave bond0 eth1 # slave eth1
cat /proc/net/bonding/bond0 # verifico
route -n
route add -net 0/0 gw 192.168.0.1 # aggiungo il gw
route -n
ping www.google.com
e pingo google, stacco il cavo di rete dalla eth0 e lo attacco su eth1 e dopo un paio di secondi ripinga.
Il cavo era attestato su uno switch HP, il kernel scaricato dall' ftp di slackware.com che ho compilato per mettergli il fs reiser come monolitico, la parte di networking non l'ho toccata, quindi dovrebbe funzionare anche il tgz originale.
Vado un po' di corsa, spero possa essere utile, ci risentiamo.
Ciao

kurubin
Linux 0.x
Linux 0.x
Messaggi: 6
Iscritto il: mar 17 apr 2007, 11:10

Messaggio da kurubin »

Ho fatto delle prove con schede RTL8139 a 100 Mb e il sistema di bonding funziona

Peccato per le Gigabit :(

Ho notato che sul kernel 2.6.21 sono state fatte delle correzioni per le schede RTL8169, le correzioni sembrano risolvere vari problemi.

Magari in futuro funzionerà con queste schede

Ringrazio tutti per il Vs aiuto, in particolare Diego che ha installato Slackware 11 per delle verifiche ;)

Rispondi