Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: [OPGELOST] Netwerkkaart bonding vraagjes  (gelezen 2051 keer)

Offline Vermeulenova

  • Lid
  • Steunpunt: Nee
[OPGELOST] Netwerkkaart bonding vraagjes
« Gepost op: 2010/12/01, 10:53:02 »
Hallo,

Ik ben bezig om twee netwerk aansluitingen met elkaar te verbinden.
Het betreft 2 "Broadcom NetXtreme II BCM5708 1000Base-T" kaarten.
Het is de bedoeling dat we uiteindelijk 2000Base-T krijgen, bij ons is het niet nodig dat het netwerk redundant is.
Nu ben ik een document van 59 bladzijdes aan het door bomen, alleen is het allemaal technisch Engels, en ben ik bij alle
punten niet zeker van of ik het wel helemaal goed begrijpt.

mode=5 / dit is denk ik dat het de juiste is voor bandbreedte/snelheid
balance-tlb or 5

Adaptive transmit load balancing: channel bonding that does not require any special switch support.
The outgoing traffic is distributed according to the current load (computed relative to the speed) on
each slave.  Incoming traffic is received by the current slave.  If the receiving slave fails, another
slave takes over the MAC address of the failed receiving slave.

Prerequisite:
Ethtool support in the base drivers for retrieving the speed of each slave.

miimon=100 / standaars is 0, maar een goed startpunt is 100
Begrijp ik het dan goed als het met 100 goed draait, dat ik dan in gefaseerde stap naar 0 mag gaan?
Heeft 0 dan grote voordelen ten opzichten van 100?
miimon

Specifies the MII link monitoring frequency in milliseconds. This determines how often the link state of each
slave is inspected for link failures.  A value of zero disables MII link monitoring.  A value of 100 is a good
starting point. The use_carrier option, below, affects how the link state is determined.  See the High Availability
section for additional information.  The default value is 0.

xmit_hash_policy=2 / Standaard staat dit op 2, maar als ik nu verder leest, dan is layer2 de enige policy.
Dan heb het toch geen nut om een andere te kiezen, of zie ik dit verkeert?

The default value is layer2.  This option was added in bonding version 2.6.3.  In earlier versions of bonding, this parameter
does not exist, and the layer2 policy is the only policy.  The layer2+3 value was added for bonding version 3.2.2.
« Laatst bewerkt op: 2010/12/08, 20:03:24 door Vermeulenova »

Offline Buzzin

  • Lid
  • Steunpunt: Nee
Re: Netwerkkaart bonding vraagjes
« Reactie #1 Gepost op: 2010/12/01, 11:53:35 »
Hey kijk...daar weet ik iets van ;)

Balance-tlb gebruik ik ook altijd, maar dit is alleen load-balanced bij verkeer naar buiten toe.
Binnenkomend verkeer gaat altijd maar over 1 verbinding (degene die op dat moment 'actief' is)
Dus misschien niet helemaal wat je zoekt.
Om wel alles over twee kaarten binnen te krijgen is het nodig (zover ik weet) dat je switch dit snapt en zo in te stellen is.

Miimon=100 zou ik gewoon lekker zo laten, het is wel de bedoeling dat je het weet als 1 van de 2 links down gaat.
0 = uit, dus dat wil je niet :)
100 miliseconden lijkt me een goede tijd....niet te lang en niet te belastend voor je systeem

De laatste optie ken ik niet, maar wat er staat:
Deze optie is toegevoegd vanaf versie 2.6.3. In eerdere versies bestond deze optie niet en was het dus altijd layer2 (Nu heb je dus de keuze!)
Layer3+2 optie is pas in versie 3.2.2 geintroduceerd.
Football: A battle between two teams of mindless thugs over scraps of coloured cloth. Usually accompanied by the spectacle of 22 overpaid primadonnas kicking a ball on a field.
DebianDevuan, KDE & OperaVivaldi addict, RedHat Engineer

Offline Vermeulenova

  • Lid
  • Steunpunt: Nee
Re: Netwerkkaart bonding vraagjes
« Reactie #2 Gepost op: 2010/12/01, 15:02:28 »
In het netwerk staan alleen maar 1000mbit  machines, binnenkomende verkeer hoeft opzicht niet sneller dan 1000mbit te zijn.
Het verkeer naar buiten is wel handig als dit 2x 2000mbit kan zijn, dit omdat er meerdere gebruikers tegelijkertijd aan de server lurken, en
dat anders de 15k SAS RAID-1 schijven een beetje op hu luie gat liggen.
Mode=5 (Balance-tlb) is dan afdoende?

