Nieuws:

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

Auteur Topic: Ifenslave bonding  (gelezen 4260 keer)

Offline Pivni Pes

  • Lid
  • Steunpunt: Nee
Ifenslave bonding
« Gepost op: 2010/07/09, 20:38:22 »
Ik heb sinds vandaag 2 netwerk kaarten (Intel) in mijn server zitten (eth1 en eth2)
Eth0 is de NIC op het moederbord, en is wat ik nu nog gebruik.
Via terminal heb "apt-get -f install" en "apt-get install ifenslave" uitgevoerd.
Vervolgens:
# modprobe bonding
# ifconfig bond0 192.168.0.25 netmask 255.255.255.0
# ifenslave bond0 eth1 eth2

Als ik via Webmin onder Netwerken / Netwerk Configuratie kijkt, dan zie ik het volgende:
bond0 - Bonded - 192.168.0.25 - 255.255.255.0 - Up
eth0 - Ethernet - 192.168.0.20 - 255.255.255.0 - Up
eth1 - Ethernet - 192.168.0.24 - 255.255.255.0 - Up
eth2 - Ethernet - 192.168.0.24 - 255.255.255.0 - Up

Volgens mij is het bundelen van de twee kaarten goed gelukt, en via mijn router zijn de MAC adressen gekoppeld
aan de IP adressen, als ik het goed hebt, dan moet ik het MAC adres van "bond0" koppelen met het juiste IP adres
in de router.

Maar iets zeg me dat ik wat fout doet, volgens mijn is deze bonding tijdelijk, en als de server herstart, dan zijn
de twee kaarten niet meer met elkaar verbonden denk ik.
Klopt dit, en zo ja, hoe kan ik dit vast zetten?

Offline Johan van Dijk

  • Administrator
    • johanvandijk
  • Steunpunt: Nee
Re: Ifenslave bonding
« Reactie #1 Gepost op: 2010/07/09, 22:09:50 »
Zomaar een gokje:
/etc/network/interfaces

Staat er niks over in handleidingen die je gevonden hebt via Google?

Offline Pivni Pes

  • Lid
  • Steunpunt: Nee
Re: Ifenslave bonding
« Reactie #2 Gepost op: 2010/07/09, 22:41:09 »
Zomaar een gokje:
/etc/network/interfaces

Staat er niks over in handleidingen die je gevonden hebt via Google?
Dat had ik wel gevonden, maar ik begrijp niet precies wat ik moet invullen.
Via Google heb ik onderander dit gevonden --> "Twee netwerk interfaces, één IP adres: network bonding!"
Hier staat beschreven dat ik "sudo nano /etc/modprob.d/aliases" moet uitvoeren, en het volgende invullen:
alias bond0 bonding
alias eth1 e100
alias eth2 e100
options bonding mode=0 miimon=100
Punt is, "modprob.d" is bij mij "modprobe.d"
Is dit een fout van de auteur, en kan ik de gegeven hierin opslaan?

Bij punt 4 staat "sudo nano /etc/modprob.d/arch/i386", wederom is het bij mij "modprobe.d"
Daarbij is er ook geen map "arch" en het bestand "i386", kan ik deze zo maar aanmaken?

Punt 5 (sudo nano /etc/network/interfaces)
Moet het volgende ingevuld worden:
auto bond0
iface bond0 inet static
address 192.168.0.5
netmask 255.255.255.0
gateway 192.168.0.1
network 192.168.0.0
post-up ifenslave bond0 eth1 eth2
Kan ik address, netmask, gateway en network zomaar weglaten?
Het IP adres 192.168.0.20 wordt in de router aan het MAC adres gekoppeld.

Offline Johan van Dijk

  • Administrator
    • johanvandijk
  • Steunpunt: Nee
Re: Ifenslave bonding
« Reactie #3 Gepost op: 2010/07/09, 23:56:46 »
Het maakt niet zoveel uit hoe je het bestand noemt.
Het moet alleen wel in /etc/modprobe.d staan en eindigen op .conf
Maak er bijvoorbeeld "bonding.conf" van, zodat je het later makkelijker terug kunt vinden.
(hier is de handleiding dus verouderd en zit er een tikfout in)

