ci risiamo, configurazione 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.
dark0s
Linux 3.x
Linux 3.x
Messaggi: 556
Iscritto il: lun 10 gen 2005, 0:00

Messaggio da dark0s »

Questo non lo so :(
Nel tardo pomeriggio ti saprò dire.
Una domanda, nel configurare le due schede di rete in bonding non serve assegnare ad entrambe un ip, l'importante è assegnare l'indirizzo ip alla interfaccia virtuale bond0, giusto?

Ciao

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

Messaggio da diego »

dark0s ha scritto:nel configurare le due schede di rete in bonding non serve assegnare ad entrambe un ip, l'importante è assegnare l'indirizzo ip alla interfaccia virtuale bond0, giusto?
si

ciao

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

Messaggio da diego »

Come promesso ho recuperato la seconda sk di rete e ho fatto le prove,
ti posto i due script che ho utilizzato, molto semplici quanto grezzi, mi perdonerai :?

Nome file: enable-bonding.sh
--------------------------------------------------------------------------------------------------------
#!/bin/sh
#
modprobe bonding mode=0 arp_interval=100 arp_ip_target=192.168.0.10 primary=eth0
ifconfig bond0 hw ether 00:00:B4:BB:C3:3A
ifconfig bond0 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255 up
ifenslave bond0 eth0
ifenslave bond0 eth1
--------------------------------------------------------------------------------------------------------

Nome file: disable-bonding.sh
--------------------------------------------------------------------------------------------------------
#!/bin/sh
#
ifenslave -d bond0 eth0
ifenslave -d bond0 eth1
ifconfig eth0 down
ifconfig eth1 down
ifconfig bond0 down
modprobe -r bonding
--------------------------------------------------------------------------------------------------------

Configurazione di prova:
PC1 con eth0 e eth1 in bonding sull' 192.168.0.1, Slack 10.1 e kernel 2.4.29 (default)
PC2 con windows 2000 (dal quale ti sto scrivendo) e una scheda di rete con ip 192.168.0.10
Le prove sono fatte con un cavo cross tra PC1 e PC2
(scollegando e ricollegandolo alternativamente da eth0 e eth1, non avendo un Hub :oops: )

Spiegazione di enable-bonding.sh:
#modprobe bonding mode=0 arp_interval=100 arp_ip_target=192.168.0.10 primary=eth0
Ho attivato il bonding in modalita' backup usando arp_interval, in quanto il modulo mii non
mi vedeva la seconda sk di rete (che potrebbe essere quello che fa per te),
arp_ip_target l'ho fatto puntare sul secondo PC2 e la primary e' l'eth0.
#ifconfig bond0 hw ether 00:00:B4:BB:C3:3A
ho attivato il bonding assegnandohli il MAC Address della eth0, potrebbe essere anche
uno inventato: come fa Telecom quando attiva il load-balancing su due router.
Non ho certamente il Know-how Telecom, ma per me ad un ip deve corrispndere un
ben preciso e univoco Mac Address :!:
#ifconfig bond0 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255 up
Qui invece ho configurato l'ip della bond0, ovviamente puoi aggiungere anche il gateway
se ne hai bisogno, e' una normale configurazione di un'interfaccia di rete.
#ifenslave bond0 eth0
#ifenslave bond0 eth1
Ed infine aggrego la eth0 e la eth1 alla bond0
Fine.
Risultato: pingando PC2 da PC1 (e viceversa) e spostando il cavo cross ora su eth0, ora
su eth1 (quando ero abbastanza veloce) non perdevo nemmeno un ping :D .
Alcuni dati che ti aiuteranno a verificare la tua configurazione:

Configurazione di rete:
--------------------------------------------------------------------------------------------------------
#ifconfig
bond0 Link encap:Ethernet HWaddr 00:00:B4:BB:C3:3A
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:39630 errors:0 dropped:0 overruns:0 frame:0
TX packets:42341 errors:18234 dropped:0 overruns:0 carrier:32650
collisions:0 txqueuelen:0
RX bytes:2469563 (2.3 Mb) TX bytes:3850491 (3.6 Mb)

eth0 Link encap:Ethernet HWaddr 00:00:B4:BB:C3:3A
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:28003 errors:0 dropped:0 overruns:0 frame:0
TX packets:29394 errors:5540 dropped:0 overruns:0 carrier:9620
collisions:0 txqueuelen:1000
RX bytes:1744871 (1.6 Mb) TX bytes:2216827 (2.1 Mb)
Interrupt:11 Base address:0x1060

eth1 Link encap:Ethernet HWaddr 00:00:B4:BB:C3:3A
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:11627 errors:0 dropped:0 overruns:0 frame:0
TX packets:12947 errors:12694 dropped:0 overruns:0 carrier:23030
collisions:0 txqueuelen:1000
RX bytes:724692 (707.7 Kb) TX bytes:1633664 (1.5 Mb)
Interrupt:11 Base address:0x1020

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:65 errors:0 dropped:0 overruns:0 frame:0
TX packets:65 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:6000 (5.8 Kb) TX bytes:6000 (5.8 Kb)
--------------------------------------------------------------------------------------------------------


Cavo attaccato su eth0:
--------------------------------------------------------------------------------------------------------
#cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v2.6.0 (January 14, 2004)

Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: up
Link Failure Count: 1
Permanent HW addr: 00:00:b4:bb:c3:3a

Slave Interface: eth1
MII Status: down
Link Failure Count: 2
Permanent HW addr: 00:c0:df:f3:f0:9b
--------------------------------------------------------------------------------------------------------

Cavo attaccato su eth1:
--------------------------------------------------------------------------------------------------------
#cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v2.6.0 (January 14, 2004)

Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: down
Link Failure Count: 2
Permanent HW addr: 00:00:b4:bb:c3:3a

Slave Interface: eth1
MII Status: up
Link Failure Count: 2
Permanent HW addr: 00:c0:df:f3:f0:9b
--------------------------------------------------------------------------------------------------------

Questo e' tutto, ricordati che quando fai partire enable-bonding.sh le due interfacce di
rete non devono essere configurate, cioe' se fai un ifconfig ti deve apparire solo:

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:65 errors:0 dropped:0 overruns:0 frame:0
TX packets:65 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:6000 (5.8 Kb) TX bytes:6000 (5.8 Kb)

Ho aggiunto anche lo script disable-bonding.sh che ti porta la configurazione di rete
allo stato iniziale, praticamente ogni volta che lanci enable-bonding.sh, prima lancia
disable-bonding.sh.
Scusa per la lungaggine, ma ho cercato di essere il piu' dettagliato possibile
(almeno spero).

Ciao
Diego

dark0s
Linux 3.x
Linux 3.x
Messaggi: 556
Iscritto il: lun 10 gen 2005, 0:00

Messaggio da dark0s »

Funziona!! Ho due computer con hard disk SATA ed installata slackware 10.2 con kernel test26.s (2.6.13 all'avvio).
Ho disattivato /etc/rc.d/rc.inet1


Ti riporto la configurazione in /etc/rc.d/rc.local:

modprobe mii
modprobe bonding mode=balance-rr miimon=100
ifconfig bond0 192.168.0.1 ( 2 per l'altro host) netmask 255.255.255.0
ifenslave bond0 eth0
ifenslave bond0 eth1

Precisazioni:

1) ifenslave va compilato
2) basta la configurazione in /etc/rc.d/rc.local, automaticamente viene assunto l'indirizzo MAC per tutte le interfaccie di rete in bonding.
3) ho dovuto caricare il modulo mii