De switch wat wij hebben staan, zou het in princiepen wel begrijpen, we hebben een redelijke Draytec switch staan (uit mijn hoofd wet ik even niet welk model)

Miimon=100 is me helemaal duidelijk

Volgens mij is de laatste versie van ifenslave 2.6, in de handleiding wordt gesproken over versie 2.6.3 en versie 3.2.2
Ik denk dat we maar layer2 gaan proberen, ik ben ook layer1 met Google tegen gekomen.

Offline Buzzin

  • Lid
  • Steunpunt: Nee
Re: Netwerkkaart bonding vraagjes
« Reactie #3 Gepost op: 2010/12/01, 15:37:42 »
Ja, als het alleen om het uitgaande verkeer gaat is mode 5 (balance-tlb) prima, hier heeft de switch overigens weinig mee te maken, dat is alleen van belang bij inkomend verkeer. (Mijn redelijk goedkope dell switches kunnen het prima aan  =D )

Zoals ik al zei, die optie ken ik helemaal niet eens....dus staat bij mij altijd standaard :)

En voor de mensen die het niet weten:
Alleen even ifenslave installeren en dit in de /etc/network/interfaces toevoegen:
auto bond0

iface bond0 inet static
address x.x.x.x
netmask x.x.x.x
gateway x.x.x.x
slaves eth0 ethi0 (of hoe ze dan ook heten bij jou)
bond_mode balance-tlb
bond_miimon 100
bond_downdelay 200
bond_updelay 200
En natuurlijk de entries voor eth0 enzo even weghalen.

De delays zijn mij ook niet 100% duidelijk, maar het werkt...
« Laatst bewerkt op: 2010/12/01, 15:42:58 door Buzzin »
Football: A battle between two teams of mindless thugs over scraps of coloured cloth. Usually accompanied by the spectacle of 22 overpaid primadonnas kicking a ball on a field.
DebianDevuan, KDE & OperaVivaldi addict, RedHat Engineer

Offline Vermeulenova

  • Lid
  • Steunpunt: Nee
Re: Netwerkkaart bonding vraagjes
« Reactie #4 Gepost op: 2010/12/01, 22:04:47 »
Dus ik hoef geen modprobe.d/bonding.conf meer aan te maken, en interfaces is afdoende?
Geweldig, is weer een flinke verbetering.

Ik heb dit in het interfaces bestand geplakt.
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
# auto lo
# iface lo inet loopback

# The primary network interface
#auto eth0
# iface eth0 inet dhcp

auto bond0

iface bond0 inet static
address 192.168.0.25
netmask 255.255.255.0
gateway 192.168.0.1
slaves eth0 eth1
bond_mode balance-tlb
bond_miimon 100
bond_downdelay 200
bond_updelay 200
Hierna heb ik via "/etc/init.d/networking restart" het netwerk herstart, en het verhaal werkte, alleen had ik het gevoel dat het niet vloeiend was.

In de router heb ik binding gedaan, het mac adres van eth0 is gekoppeld aan IP 192.168.0.25, en eth1 is 192.168.0.26
Is het niet beter om deze 2 IP adressen uit de IP bind list te verwijderen, want bond0 krijgt al een adres uit interfaces.
Of kan het geen kwaad om dit te laten staan?

Ik dacht dat het wel handig was om IP en netmask uit interfaces te verwijderen, en om "iface bond0 inet static" te veranderen
in "iface bond0 inet dhcp"
Alleen ging dit fout, en nu kom ik er van afstand niet meer in 8)
Morgen maar op de server zelf weer terug aanpassen, gelukkig draaien we nog van de oude server, en is deze nieuwe nog in test fase.


[edit 22:22]
Hmm.., ik bedenk me nu dat het aanpassen van "iface bond0 inet static" naar "iface bond0 inet dhcp" misschien niet het probleem is.
Ik heb loopback uitgezet, wat wellicht niet de bedoeling is. # The loopback network interface
# auto lo
# iface lo inet loopback
« Laatst bewerkt op: 2010/12/01, 22:22:49 door Vermeulenova »

