Network bonding sur linux Redonder plusieurs cartes réseau sous Linux Modes bonding Les modes peuvent être indiqués numériquement ou par des mots clés mode=0 ou mode=balance-rr  : equilibrage de charge mode=1 ou mode=active-backup  : sauvegarde active mode=2 ou mode=balance-xor  : balance xor mode=3 ou mode=broadcast  : broadcast mode=4 ou mode=802.3ad  : Norme 802.3ad mode=5 ou mode=balance-tlb  : balance TLB mode=6 ou mode=balance-alb  : balance ALB Le paramètre "miimon" (fréquence de monitoring des 2 interfaces, en millisecondes) est le seul paramètre obligatoire. Sur Debian Sur Debian vérifier que le paquet ifenslave-2.6 (pour kernel 2.6) est installé. Configurer le réseau Editer /etc/network/interfaces : # network interface settings auto lo iface lo inet loopback auto bond0 iface bond0 inet static address 192.168.37.110 netmask 255.255.255.0 network 192.168.37.0 broadcast 192.168.37.255 gateway 192.168.37.254 slaves eth0 eth1 Charger le module de « bonding » dans le kernel Ajouter un fichier de configuration pour le module bonding : vi /etc/modprobe.d/aliases-bond Y ajouter : alias bond0 bonding options bonding mode=1 miimon=100 Pour tester, charger le module de « bonding » puis redémarrer le service réseau : # modprobe bonding # /etc/init.d/networking restart Sur CentOS Configurer le réseau Créer le fichier de configuration de la carte bond0 dans le fichier /etc/sysconfig/network-scripts/ifcfg-bond0 : DEVICE=bond0 IPADDR=192.168.1.100 //votre adresse ip NETWORK=192.168.1.0 //l’adresse ip de votre reseau NETMASK=255.255.255.0 //votre masque de sous-réseau USERCTL=no BOOTPROTO=none ONBOOT=yes Editer les fichiers de configuration des différentes cartes réseau (/etc/sysconfig/network-scripts/ifcfg-XXXX).Remplacer ou rajouter les lignes suivantes aux fichiers : DEVICE=XXXX //à modifier avec nom de votre carte « eth? » USERCTL=no ONBOOT=yes MASTER=bond0 SLAVE=yes BOOTPROTO=none Charger le module de « bonding » dans le kernel Editer le fichier de configuration des modules de kernel /etc/modprobe.conf, y ajouter : alias bond0 bonding options bond0 mode=balance-alb miimon=100 Pour tester, charger le module de « bonding » puis redémarrer le service réseau : # modprobe bonding # service network restart Vérifications Vérifier que la carte virtuelle est bien démarrée et que les cartes physique lui sont bien liées : # less /proc/net/bonding/bond0 Qui retournera une sortie plus ou moins identique à ça : 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: 0 Permanent HW addr: 00:50:56:c0:00:08 Slave Interface: eth1 MII Status: up Link Failure Count: 0 Permanent HW addr: 00:50:56:c0:00:01 Slave Interface: eth2 MII Status: up Link Failure Count: 0 Permanent HW addr: 00:50:56:c0:00:03 Débrancher les cartes une à une afin de vérifier que le serveur ne perd pas la connexion (en mode 1, active backup. En load balancing le poste client est connecté sur une seule carte à un instant T et il perd quand même la connexion si c'est cette carte-là qui est débranchée : il faudra relancer la connexion).