Sbaglio o avevi detto che stavi scrivendo un altro howto sul bonding?

Ciao

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

Messaggio da diego »

EVVAAAIIIII!!!!!!!!! SEI GRANDE!!!!!!!!
:D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D
sono contento che funzi tutto finalmente.

Per quanto riguarda l'how-to, so che e' lungi dall'essere completo,
l'obbiettivo che volevo raggiungere e', non di scrivere una guida
guru del bonding, ma quello di dare visibilita' ad una particolare
configurazione di rete per la quale in internet non si trova moltissima
documentazione: a parte il bonding.txt del kernel su google non si
trova moltissimo.
Ho voluto portare a conoscenza (chiedo scusa per l'arroganza)
una tecnica che per filosofia e' assimilabile a quella scsi quando'
fu introdotta.
Se ritieni, secondo l' esperienza che hai maturato in questi giorni,
che nell'how-to ci sia da aggiungere qualcosa, o qualcosa che va
modificata e impostata in maniera diversa, sono tutto orecchi.
Ciao
Diego

dark0s
Linux 3.x
Linux 3.x
Messaggi: 556
Iscritto il: lun 10 gen 2005, 0:00

Messaggio da dark0s »

Alcuni suggerimenti possono essere:
1) ifenslave va compilato
2) basta la configurazione in /etc/rc.d/rc.local, automaticamente viene assunto l'indirizzo MAC per tutte le interfaccie di rete in bonding.
3) ho dovuto caricare il modulo mii
Riguardo all'howto penso anch'io che l'unica fonte di informazioni sia il file bonding.txt. Però penso che sia utile tradurre il file presente nei kernels 2.6.13... perché ormai anche la documkentazione è cambiata molto!!!
Lo so perché ho tradotto qualcosa, giusto quello che mi serviva...se vuoi posso inviarti quello che ho tradotto. Sicuramente incontrerai errori di traduzione!

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

Messaggio da diego »