Offline Buzzin

  • Lid
  • Steunpunt: Nee
Re: Netwerkkaart bonding vraagjes
« Reactie #5 Gepost op: 2010/12/02, 11:37:14 »
Dat hele verhaal met al die andere bestanden enzo werkt nog wel, maar dat is de ouderwetse manier :)
Tegenwoordig gaat alles via dat ene bestandje.

Je loopback heb je inderdaad nodig.

Ik zou inderdaad even op de switch alle configuratie weer even op default zetten voor deze poorten.
Overigens zou DHCP gewoon moeten werken, al weet je dan natuurlijk nooit van te voren welk IP adres je krijgt (tenzij je het vast zet natuurlijk)
Football: A battle between two teams of mindless thugs over scraps of coloured cloth. Usually accompanied by the spectacle of 22 overpaid primadonnas kicking a ball on a field.
DebianDevuan, KDE & OperaVivaldi addict, RedHat Engineer

Offline Vermeulenova

  • Lid
  • Steunpunt: Nee
Re: Netwerkkaart bonding vraagjes
« Reactie #6 Gepost op: 2010/12/04, 15:17:45 »
Zojuist heb ik "tail -f /var/log/messages" uitgevoerd, maar volgens mij gaat het niet helemaal zo als het de bedoeling is.
Dec  4 15:19:17 server kernel: [181340.450182] ADDRCONF(NETDEV_UP): bond0: link is not ready
Dec  4 15:19:19 server kernel: [181341.779600] bnx2: eth0 NIC Copper Link is Up, 100 Mbps full duplex, receive & transmit flow control ON
Dec  4 15:19:19 server kernel: [181341.841319] bonding: bond0: link status up for interface eth0, enabling it in 0 ms.
Dec  4 15:19:19 server kernel: [181341.841324] bonding: bond0: link status definitely up for interface eth0.
Dec  4 15:19:19 server kernel: [181341.841328] bonding: bond0: making interface eth0 the new active one.
Dec  4 15:19:19 server kernel: [181341.841359] bonding: bond0: first active interface up!
Dec  4 15:19:19 server kernel: [181341.842176] ADDRCONF(NETDEV_CHANGE): bond0: link becomes ready
Dec  4 15:19:19 server kernel: [181342.059571] bnx2: eth1 NIC Copper Link is Up, 100 Mbps full duplex, receive & transmit flow control ON
Dec  4 15:19:19 server kernel: [181342.140033] bonding: bond0: link status up for interface eth1, enabling it in 100 ms.
Dec  4 15:19:19 server kernel: [181342.240022] bonding: bond0: link status definitely up for interface eth1.
Volgens mij draaien eth0 en eth1 op 100Mbbp in plaats van 1000Mbbp

# The loopback network interface
auto lo bond0
iface lo inet loopback

# The primary network interface
iface bond0 inet static
address 192.168.0.25
netmask 255.255.255.0
gateway 192.168.0.1
slaves eth0 eth1
bond_mode balance-tlb
bond_miimon 100
bond_downdelay 200
bond_updelay 200


Overigens zou DHCP gewoon moeten werken, al weet je dan natuurlijk nooit van te voren welk IP adres je krijgt (tenzij je het vast zet natuurlijk)
Als ik "inet static" veranderd in "inet DCHP" dan werkt het op een of andere manier niet meer, maar opzicht hoeft dit geen ramp te zijn.
In de router heb ik het MAC adres gekoppeld met 192.168.0.25 (eth0), 192.168.0.26 heb ik gekoppeld aan de MAC van eth1
Ik dacht dat dit niet goed zal zijn, dus ik had de koppeling van eth1 weg gehaald in de router, maar dan staat alleen maar eth0 in de bonding.
Dus ik heb dit weer terug gezet in de router, maar kan dit niet van invloed zijn van het bovenstaande probleem?

System information as of Sat Dec  4 14:25:45 CET 2010

  System load:  0.06              Users logged in:      1
  Usage of /:   9.8% of 31.23GB   IP address for eth0:  192.168.0.25
  Memory usage: 6%                IP address for eth1:  192.168.0.25
  Swap usage:   0%                IP address for bond0: 192.168.0.25
  Processes:    221
« Laatst bewerkt op: 2010/12/04, 15:22:25 door Vermeulenova »

