Différences entre les versions de « Bonding & trunking »

De BlaxWiki
Aller à la navigationAller à la recherche
 
(2 versions intermédiaires par le même utilisateur non affichées)
Ligne 50 : Ligne 50 :
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
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.
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).
Il ne faut pas avoir les options à la fois dans /etc/modprobe.d/alias-bond.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
De préférence mettre les options dans la configuration de l'interface
* Dans /etc/modprobe.conf
<pre>
alias bond0 bonding
alias bond1 bonding
</pre>
* Dans /etc/sysconfig/network-scripts/ifcfg-bond0|1
<pre>
ifcfg-bond0 :
BONDING_OPTS="primary=eth0 mode=1 miimon=100"
ifcfg-bond1 :
BONDING_OPTS="primary=eth2 mode=1 miimon=100"
</pre>


Le primary= permet d avoir le mode failback (quand la primary interface revient up, le serveur rebascule dessus)
Le primary= permet d avoir le mode failback (quand la primary interface revient up, le serveur rebascule dessus)
Ligne 82 : Ligne 67 :
NETWORK=10.80.30.0
NETWORK=10.80.30.0
BROADCAST=10.80.30.127
BROADCAST=10.80.30.127
BONDING_OPTS="mode=1 miimon=100"
BONDING_OPTS="primary=eth0 mode=1 miimon=100"


[root@veso3folx01 network-scripts]# cat ifcfg-eth0
[root@veso3folx01 network-scripts]# cat ifcfg-eth0
Ligne 101 : Ligne 86 :
</pre>
</pre>


Dans /etc/modprobe.d/alias-bond.conf
<pre>
alias netdev-bond0 bonding
alias netdev-bond1 bonding
</pre>


=== Bonding sous Debian ===
=== Bonding sous Debian ===
Ligne 125 : Ligne 115 :
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 actuelle datée du 19 août 2013 à 09:02


Le bonding ou teaming permet de faire du failover ou de l'agrégation d'interfaces.

Généralités[modifier]

Différents mode de bonding[modifier]

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[modifier]

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[modifier]

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.d/alias-bond.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

Le primary= permet d avoir le mode failback (quand la primary interface revient up, le serveur rebascule dessus)

Bonding sous Centos[modifier]

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="primary=eth0 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

Dans /etc/modprobe.d/alias-bond.conf

alias netdev-bond0 bonding
alias netdev-bond1 bonding

Bonding sous Debian[modifier]

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