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

De BlaxWiki
Aller à la navigationAller à la recherche
(Page créée avec « Cela permet d aggréger les 2 interfaces <pre> /etc/network/interfaces: ------------------------ # The primary network interface #auto eth0 #iface eth0 inet static # ... »)
 
 
(11 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
Cela permet d aggréger les 2 interfaces
__FORCETOC__


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 ====
<pre>
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.
</pre>
==== Options ====
<pre>
<pre>
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
</pre>


/etc/network/interfaces:
=== 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.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


# The primary network interface
Le primary= permet d avoir le mode failback (quand la primary interface revient up, le serveur rebascule dessus)
#auto eth0
#iface eth0 inet static
#      address 212.43.195.133
#      netmask 255.255.255.0
#      network 212.43.195.0
#      broadcast 212.43.195.255
#      gateway 212.43.195.1
#      # dns-* options are implemented by the resolvconf package, if installed
#      dns-nameservers 212.43.194.2 212.43.194.3
#      dns-search co.fr.clara.net


auto bond0
=== Bonding sous Centos ===
iface bond0 inet static
On doit configurer les interfaces ethX
      address 212.43.220.45
 
      netmask 255.255.255.0
<pre>
      gateway 212.43.220.1
[root@veso3folx01 network-scripts]# cat ifcfg-bond0
      pre-up ifconfig eth0 up
DEVICE=bond0
      pre-up ifconfig eth1 up
BOOTPROTO=static
      up ifenslave bond0 eth0 eth1
ONBOOT=yes
      down ifenslave -d bond0 eth0 eth1
IPADDR=10.80.30.1
      post-down ifconfig eth0 down
NETMASK=255.255.255.128
      post-down ifconfig eth1 down
NETWORK=10.80.30.0
      dns-nameservers 212.43.194.2 212.43.194.3
BROADCAST=10.80.30.127
      dns-search co.fr.clara.net
BONDING_OPTS="primary=eth0 mode=1 miimon=100"


/etc/modules:
[root@veso3folx01 network-scripts]# cat ifcfg-eth0
-------------
DEVICE=eth0
bonding mode=4 miimon=100
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
MTU=1500


ifconfig -a:
[root@veso3folx01 network-scripts]# cat ifcfg-eth1
------------
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
MTU=1500
</pre>


bond0    Lien encap:Ethernet  HWaddr 00:14:85:29:BE:22          inet adr:212.43.220.45  Bcast:212.43.220.255  Masque:255.255.255.0
Dans /etc/modprobe.d/alias-bond.conf
        UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
<pre>
        RX packets:540669 errors:0 dropped:0 overruns:0 frame:0
alias netdev-bond0 bonding
        TX packets:278688 errors:0 dropped:0 overruns:0 carrier:0
alias netdev-bond1 bonding
        collisions:0 lg file transmission:0          RX bytes:794712182 (757.8 MiB)  TX bytes:20612336 (19.6 MiB)
</pre>


eth0      Lien encap:Ethernet  HWaddr 00:14:85:29:BE:22          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
=== Bonding sous Debian ===
        RX packets:258810 errors:0 dropped:0 overruns:0 frame:0
Il faut installer le package ifenslave-2.6. On ne configure pas du tout les interfaces ethX liées au bonding
        TX packets:278630 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 lg file transmission:1000          RX bytes:376450410 (359.0 MiB)  TX bytes:20604912 (19.6 MiB)
        Interruption:16
eth1      Lien encap:Ethernet  HWaddr 00:14:85:29:BE:22          UP BROADCAST RUNNING NOARP SLAVE MULTICAST  MTU:1500  Metric:1
        RX packets:281859 errors:0 dropped:0 overruns:0 frame:0
        TX packets:58 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 lg file transmission:1000          RX bytes:418261772 (398.8 MiB)  TX bytes:7424 (7.2 KiB)
        Interruption:17


* /etc/network/interfaces
<pre>
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
</pre>
* /etc/modprobe.d/aliases-bond.conf
<pre>
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
</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