Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
utilisateurs:tokiess [Le 16/10/2007, 18:16] boloshon correction typographique |
— (Version actuelle) | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== Bonding : Agrégation de plusieurs Interfaces réseaux en une Interface logique ====== | ||
| - | |||
| - | Bonding est un driver qui permet d'agréger plusieurs carte réseaux de sorte à augmenter la bande passante et avoir une «haute disponibilité». | ||
| - | |||
| - | Si une interface Bond est montée avec 2 cartes réseaux à 100 Mbits/s, selon le mode utilisé le débit obtenu pourra être de 200 Mbits/s . | ||
| - | La machine restera accessible si l'une des interfaces ne répond plus. | ||
| - | |||
| - | |||
| - | **wikipedia** : [[wpfr>Bonding]] | ||
| - | |||
| - | |||
| - | [[http://www.cyberciti.biz/howto/question/static/linux-ethernet-bonding-driver-howto.php]] | ||
| - | |||
| - | |||
| - | ===== Descriptif ===== | ||
| - | |||
| - | ==== Prérequis ==== | ||
| - | |||
| - | 3 Normes peuvent être utilisé au niveau du switch pour mettre en place une interface bond | ||
| - | |||
| - | * configuration en mode "port trunking" | ||
| - | |||
| - | * norme 802.1Q permet Vlan trunking | ||
| - | |||
| - | * norme 802.ad permet l'agrégation de lien | ||
| - | |||
| - | |||
| - | Le serveur doit avoir : | ||
| - | |||
| - | * Des cartes réseaux compatible : ethtools et/ou miitools | ||
| - | |||
| - | * Le module bonding installer. | ||
| - | |||
| - | |||
| - | ==== Les modes ==== | ||
| - | |||
| - | Comme cela à été précisé en fonction du mode sélectionner l'agrégat fonctionnera de façon différent. | ||
| - | |||
| - | === Mode 0 : Round Robin , équilibrage de charge === | ||
| - | |||
| - | La transmition des paquets est de façon séquentielle sur chacune des cartes actives dans l'agrégat. Ce mode augmente la bande passante et support la tolérance de panne. | ||
| - | |||
| - | === Mode 1 : Active - passive === | ||
| - | |||
| - | Ce mode ne gère que la tolérance de panne. Si l'interface active est détectée down, une autre du bond prend le relais. | ||
| - | |||
| - | === Mode 2 : Balance xor === | ||
| - | |||
| - | 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 : Broadcast === | ||
| - | |||
| - | Tout le trafic est envoyé par toutes les interfaces | ||
| - | |||
| - | |||
| - | === mode 4 : 802.3ad === | ||
| - | |||
| - | Ce mode s'appuie sur la norme IEEE 802.3ad Dynamic link aggregation. | ||
| - | Toutes les interfaces du groupe sont agrégées de façon dynamique, ce qui augmente la bande passante et gère la tolérance de panne. | ||
| - | |||
| - | Cela implique que le switch gère le 802.ad et les interfaces soient compatibles mii-tool et/ou ethtool. | ||
| - | |||
| - | === mode 5 : balance-tlb === | ||
| - | |||
| - | Adaptive transmit load balancing : seule la bande passante en sortie est load balancée selon la charge calculée en fonction de la vitesse, ceci pour chaque interface. | ||
| - | Le flux entrant est affecté à l'interface courante. Si celle-ci devient inactive, une autre prend alors l'adresse MAC et devient l'interface courante. | ||
| - | |||
| - | === mode 6 : balance-alb === | ||
| - | |||
| - | Adaptive load balancing : ce mode inclut en plus du tlb un load balancing sur le flux entrant et seulement pour un trafic IPV4. | ||
| - | L'équilibrage est réalisé au niveau ARP. Le module intercepte les réponses pour y réécrire l'adresse MAC de l'une des interfaces du bond tout en tenant compte des spécificiter du protocole ARP. | ||
| - | La répartition entre les différentes interfaces, ce fait de façon séquentiel ( round robin ). | ||
| - | |||
| - | ==== autres paramètres ==== | ||
| - | |||
| - | === arp_interval === | ||
| - | |||
| - | Définit le délais en millisecondes entre chaque requête monitor ARP compatible avec le mode 0 ou 2 . Si la valeur est à 0 alors ARP monitoring est désactivé. | ||
| - | |||
| - | 0 est la valeur par défaut | ||
| - | === arp_ip_target === | ||
| - | |||
| - | Définit les adresses IP si l'option arp_interval > 0 . | ||
| - | Il peut être affecté un maximum de 16 adresses à l'agrégat dont le caractère de séparation est la virgule | ||
| - | no adresse ip est la valeur par défaut | ||
| - | === downdelay === | ||
| - | |||
| - | Définit le temps en millisecond pour qu'une interface soit détécter down | ||
| - | |||
| - | 0 est la valeur par défaut | ||
| - | === lacp_rate === | ||
| - | |||
| - | Définit le type d'intervalle entre chaque packet LACPDU pour le mode 802.3ad | ||
| - | soit : | ||
| - | slow ou 0 une requête toutes les 30 seconds | ||
| - | |||
| - | fast ou 1 une requête toutes les seconds | ||
| - | |||
| - | slow est la valeur par défaut | ||
| - | === max_bonds === | ||
| - | |||
| - | Définit le nombre maximum d'agrégat pour cette instance | ||
| - | |||
| - | 1 est la valeur par défaut | ||
| - | === miimon === | ||
| - | |||
| - | Définit la fréquence des MII link monitoring en milliseconds . Il est conseiller de positionner cette valeur à 100 | ||
| - | |||
| - | 0 est la valeur par défaut | ||
| - | === primary === | ||
| - | |||
| - | Option utillisable pour les modes actif-passif .Favorise une interface dans un agrégat . Si celle-ci venait à redevenir active, elle prend la main sur les autres. | ||
| - | |||
| - | === updelay === | ||
| - | |||
| - | Définit le en millisecond pour qu'une interface soit détecter active | ||
| - | |||
| - | 0 est la valeur par défaut | ||
| - | === use_carrier === | ||
| - | |||
| - | Définit si on utilise le monitoring de MII ou ETHTOOL ou non | ||
| - | |||
| - | 1 est la valeur par défaut | ||
| - | |||
| - | === xmi_hash_policy === | ||
| - | |||
| - | Définit la règle à utiliser pour déterminer l'interface pour les modes balance-xor et 802.3ad. | ||
| - | Cette option peut prendre 2 valeur : | ||
| - | |||
| - | layer2 : utilise XOR de l'adresse MAC dont la formule est : (source MAC XOR destination MAC ) modulo le nombre d'interfaces | ||
| - | |||
| - | layer3+4 : cette valeur n'est pas compatible avec toutes les implémentation 802.3ad. De plus elle fonctionne avec des protocole de haut niveau ( TCP ou UDP ) | ||
| - | |||
| - | layer2 est la valeur par défaut | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | ==== Installation ==== | ||
| - | |||
| - | Installation du package ifenslave pour le kernel 2.6 qui permet de gérer le bonding | ||
| - | [[:tutoriel:comment_installer_un_paquet|installez le paquet ifenslave-2.6]] | ||
| - | |||
| - | |||
| - | sudo apt-get install ifenslave-2.6 | ||
| - | |||
| - | Ajout d'un alias pour que le module bond soit activé avec les bonnes options | ||
| - | |||
| - | sudo vim /etc/modprobe.d/arch/i386 | ||
| - | |||
| - | ajouter | ||
| - | |||
| - | alias bond0 bonding | ||
| - | options bonding mode=1 miimon=100 downdelay=200 updelay=200 | ||
| - | |||
| - | Création de l'interface bond0 | ||
| - | |||
| - | sudo vim /etc/network/interfaces | ||
| - | |||
| - | Insérer | ||
| - | |||
| - | auto bond0 | ||
| - | iface bond0 inet static | ||
| - | address 192.168.0.1 | ||
| - | netmask 255.255.255.0 | ||
| - | network 192.168.0.0 | ||
| - | broadcast 192.168.0.255 | ||
| - | up /sbin/ifenslave bond0 eth0 eth1 | ||
| - | down /sbin/ifenslave -d bond0 eth0 eth1 | ||
| - | |||
| - | |||
| - | Activation de l'interface bond0 | ||
| - | |||
| - | sudo ifup bond0 | ||
| - | |||