dark0s ha scritto:Alcuni suggerimenti possono essere:
1) ifenslave va compilato
Vedi punto 6) per chi ha kernel diversi da 2.4.29
2) basta la configurazione in /etc/rc.d/rc.local, automaticamente viene assunto l'indirizzo MAC per tutte le interfaccie di rete in bonding.
E' vero, ma ho dato un'informazione in piu': cioe' che si puo' impostare un MAC.
Se per qualche motivo un server che viene riconosciuto con un MAC si rompe una scheda, io la sostituisco con quella nuova, impostando il MAC della vecchia, quel MAC c'e' l'avra' solo il Server e la scheda di rete gettata nei rifiuti ;-)
3) ho dovuto caricare il modulo mii
Alla riga 161 del Bonding-Howto.txt ho detto:
+ Assicuratevi che il modulo mii sia tra i moduli del kernel caricati di default all'avvio ... ovvio il modprobe se non c'e'
Riguardo all'howto penso anch'io che l'unica fonte di informazioni sia il file bonding.txt. Però penso che sia utile tradurre il file presente nei kernels 2.6.13... perché ormai anche la documkentazione è cambiata molto!!!
Lo so perché ho tradotto qualcosa, giusto quello che mi serviva...se vuoi posso inviarti quello che ho tradotto. Sicuramente incontrerai errori di traduzione!
Azz, fin'ora non avevo ancora preso in considerazione, il kernel 2.6, e non credo lo faro'
finche' Pat lo tiene in Test 8) , mandami pure il bonding.txt del kernel 2.6 e le tue
traduzioni cosi' poi vedo di integrarle, e non ti preoccupare, su questo forum penso di
essere l'ultimo che puo' obiettare sulla qualita' della traduzione. :wink:
In pratica che cosa su questo how-to non ti e' servito o e' stato fuorviante per la
configurazione del bonding? Anche il relazione col kernel 2.6?
Un giudizio critico (se vuoi) mi servirebbe per capire cosa ho fatto e per l'eventuale
modifica.
Grazie
Ciao

dark0s
Linux 3.x
Linux 3.x
Messaggi: 556
Iscritto il: lun 10 gen 2005, 0:00

Messaggio da dark0s »

Un'ultima scocciatura, prima la configurazione in bonding funzionava, la terza interfaccia (eth2) non veniva riconosciuta. Dopo aver installato il driver che ho trvato sul sito http://www.syskonnect.com/syskonnect/su ... zip/linux/ (install-8_23.tar.bz2), riconosce la terza interfaccia ma non funziona più il bonding!! :lol:

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

Messaggio da diego »

e se togli il modulo della eth2, il bonding va?
altrimenti penso che la patch al kernel vada in conflitto con il bonding.
Hai provato se la stessa cosa la fa anche col kernel 2.4

Ciao e
Grazie per l'email

dark0s
Linux 3.x
Linux 3.x
Messaggi: 556
Iscritto il: lun 10 gen 2005, 0:00

Messaggio da dark0s »

e se togli il modulo della eth2, il bonding va?
Proverò domani e ti farò sapere
altrimenti penso che la patch al kernel vada in conflitto con il bonding.
Sul primo pc ho eseguito modprobe sk98lin, ma sul secondo no e la terza interfaccia l'hanno riconosciuta ugualmente entrambi, dopo che ho installato il driver.
Hai provato se la stessa cosa la fa anche col kernel 2.4
No, ma vorrei usare il kernel 2.6

Quando ho spento i due pc, cioè dopo che ho eseguito halt, uno si è spento tranquillamente, mentre quello dove ho eseguito modprobe sk98lin, dopo la scritta power down, è apparso "acpi_power_off called" (o qualcosa del genere) ed ho dovuto spegnere manualmente.

PS: Come si fa ad accedere nella chat di slacky.it??

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

Messaggio da diego »

potrebbe essere anche l'acpi, e provare a disabilitarlo all'avvio?
forse sto dicendo una scemenza

per irc vedi qua
http://www.slacky.it/index.php?option=c ... &Itemid=59

p.s.
da casa non mi connetto piu da un paio di giorni,
pur avendo pagato in anticipo, alla tim sembra che facciano i furbi

dark0s
Linux 3.x
Linux 3.x
Messaggi: 556
Iscritto il: lun 10 gen 2005, 0:00

Messaggio da dark0s »

L'acpi serve per i portatili giusto? quindi non dovrebbe servire per un server?

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

Messaggio da diego »

esatto

dark0s
Linux 3.x
Linux 3.x
Messaggi: 556
Iscritto il: lun 10 gen 2005, 0:00

Messaggio da dark0s »

No, scusatemi, ma si configura una cosa e se ne sconfigura un'altra.

Ricapitolando, ho 2 pc con 3 schede di rete ciascuno:
01:0a.0 Ethernet Controller: SysKonnect SK-98xx V2.0 Gigabit Ethernet Adapter (rev 14)
01:0b.0 Ethernet Controller: SysKonnect SK-98xx V2.0 Gigabit Ethernet Adapter (rev 14)
02:00.0 Ethernet Controller: Marvell Technology Group Ltd. 88E8053 Gigabit Ethernet Adapter (rev 19)

Prima riconnosceva solamente eth0 ed eth1, poi ho installato il driver del sito:
http://www.syskonnect.com/syskonnect/su ... zip/linux/
ed ora le riconosce tutte e tre, ma la configurazione in channel bonding delle schede eth0 e eth1 è saltata, cioè non funziona!!! sono praticamente disperato!! Nel senso che non funziona neppure il ping da un pc all'altro con entrambe le schede connesse!!


:cry: :cry:

Rispondi