Punt 4 kan je negeren, want de hele arch directory in /etc/modprobe.d/ wordt genegeerd.
Als je goed kijkt, zie je dat er bijna hetzelfde in staat.
Gewoon weglaten dus.
 evt. de opties van de laatste regel toevoegen aan je "bonding.conf" bestand.

Het gaat om een server, dus die zou ik zeker een vast IP adres geven.
Met DHCP weet je maar nooit of hij ineens toch een ander IP krijgt.
(onverwachte reboot, stroomuitval, andere gekke storingen, ander MAC adres vanwege een andere NIC, enz.)

In principe kan je de server gewoon 192.168.0.20 geven, zolang je maar zorgt dat de DHCP server in je router dat adres niet uit kan geven aan een andere computer.

Een iets nieuwere handleiding staat trouwens hier:
https://help.ubuntu.com/community/UbuntuBonding
Nog eentje hier:
https://help.ubuntu.com/community/LinkAggregation
En op debianadministration of vergelijkbare sites kan je ook vast wel een handleiding vinden.

Ik heb dit trouwens nog nooit zelf gedaan, dus ik kan niet garanderen of het gaat werken en welke handleiding het beste is.

Offline Pivni Pes

  • Lid
  • Steunpunt: Nee
Re: Ifenslave bonding
« Reactie #4 Gepost op: 2010/07/10, 15:11:02 »
Na veel stoeien, heb ik het een en het ander voor elkaar.
# 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

###Adapter bonding for eth1 and eth2
auto bond0
iface bond0 inet static
address 192.168.0.26
netmask 255.255.255.0
gateway 192.168.0.1
##dns-nameservers 192.168.1.254 (is dit nodig, ik weet niet wat mijn DNS is, hoe kan ik dit zien?)
post-up ifenslave bond0 eth1 eth2
pre-down ifenslave -d bond0 eth1 eth2

bond0 - Bonded - 192.168.0.26 - 255.255.255.0 - Up
eth0 - Ethernet - 192.168.0.20 - 255.255.255.0 - Up
eth1 - Ethernet - 192.168.0.24 - 255.255.255.0 - Up
eth2 - Ethernet - 192.168.0.24 - 255.255.255.0 - Up

Nu kan ik via https://192.168.0.26:10000/ en https://192.168.0.20:10000/ met webmin inloggen.
Maar als ik in mijn router het MAC adres van eth0 vast zet op 192.168.0.26, en in interfaces bond0 op 192.168.0.20, dan kan ik alleen maar via 192.168.0.26
in mijn server komen.
Ik kan er niet achter komen waarom dit is.
« Laatst bewerkt op: 2010/07/11, 00:33:32 door Pivni Pes »

Offline Buzzin

  • Lid
  • Steunpunt: Nee
Re: Ifenslave bonding
« Reactie #5 Gepost op: 2010/07/12, 12:56:03 »
Ok, ik heb geen ervaring met bonding op Ubuntu, maar wel vrij veel op Debian.
Hier heb ik een wiki van gemaakt (hier op het werk)....even kijken of ik iets kan knippen en plakken.

Overigens: het belangrijkste is dat je geen oud guides volgt, deze gaan van een foute situatie uit.

----------------------
installeer ifenslave2.6:
apt-get install ifenslave-2.6Sinds Lenny is het dus anders, ook al werkt het wel op de oude manier. Zie: http://wiki.debian.org/Bonding Je hoeft alleen de /etc/network/interfaces file aan te passen:
# 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
#allow-hotplug eth0

auto bond0

iface bond0 inet static
address 10.0.0.120
netmask 255.255.255.0
gateway 10.0.0.1
slaves eth0 ethi0
bond_mode balance-tlb
bond_miimon 100
bond_downdelay 200
bond_updelay 200

voeg de module mii nog toe aan de file /etc/modules

-----------------------

That's it.....
eth0 en ethi0 zijn twee aparte kaarten, 1 onboard en 1 losse intel kaart (eventueel kun je de namen aanpassen in: /etc/udev/rules.d/70-persistent-net.rules)
Alleen de mii module loopt wel eens te zeuren, maar dat heeft verder geen gevolgen.
Wel even opletten: ik heb mijn bonding alleen voor fail-over en om uitgaand verkeer te balancen. Ingaand verkeer komt altijd op de actieve slave binnen.
In die zelfde wiki staat nog een scriptje waarmee je de status van je bonding prima kunt bepalen. (zelf gemaakt)