Offline Vermeulenova

  • Lid
  • Steunpunt: Nee
Re: Netwerkkaart bonding vraagjes
« Reactie #7 Gepost op: 2010/12/04, 20:53:51 »
Ik had de server aan een verkeerde switch geplugd, eth0 en eth1 zijn nu beide 1000Mbps.

Even een vraag voor de zekerheid, nu dat dat eth0 en eth1 zijn gebundeld als bond0 in bond_mode 5, is de
download van de server 2000Mbps en de upload 2x 1000Mbps?
Anders gezegd, als 10 gebruikers gaan downloaden van de server dan heeft ieder 200Mbps, en als 10 gebruikers gaan uploaden, dan
gaan er 5 over eth0, en de andere 5 over eth1?

Ik weet dat 200, 1000 en 2000 Mbps enzo allemaal theoretisch factoren zijn, maar plat gezegd, komt het hierop neer?

Voor de rest werkt het allemaal goed, met nog wel een twijfel over de snelheid, is dit op een of andere manier te meten?

Wat ook wel belangrijk is, bedankt voor de hulp, zonder deze hulp was ik nog lang niet zo ver geweest.
« Laatst bewerkt op: 2010/12/05, 10:54:32 door Vermeulenova »

Offline Buzzin

  • Lid
  • Steunpunt: Nee
Re: Netwerkkaart bonding vraagjes
« Reactie #8 Gepost op: 2010/12/06, 10:39:52 »
Nee, de download voor de server zelf is gewoon 1 Gbit. Hij gebruikt maar 1 poort per keer voor het downloaden. (Dit is dus upload vanaf de client)
Uploaden is wel load-balanced, maar verwacht niet de volle 2 Gbit. (Dat is dus download bij de client)
Maar inderdaad, hij zal de requests verdelen over de twee poorten, al is dat niet per client, maar per request...
Ook zoiets om te bedenken: is de lijn op en vanaf je switch daar wel 'breed' genoeg voor 2 Gbit? Als je van switch naar volgende switch maar 1 Gbit hebt liggen zul je dus nooit meer als dat kunnen trekken :) (Maar een backbone kan dat vaak weer wel)

Wat even belangrijk is om te weten: voor de buitenwereld is een bond maar 1 netwerkkaart. (nou ja, de switch kent de andere mac-adressen, maar verder als het goed is niet). Dus je hebt maar 1 adres nodig. Het is dus niet aan te raden om het mac van de kaarten te gebruiken om een IP toe te wijzen....gewoon op de server zelf doen.
« Laatst bewerkt op: 2010/12/06, 10:43:13 door Buzzin »
Football: A battle between two teams of mindless thugs over scraps of coloured cloth. Usually accompanied by the spectacle of 22 overpaid primadonnas kicking a ball on a field.
DebianDevuan, KDE & OperaVivaldi addict, RedHat Engineer

Offline Vermeulenova

  • Lid
  • Steunpunt: Nee
Re: Netwerkkaart bonding vraagjes
« Reactie #9 Gepost op: 2010/12/06, 19:49:54 »
Het is inderdaad niet aan te raden om een IP adres aan een MAC adres te koppel in de router, dit heb ik nu wel ontdekt.
Ik heb de bindingen in de router voor eth0 en eth1 weggehaald, en het was een veel betere resultaat, en ook kan ik nu in een keer wel vanaf thuis op de server komen.

Het netwerk wat hier ligt, is een CAT6 netwerk, en professioneel aan laten leggen, en alle gebruikers hebben een 1GB aansluiting, dus een up- of download kan toch niet hoger zijn dan 1GB.
Waar het mijn omging is als er meerdere gebruikers up- en downloaden naar de server, dan wordt er 2 GB verdeeld over de gebruikers.
Is het dan beter om 2x 1GB met een en dezelfde IP te gebruiken, want als ik het goed begrijpt, dan gaat het per request.
Als er 4 gebruikers de server aanspreken, dan gaan er automatisch 2 over eth0, en 2 over eth1?

Offline Buzzin

  • Lid
  • Steunpunt: Nee
Re: Netwerkkaart bonding vraagjes
« Reactie #10 Gepost op: 2010/12/07, 12:41:24 »
Ja, maar in dit geval dus alleen voor het uitgaande verkeer. (van server naar client)
Maar dat is meestal ook het belangrijkste.

