Différences entre les versions de « Bonding & trunking »
| Ligne 125 : | Ligne 125 : | ||
alias bond0 bonding | alias bond0 bonding | ||
alias bond1 bonding | alias bond1 bonding | ||
options bond0 primary=eth0 mode=1 arp_interval=1000 arp_ip_target=172.26.15.62 | # A ne mettre que si ce n est pas renseigné dans /etc/network/interfaces, à mettre de préférence dans /etc/network/interfaces | ||
options bond1 primary=eth2 mode=1 arp_interval=1000 arp_ip_target=172.26.15.30 | #options bond0 primary=eth0 mode=1 arp_interval=1000 arp_ip_target=172.26.15.62 | ||
#options bond1 primary=eth2 mode=1 arp_interval=1000 arp_ip_target=172.26.15.30 | |||
</pre> | </pre> | ||
[[Catégorie:Linux]] | [[Catégorie:Linux]] | ||
Version du 24 juillet 2012 à 13:28
Le bonding ou teaming permet de faire du failover ou de l'agrégation d'interfaces.
Généralités
Différents mode de bonding
Mode 0, l'équilibrage de charge (lb entrant) Grâce l'équilibrage de charge, les paquets transitent sur une carte réseau active, puis sur une autre, séquentiellement. Le débit de la bande passante est augmenté. Si une des cartes réseaux vient à tomber en rade, l'équilibre de charge saute cette carte et continue à tourner de manière cyclique. Mode 1, la sauvegarde active (lb aucun) Ce mode est une simple redondance avec basculement. Une seule interface est active. Dès que sa panne est détectée, une autre interface est activée et prend le relais. Votre bande passante ne change pas. Mode 2, la balance Xor (lb entrant) Une interface est affectée à l'envoi vers une même adresse MAC. Ainsi les transferts sont parallélisés et le choix de l'interface suit la règle : (Adresse MAC de la source XOR Adresse MAC de la destination) modulo nombre d'interfaces. Mode 3, le broadcast (lb aucun) Aucune particularité dans ce cas, toutes les données sont transmises sur toutes les interfaces actives. Aucune autre règle. Mode 4, la norme 802.3ad (lb aucun) La norme 802.3ad permet l'aggrégation des liens, élargissant dynamiquement la bande passante. Les groupes sont créés dynamiquement sur la base d'un paramètrage commun. Mode 5, la balance TLB (lb entrant) "TLB" pour Traffic Load Balancing Le trafic sortant est distribué selon la charge courante (calculée relativement à la vitesse) de chaque interface. Le trafic entrant est reçu par l'interface courante.Si l'interface de réception devient inactive, une autre interface prend l'adresse MAC de l'interface inactive. Mode 6, la balance ALB (lb entrant et sortant) "ALB" pour Adaptive load balancing. C'est un mode étendu de la balance tlb, qui inclut du load balancing en réception. L'équilibrage de charge de réception est réalisé au niveau des réponses ARP. Le module intercepte les réponses ARP et change l'adresse MAC par celle d'une des interfaces.
Options
Primary Uniquement pour active-backup. Favorise une interface esclave. Celle-ci redeviendra active dès qu'elle le peut, même si une autre interface est active. updelay (0 par défaut) Temps de latence entre la découverte de la reconnexion d'une interface et de sa ré-utilisation. downdelay (0 par défaut) Temps de latence entre la découverte de la déconnexion d'une interface et de sa désactivation de bond0. miimon (0 par défaut) Fréquence de surveillance des interfaces par Mii ou ethtool. La valeur conseillée est 100. use_carrier (1 par défaut) Utilisation de la surveillance des interfaces par "carrier". arp_interval (en ms) Système de surveillance par ARP, évitant l'utilisation de miitool et ethtool. Si aucune trame est arrivée pendant l'arp_interval, on envoie par cette interface jusqu'à 16 requêtes ARP à 16 adresses IP. Si aucune réponse n'est obtenue, l'interface est désactivée. arp_ip_target Liste des adresses IP, séparées par une virgule, utilisée par la surveillance ARP. Si aucune n'est renseignée, la surveillance ARP est inactive
Configuration
Il est nécessaire de définir dans les options à la fois miimon ou arp_interval et arp_ip_target, sinon cela va générer un warning au boot et ne permet pas d'avoir un bonding totalement efficace. Il ne faut pas avoir les options à la fois dans /etc/modprobe.conf et dans /etc/sysconfig/network-scripts/ifcfg-bond0|bond1 (ou autre fichier de configuration des interfaces réseaux). De préférence mettre les options dans la configuration de l'interface
- Dans /etc/modprobe.conf
alias bond0 bonding alias bond1 bonding
- Dans /etc/sysconfig/network-scripts/ifcfg-bond0|1
ifcfg-bond0 : BONDING_OPTS="primary=eth0 mode=1 miimon=100" ifcfg-bond1 : BONDING_OPTS="primary=eth2 mode=1 miimon=100"
Le primary= permet d avoir le mode failback (quand la primary interface revient up, le serveur rebascule dessus)
Bonding sous Centos
On doit configurer les interfaces ethX
[root@veso3folx01 network-scripts]# cat ifcfg-bond0 DEVICE=bond0 BOOTPROTO=static ONBOOT=yes IPADDR=10.80.30.1 NETMASK=255.255.255.128 NETWORK=10.80.30.0 BROADCAST=10.80.30.127 BONDING_OPTS="mode=1 miimon=100" [root@veso3folx01 network-scripts]# cat ifcfg-eth0 DEVICE=eth0 BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes MTU=1500 [root@veso3folx01 network-scripts]# cat ifcfg-eth1 DEVICE=eth1 BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes MTU=1500
Bonding sous Debian
Il faut installer le package ifenslave-2.6. On ne configure pas du tout les interfaces ethX liées au bonding
- /etc/network/interfaces
auto bond0
iface bond0 inet static
address 172.26.15.49
netmask 255.255.255.240
gateway 172.26.15.62
bond-slaves eth0 eth1
bond-mode active-backup
bond-primary eth0
bond-arp_ip_target 172.26.15.62
bond-arp_interval 1000
bond-downdelay 200
bond-updelay 200
- /etc/modprobe.d/aliases-bond.conf
alias bond0 bonding alias bond1 bonding # A ne mettre que si ce n est pas renseigné dans /etc/network/interfaces, à mettre de préférence dans /etc/network/interfaces #options bond0 primary=eth0 mode=1 arp_interval=1000 arp_ip_target=172.26.15.62 #options bond1 primary=eth2 mode=1 arp_interval=1000 arp_ip_target=172.26.15.30