1 punt van aandacht: IPv6 en dit soort bonding gaan niet altijd goed samen....ik zet IPv6 nu altijd uit. Ik moet nog eens gaan uitzoeken hoe ik dat naast elkaar krijg.
« Laatst bewerkt op: 2010/07/12, 13:06:41 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 Pivni Pes

  • Lid
  • Steunpunt: Nee
Re: Ifenslave bonding
« Reactie #6 Gepost op: 2010/07/12, 20:51:46 »
Ik heb dit in /etc/modules toegevoegd.
options bond0 miimon=100 mode=1Is dit wat je bedoeld?

Op www.kernel.org zag ik het volgende staan:
Example:

   # modprobe bonding miimon=100

Or, put in your /etc/modules.conf :

   alias bond0 bonding
   options bond0 miimon=100

Offline Johan van Dijk

  • Administrator
    • johanvandijk
  • Steunpunt: Nee
Re: Ifenslave bonding
« Reactie #7 Gepost op: 2010/07/12, 21:14:02 »
Dat is documentatie uit het jaar 2000 voor kernelversie 2.4
Lijkt me dus niet helemaal meer van toepassing, je gebruikt toch ook geen handleidingen voor Windows 98 om iets te doen in Windows 7?

Offline Pivni Pes

  • Lid
  • Steunpunt: Nee
Re: Ifenslave bonding
« Reactie #8 Gepost op: 2010/07/12, 22:54:23 »
Dat is documentatie uit het jaar 2000 voor kernelversie 2.4
Lijkt me dus niet helemaal meer van toepassing, je gebruikt toch ook geen handleidingen voor Windows 98 om iets te doen in Windows 7?
Jaja, lekker slim bezig ben ik ::)

Deze is wat meer recent ;)  (Latest update: 23 September 2009)
Hier schrijven ze het volg:
alias bond0 bonding
options bond0 mode=some-mode miimon=50
Is dit de mii module?

Offline Johan van Dijk

  • Administrator
    • johanvandijk
  • Steunpunt: Nee
Re: Ifenslave bonding
« Reactie #9 Gepost op: 2010/07/12, 23:11:48 »
Ik denk dat de link van Buzzin naar de Debian wiki (http://wiki.debian.org/Bonding) het meest compleet, recent en bruikbaar is.
De configuratie voor Lenny zou ook gewoon in een recente versie van Ubuntu moeten werken.
Het gedeelte voor Etch moet je dus negeren.

In principe moet je dus alleen /etc/network/interfaces aanpassen.
De rest is onnodig en kan voor problemen zorgen.

Offline karlhungus

  • Lid
  • Steunpunt: Nee
Re: Ifenslave bonding
« Reactie #10 Gepost op: 2010/09/01, 18:42:54 »
Toevallig heb ik dit net uitgezocht op mn werk voor ubuntu 10.04 LTS. Wel voor machines met allemaal 4 nics maargoed dat mag de pret niet drukken.

apt-get install ifenslave (die was ik vergeten lol)

in /etc/modprobe.d/ heb ik een file gemaakt genaamd: bonding.conf

en daar de volgende content ingezet:
# Port Bonding Mode=4
alias bond0 bonding
options bond0 mode=4 miimon=100 xmit_hash_policy=1

In /etc/network/interfaces
# The internal network interface
auto eth3
iface eth3 inet static
        address 192.168.0.101
        netmask 255.255.255.0

# The bonding network interface
auto bond0
iface bond0 inet static
        address 13.37.13.209
        netmask 255.255.255.255
        gateway 13.37.13.222
        broadcast 13.37.13.223
        network 13.37.13.37
        up /sbin/ifenslave bond0 eth0 eth1 eth2
        down /sbin/ifenslave -d bond0 eth0 eth1 eth2

Rebooten en toen werkte het allemaal.

/EDIT

die bonding mode=5 in bonding.conf. Is in mijn geval omdat het uitgaande verkeer in dat geval geloadbalanced wordt op een voor ons prettige manier.

« Laatst bewerkt op: 2010/09/01, 18:59:06 door karlhungus »