Overigens doet hij aan balancing, dus als 3 gebruikers op eth0 de poort niet voltrekken gaat hij het nog niet perse verdelen....
Het is dus niet hard te zeggen dat gebruiker 1 kaart eth0 gebruikt en gebruiker 2 de eth1.
Ook gaat het per request/deel van een verzoek, dus een gebruiker kan verbindingen hebben op beide kaarten als dat zo uitkomt.
Football: A battle between two teams of mindless thugs over scraps of coloured cloth. Usually accompanied by the spectacle of 22 overpaid primadonnas kicking a ball on a field.
DebianDevuan, KDE & OperaVivaldi addict, RedHat Engineer

Offline Vermeulenova

  • Lid
  • Steunpunt: Nee
Re: Netwerkkaart bonding vraagjes
« Reactie #11 Gepost op: 2010/12/08, 20:02:37 »
Oke, even resumerend voor toekomstige mensen die ook van bonding gebruik willen maken.

1./ Geen binding gebruiken in de router, of anders gezegd, niet via de router een vast IP adres binden aan het MAC adres van de netwerk kaart.
Dit zorgt alleen maar voor problemen.

2./ Zoals Buzzin schreef: Nieuwe manier van werken, alleen het bestand "/etc/network/interfaces" gebruiken/configureren.

3./ De "The loopback network interface" niet verwijderen van uit je "/etc/network/interfaces" config bestand.

4./ Volgens mijn is het niet raadzaam om je configuratie vanuit de module netwerk in webmin te doen.
Webmin zet er automatisch "broadcast 192.168.0.255" en "network 192.168.0.0" er bij, ik weet niet of dat dit kwaad kan of niet.
Ik geloof niet dat ik er last van had, maar ik heb het wel verwijderd.

5./ Maak voor dat je begin eerst een backup van je "/etc/network/interfaces" config bestand.
sudo cp /etc/network/interfaces /etc/network/interfaces.backup

6./ Installeer "ifenslave"
sudo apt-get install ifenslave-2.6

7./ Pas het "/etc/network/interfaces" config bestand aan.
nano /etc/network/interfaces
# The primary network interface
# auto eth0
# iface eth0 inet static
#       address 192.168.0.39
#       netmask 255.255.255.0
#       gateway 192.168.0.1


# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto bond0
iface bond0 inet static
        address 192.168.0.39
        netmask 255.255.255.0
        gateway 192.168.0.1
        bond_mode 5
        bond_miimon 100
        bond_updelay 200
        bond_downdelay 200
        slaves eth0 eth1
Bij "address" moet het IP adres ingegeven worden wat de computer moet krijgen.
Bij "gateway" het gateway adres van je router.
Wil je 3, 4 of meer kaarten bonden, dan maak je van "slaves eth0 eth1" bijvoorbeeld "slaves eth0 eth1 eth2 eth3"

8./ reboot, je kan ook "/etc/init.d/networking restart" doen, maar ik vindt deze oplossing 3x niks.

Thats all,

Dank naar Buzzin S.V.P.   ;)

Op- en/of aanmerkingen op deze post zijn welkom.
« Laatst bewerkt op: 2010/12/09, 17:25:56 door Vermeulenova »

Offline Buzzin

  • Lid
  • Steunpunt: Nee
Re: [OPGELOST] Netwerkkaart bonding vraagjes
« Reactie #12 Gepost op: 2010/12/09, 10:18:37 »
Klopt allemaal:
twee kleine opmerkingen: de regeltjes 'broadcast' en 'network' kunnen geen kwaad, maar zijn overbodig en kunnen verwarrend werken waardoor mensen ze fout gaan invullen.
En het pakketje om te installeren heet ifenslave-2.6, dus:
sudo apt-get install ifenslave-2.6

Voila, u heeft een werkende omgeving  =D
Football: A battle between two teams of mindless thugs over scraps of coloured cloth. Usually accompanied by the spectacle of 22 overpaid primadonnas kicking a ball on a field.
DebianDevuan, KDE & OperaVivaldi addict, RedHat Engineer

Offline Vermeulenova

  • Lid
  • Steunpunt: Nee
Re: [OPGELOST] Netwerkkaart bonding vraagjes
« Reactie #13 Gepost op: 2010/12/09, 17:26:24 »
Punt 6 even aangepast.