Août 30 2008

Channel Bonding sous Linux

Publié par à 5:37 sous Linux




Le « channel bonding » – ou port truncking – donne la possibilité d’appliquer une politique sur un groupe d’interfaces réseaux. On peut ensuite répartir ou load-balancer le trafic sur différents ports, ou en garder un de côté pour faire du failover.
 

Chargement du module

Déclarez l’interface channel bonding bond0 dans /etc/modprobe.conf

# Channel Bonding
alias bond0 bonding
options bond0 miimon=100 mode=1
# Vous pouvez en ajouter d'autres avec alias bond1, bond2, ...

Le mode est mis à 1, ce qui signifie en mode bascule ou failover. Un autre mode utile est le mode 0, qui distribue le trafic séquentiellement.
 

Interfaces

Sur Redhat/Suse, la configuration usuelle peut être utilisée. Bond0 inclut eth0 et eth1 dans ce cas précis.
 
– /etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0
IPADDR=192.168.1.2
NETMASK=255.255.255.0
ONBOOT=yes
BOOTPROTO=none
USERCTL=no

 
– /etc/sysconfig/network-scripts/ifcfg-eth0

HWADDR=00:1F:39:56:DF:C0
ONBOOT=yes
DEVICE=eth0
MASTER=bond0
SLAVE=yes

 
– /etc/sysconfig/network-scripts/ifcfg-eth1

HWADDR=00:1F:39:56:DF:C1
ONBOOT=yes
DEVICE=eth1
MASTER=bond0
SLAVE=yes

 
Les changements seront pris en compte au reboot!


6 responses so far

6 Réponses à “Channel Bonding sous Linux”

  1. flogon 24 Sep 2009 at 1:07

    Super ça marche !!! (Red Hat 5 Enterprise) Merci .

  2. Amore Rosaireon 03 Nov 2009 at 7:10

    Bonjour

    En effet ça marche.
    Mais j’ai voulu tester le mode 4 (802.3ad) qui est censé réaliser une agrégation de liens. En l’occurence mes deux interfaces sont rattachés à un switch compatible 802.3ad, et de ce switch, je pars vers deux box (freebox à 9mb/s et une livebox à 3 mb/s).

    Je m’attendais à constater un débit supérieur à 9 et je me retrouve avec un débit de 9+3/2=6mb/s

    Avez-vous expérimenté cette mise en oeuvre?

    Merci pour toute info sur ce sujet.

    Cordialement.
    Rosaire

  3. daveon 03 Nov 2009 at 7:50

    Bonjour,
    Ton sujet s’étend bien au-delà d’une agrégation de liens puisqu’il fait intervenir du routing. Comment les flux sont-ils distribués entre les 2 « box »? Par quel algorithme? Il faut qu’une session soit toujours redirigée vers la même box.
    Quant au débit, je serais curieux de voir si la Livebox fournit les 9Mb théoriques. Comment est mesuré le débit?

    Au final, je ne vois pas non plus pourquoi tu as besoin de 2 liens si tu as un switch!? A moins qu’il ne soit en 10M, ce qui m’étonnerait.
    Bon sujet d’article mais je ne pense pas qu’il soit lié au channel bonding

  4. Amore Rosaireon 04 Nov 2009 at 7:24

    J’ai mis en oeuvre ce tuto : http://linux.developpez.com/bonding/ et suivi les conseils prodigués ici : http://www.developpez.net/forums/d808637/systemes/linux/reseau/channel-bonding-switch/

    La distribution des flux se fait d’après ce que j’ai compris par le protocole 802.3ad.

    La livebox ne fournit que 3mb/s.

    Le débit est mesuré par le téléchargement d’un gros fichier (600mb) sur un serveur de confiance.

    R.

  5. daveon 04 Nov 2009 at 7:56

    Ce tuto ne tient pas parce qu’il faut qu’une session passe toujours par la même connexion ou tu auras des problèmes. Ex: une connexion FTP ouverte sur la box1 ne sera plus identifiée sur la 2me.
    De plus, la route par défaut est sur bond0; Bien et alors? Il reste toujours 2 passerelles, 1 sur chaque box. Une interface ne prend qu’une passerelle en compte. Le flux ne passe que d’un côté.
    Encore une fois, le channel bonding n’est pas la solution et n’est pas fait pour cela.
    Peut-être avec Netfilter si tu as du temps devant toi…

  6. Amore Rosaireon 04 Nov 2009 at 11:23

    Tu sembles bien maitriser le problème et si je comprend bien, il n\’est pas possible de cumuler (agreger) le débit de deux box?

    J\’ai tenté tellement de relances pour avoir des réponses à cette question en particulier sur ce site (developpez.com) pour finalement n\’avoir *jamais* de retour de personnes l\’ayant effectivement mis en oeuvre, que je finis par croire que en effet, ce n\’est pas possible…

    R

Comments RSS

Leave a Reply