sécuriser vos liens réseaux avec les channel bonding
TRANSCRIPT
5/10/2018 S curiser vos liens r seaux avec les Channel Bonding - slidepdf.com
http://slidepdf.com/reader/full/securiser-vos-liens-reseaux-avec-les-channel-bonding
Securiser vos liens reseaux par Ie Channel Bonding
Article publie dans Ie hors serie special Haute Disponibilite du GNUILinux Magazine France,
numero 18(Fevrier/Mars 2004).
Introduction
Comment ameliorer la disponibilite d'un serveur Linux sur le reseau ?
En securisant les differents elements materiels composant le serveur si lion considere que c'est le plus
souvent la panne de l'un de ces composants qui va conduire brutalement a l'arret de la machine(jusqu'au remplacement de l'element defectueux) et dans une moindre mesure un probleme logiciel
qui peut alors etre plus facilement resolu (on redemarre le logiciel en cause voire directement la
machine dans les cas les plus bloquants).
Securiser peut signifier choisir un compos ant offrant une duree de vie suffisante (exprime en MTBF,
«Mean Time Between Failures », soit le temps moyen ecoule entre deux pannes) par rapport au
besoin exprime,
Une autre approche, moins optimiste, considere qu'un composant est faillible par nature et qu'il
convient done de prevoir la panne : Disposer de composants de secours qui viendront immediatement(et automatiquement) prendre la releve d'un composant defaillant est une reponse adaptee a ce delicatprobleme.
La memoire de masse (par exemple les disques durs avec une solution RAID), le ventilateur (pour
eviter les cas de surchauffe) ou encore l'alimentation sont des elements qui peuvent facilement etre
dupliques sans trop de difficultes,
Mais peu de gens savent qu'il est aussi tres simple de securiser les interfaces Ethernet en utilisant une
fonctionnalite du noyau Linux appelee «Channel Bonding ».
Cette technique consiste a surveiller l'etat de la couche reseau pour pallier a la panne d'un controleurou a la deconnexion d'un cable : On regroupe de facon logicielle (et transparente pour l'utilisateur)
plusieurs controleurs reseaux en une seu1e et meme interface Ethernet virtuelle afin de disposer de
plusieurs chemins physiques pour recevoir ou transmettre un meme flux de donnees; On multiplie les
chemins pour garantir la continuite du service.
Le support de cette fonctionnalite sous Linux se fait a travers le driver bonding dont la version
actuellement presente dans le noyau 2.4 (et 2.6) est directement derivee du travail effectue par Donald
Becker, le gourou des drivers reseaux sous Linux. Une documentation en ligne est directement
disponible dans les sources du noyau sous [1] ( a lire et a relire car c'est quasiment la seule sourced'informations disponible).
Le Channel Bonding utilise sous Linux est l'equivalent du Trunking de SUN, du Port Trunking de D-
LINK ou encore de l'EtherChannel de CISCO. Tous ces systemes ou equipements sont conformant a
la norme IEEE 802.3ad.
Pour etre precis, il faut differencier l'agregation dynamique de l'agregation statique dans la norme
802.3ad:
• L'agregation de liens statique (souvent appelee « trunking ») impose de configurer manuellement
et individuellement chaque systeme ou equipement, Plusieurs algorithmes sont proposees par la
norme pour garantir le bon acheminement des donnees ;
• A l'inverse, l'agregation dynamique 802.3ad se base sur un echange dynamique d'informations
pour faciliter la creation de groupes d'agregation, Le protocole LACP (Link Agregation Control
Protocol) est utilise a cette intention : La methode d'agregation est choisie statiquement par
l'administrateur ou bien dynamiquement par LACP (l'administrateur peut aussi imposer des
contraintes d'agregation puis laisser faire le protocole).
De fait, il n'existe pas un seul mais bien plusieurs algorithmes implementes par le driver bonding:
5/10/2018 S curiser vos liens r seaux avec les Channel Bonding - slidepdf.com
http://slidepdf.com/reader/full/securiser-vos-liens-reseaux-avec-les-channel-bonding
• Active-backup (Sauvegarde active) : Seule une des interfaces est reellement utilisee, En cas de
panne, l'interface active suivante prend la releve ;
• Broadcast (Diffusion) : Les donnees sont envoyees Iitoutes les interfaces actives;• Balance-rr (Equilibrage de charge) : Les donnees sont transmises sequentiellement de la
premiere interface active Iila demiere (de facon continue et cyclique) pour augmenter Ie nombre depaquets envoyes et done ameliorer la bande passante ;
• Balance-xor (Mode XOR) : Permet d'utiliser toujours la meme interface active pour les paquets
IP envoyes Ii une meme adresse physique sur Ie reseau (adresse MAC) et ameli ore done les
performances en parallelisant les transferts ;
Les algorithmes suivants sont disponibles depuis la version 2.4.22 du noyau (dont l'agregation
dynamique 802.3ad) :
• balance-tlb (Equilibrage de charge auto-adaptatif en emission) : Le trafic en sortie est adapte Ii lacharge de chaque interface active. Par contre, chaque interface recoit en entree les flux qu'il initie :
Si cette demiere ne peut plus recevoir les donnees (passage en mode inactif), une autre interface
active recupere son adresse physique et done ses donnees ;
• balance-alb (Equilibrage de charge auto-adaptatif en emission et en reception) : Tout comme Iemode balance-tlb, Ie trafic en sortie est adapte Ii la charge des interfaces actives. La difference se
situe dans la capacite de ce mode Iiequilibrer la charge en entree en interceptant les requetes ARPet en les redistribuant pour diriger Ie flux vers l'interface la moins chargee;
• 802.3ad (Agregation dynamique des liens) : Permet de creer des groupes de liens qui partagent Ie
meme parametrage. L'interet est de disposer d'un mode qui ne necessite pas forcement de
configuration manuelle : Les liens se decouvrent mutuellement et sont agreges automatiquement.
Tous ces modes offrent la meme resistance aux pannes : En cas de probleme sur une interface, cette
derniere est automatiquement retiree de la liste des interfaces actives sans que la continuite du service
ne soit perturbee.
Certains de ces modes imposent que Ie systeme ou l'equipement (switch ou hub) qui se trouve en face
supporte cette technologie :
• Dans Ie cas de deux machines sous Linux, il n'y a bien evidemment pas de problemes ;
• Dans Ie cas d'un equipement reseau, cela depend du mode que l'on souhaite utiliser :
• Si vous voulez utiliser les modes active-backup, balance-tlb ou balance-alb, vous n'etes pas
contraint par Ie choix d'un equipement specifique (preferez toutefois Ie switch au hub sauf dans
Ie cas du mode active-backup) ;
• Pour les autres modes, il faut que les equipements (obligatoirement de type switchs
parametrables) supportent l'agregation de liens conformement Ii la norme IEEE 802.3ad. Les
modes broadcast, balance-rr et balance-xor ont besoin d'un switch qui accepte Ie trunking(plus courant sur Ie marche) alors que Ie mode 802.3ad necessite un modele supportant
l'agregation dynamique. Hors de question d'utiliser un equipement conventionnel : Celui ci
serait notamment rendu inefficace par Ie fait que la meme adresse physique (adresse MAC)
apparaitrait sur plusieurs ports simultanement,
Le mode active-backup nous interesse tout particulierement car il va nous permettre de mettre en
oeuvre une solution reposant sur un equipement reseau standard (indifferemment de type hub ou
switch). Deux cables ou plus sont connectes sur l'equipement : Un seul lien est actif et peut rendre
immediatement la main Ii une interface de secours si un probleme apparait. Une fonctionnalite
interessante permet de privilegier une interface par rapport Iiune autre : Si vous disposez de deuxinterfaces, l'une en 100 Mb/s et l'autre en 10 Mb/s, il semble judicieux d'utiliser en priorite l'interface
la plus puissante. Une bonne solution pour recycler vos cartes reseaux obsoletes.
Les modes balance-tlb et balance-alb sont Iiprivilegier si vous disposez d'un switch standard et quevous souhaitez ameliorer en meme temps les performances.
5/10/2018 S curiser vos liens r seaux avec les Channel Bonding - slidepdf.com
http://slidepdf.com/reader/full/securiser-vos-liens-reseaux-avec-les-channel-bonding
Surveillance du lien reseau
Comment le driver bonding sait qu'un cable a ete debranche ? La plupart des cartes Ethernet recentes
contiennent des registres que l'on peut adresser sous Linux et qui pennettent d'interroger l'etat du lien
ou de changer le type de negociation de la carte.
Trois methodes sont disponibles :
• La consultation des registres MIl [2] par l'utilisation de l'ioctl SIOCGMIIPHY ;
• L'utilisation de l'ioctl SIOCETHTOOL (registres ETHTOOL) ;
• Depuis la version 2.4.22, la primitive netif_ carrier_okf) du noyau.
Bien evidemment, si une interface ne supporte pas l'une de ces trois methodes, la deconnexion de son
cable Ethernet ne sera pas detectee (une fonctionnalite absolument inutile si l'on souhaite uniquement
ameliorer la bande passante du reseau),
Les outils mii-tool et ethtool pennettent d'interroger les registres ETHTOOL et MIl et donnent
quelques indications pour savoir si vos cartes sont adaptees pour la haute disponibilite :
# mii-tool ethO
ethO : negotiated lOObaseTx-FD flow-control, link ok
# ethtool ethO
Link detected: yes
Quelle que soit la distribution, la commande mii-tool est issue du paquet net-tools alors que ethtool
possede son propre paquet du meme nom (voir [3]).
Si vous ne disposez pas d'interfaces supportant l'une de ces differentes techniques, il existe une
derniere methode qui consiste Ii envoyer regulierement des requetes ARP sur certaines adresses IP
presentes sur votre reseau afin de valider la disponibilite du trafic (une requete ARP, acronyme de
«
Address Resolution Protocol », pennet de recuperer l'adresse physique d'une adresse IP passee enparametre ).
Ce mode est interessant Iiplus d'un titre car autorisant la detection d'une panne bien au dela de la
surveillance des registres presents sur la carte. En effet, si l'equipement reseau sur lequel est branche
une de vos interfaces devait etre coupe du reseau, la surveillance de ces registres ne vous sera
d'aucune utilite (le lien sera toujours marque actif). Seule la methode mettant en oeuvre une
surveillance ARP donnera de bon resultats.
II n'est par contre pas possible de cumuler la surveillance de vos cartes reseaux avec la surveillance
basee sur ARP : II vous faudra done choisir.
Commande ifenslaveLa commande ifenslave va nous pennettre de construire l'interface bond en agregeant plusieurs
devices reseaux passes en parametre (dans la suite de cet article, on utilisera le tenne bond pour
designer l'ensemble des interfaces physiques appartenant Iiune interface virtuelle de type Channel
Bonding). II est peu courant que cette commande soit disponible directement dans un paquet de votre
distribution (en dehors, Iirna connaissance, de la distribution Redhat dans le paquet iputils) : Le plussimple va etre de la compiler Iipartir de ses sources : Ceci est meme preferable pour disposer d'unversion compatible avec la version courante du driver bonding.
Les noyaux de version 2.4.12 et superieurs mettent en effet Ii disposition une version adaptee
directement dans le repertoire /usr/src/linux/Documentation/network.
Suivez les instructions suivantes sous root pour compiler et installer la commande (en considerant queles sources du noyau ainsi que les outils de compilation GNU sont installes) :
5/10/2018 S curiser vos liens r seaux avec les Channel Bonding - slidepdf.com
http://slidepdf.com/reader/full/securiser-vos-liens-reseaux-avec-les-channel-bonding
# cd /usr/sre/linux/Doeumentation/network
# gee -Wall -Wstriet-prototypes -0 -I/usr/sre/linux/inelude ifenslave.e -0
ifenslave
# mv ifenslave /sbin
Parametrage d'une interface bond
II est habituel d'appeler le driver bonding autant de fois que nous voulons creer d'interfaces virtuelles
dans notre systeme (bondO, bondl , ...) : Chaque interface ainsi creee pourra ainsi etre parametree
separement (on peut eviter de lancer plusieurs fois le driver en utilisant l'option max_bonds mais
elles partageront toutes dans ce cas le meme parametrage).
Le tableau suivant presente les differentes options utilisables lors de l'appel du driver:
Option Description
mode Permet de selectionner le comportement du driver:
• balance-rr ou 0 : Transmission des paquets IP de facon cyclique de la
premiere interface active Ii la derniere. Ce mode equilibre le trafic surtoutes les interfaces. Active par defaut si l'option n'est pas specifiee
• active-backup ou 1 : Une seule des interfaces presentes dans le bond
est active
• balance-xor ou 2 : Ce mode permet de selectionner constamment le
meme controleur pour tous les paquets IP Ii destination d'une meme
adresse physique (done d'une meme machine). Ce comportement
permet d'equilibrer la charge sur toutes les interfaces actives. Le choix
de l'interface est base sur l'algorithme suivant : (adresse_source XOR
adresse _destination) % nombre_interfaces
• broadcast ou 3 : Diffusion des donnees vers toutes les interfacesactives. Ce mode est tolerant aux pannes (perte d'un controleur ou d'un
cable)
• 802.3ad ou 4 : Agregation de liens conformement Ii la norme IEEE
802.3ad. Creation dynamique de groupes qui partagent tous le meme
parametrage
• balance-tlb ou 5 : Equilibrage du trafic sortant en distribuant les
donnees sur les interfaces actives les moins chargees, Ce mode
necessite par contre de disposer de la surveillance par ETHTOOL dans
le driver de la carte reseau
• balance-alb ou 6 : Equilibrage du trafic entrant et sortant en utilisant
judicieusement les requetes ARP. Ce mode implique de disposer de la
surveillance par ETHTOOL dans le driver de la carte reseau et de
pouvoir changer l'adresse physique (MAC) de la carte meme si le
device est ouvert
max bonds Permet de parametrer le nombre de devices bond Ii creer pour cette
instance du driver : Cela permet d'eviter de lancer plusieurs fois le driver
mais impose un parametrage identique (uniquement Ii partir du noyau
2.4.21)
miimon Frequence de surveillance des registres MIl ou ETHTOOL en milli-
secondes. La valeur par defaut est 0 qui desactive la surveillance descontroleurs. Si les registres MIl ne sont pas supportes par le driver de la
carte, c'est le registre ETHTOOL qui est utilise
5/10/2018 S curiser vos liens r seaux avec les Channel Bonding - slidepdf.com
http://slidepdf.com/reader/full/securiser-vos-liens-reseaux-avec-les-channel-bonding
Option Description
down delay Permet de specifier la valeur en millisecondes permettant de desactiver une
interface apres detection d'un probleme (link down). La valeur doit etre un
multiple de miimon. La valeur par defaut est 0
updelay Permet de specifier la valeur en millisecondes permettant d'activer une
interface lors de la detection d'une reconnexion sur un lien (link up). Lavaleur doit etre un multiple de miimon. La valeur par defaut est 0
use carrier On demande a l'algorithme de surveillance d'utiliser la primitive
netif_carrier_okO a la place de la surveillance des registres MIl ou
ETHTOOL. Toutes les cartes ne supportent pas cette primitive (auquel cas,
le lien est toujours considere actif) et cette option n'est apparue quia partir
de la version 2.4.22 du noyau. La valeur par defaut est 1
arp_interval Permet de preciser la frequence d'envoi des requetes ARP de surveillance
du lien reseau dans le cas ou l'on n'utilise pas le parametre miimon (les
deux modes de surveillance ne peuvent pas cohabiter). Si des paquets IP
n'ont pas ete recus ni envoyes en dessous de la periode arp _interval, une
requete ARP est envoyee vers une liste d'adresses IP precisee dans le
parametre arp_ip_target. Si aucune reponse n'est recue apres cette
demande, l'interface est consideree comme perdue. La valeur par defaut est
o qui desactive la surveillance par ARP
arp _ip_target Si la surveillance par requete ARP est activee, ce parametre permet de
specifier jusqu'a 16 adresses IP en concurrence sur le reseau. Les
differentes adresses IP utilisent le separateur virgule. Au moins une
adresse IP doit etre listee pour que la surveillance ARP fonctionne
primary Permet de favoriser une interface dans le mode active-backup : Cette
interface prioritaire est utilisee en premier lors de l'activation du bond.
Lorsque cette interface est marquee en faute par le driver (par exemple,deconnexion du cable), le trafic est naturellement dirige vers une interface
de secours. Cependant, en cas de reactivation de l'interface prioritaire dans
le bond, le trafic sera de nouveau redirige vers cette interface (parametre
disponible seulement a partir de la version 2.4.21 du noyau)
multicast Support du multicast sur le lien Ethernet virtuel :
• 0: Pas de support du multicast
· 1: Active sur le noeud actif seulement dans le cas du mode active-
backup
• 2: Active sur toutes les interfaces (configuration par defaut)lacp_rate Cette option permet de parametrer la frequence d'envoi des paquets
LCPDV dans le cas de l'agregation dynamique 802.3ad
• slow ou 0 : Transmission des paquets toutes les 30 secondes (par
defaut)
• fast ou 1:Transmission des paquets toutes les 1 seconde
Dans le cas du parametre miimon, il est preferable de ne pas descendre en dessous de 10 ms : Une
valeur plus petite perturberait la fluidite de votre systeme (sur architecture x86, la frequence
d'interruption de l'horloge du noyau 2.4 fonctionne sur une frequence de 100 Hz et done utilise des
tranches de temps de 10 ms). La valeur minimale conseillee est de 100 msLe parametre downdelay est utile dans le cas d'une connexion avec un switch parametrable
(supportant le trunking) dont la prise en compte d'un probleme sur un port est moins rapide que celIe
5/10/2018 S curiser vos liens r seaux avec les Channel Bonding - slidepdf.com
http://slidepdf.com/reader/full/securiser-vos-liens-reseaux-avec-les-channel-bonding
du driver bonding sous Linux. Ce parametre pennet de decaler le moment ou le controleur est marque
comme inactif dans le bond.
Certains switchs presentent leurs ports actifs avant que la connexion reseau ne soit reellement
operationnelle (dans le cas d'un reboot, par exemple). Le parametre updelay pennet de prendre en
compte cette particularite. Par contre, si toutes les interfaces sont marquees en echec, le driver
bonding utilisera immediatement la premiere interface active sans tenir compte de ce parametre,
Passons a fa pratique
II est essentiel de disposer du driver bonding compile en module pour pouvoir lui passer des
parametres, ce qui est le cas dans la majorite des distributions.
Vous ne possedez qu'une seule interface ? Pas de panique, les exemples suivants fonctionnent aussi
avec une seule interface (meme si cela ne sert pas a grand chose).
Si l'on veut que le bond soit active directement au demarrage de la machine, la premiere chose a faire
est d'ajouter la ligne suivante dans le fichier fetclmodules.conf :
alias bondO bonding
Cette ligne va pennettre d'associer le device Ethernet bondO avec le driver bonding. On peut bien
entendu ajouter plusieurs devices de type bond sur un meme systeme en incrementant le numero du
device comme avec une interface Ethernet standard.
On ajoute ensuite la liste des parametres que l'on va passer en option lors de l'appel du driver (on
s'assure de bien charger le driver des cartes reseaux avant celle du Channel Bonding) :
probeall bondO ethO ethl ... eth[x] bonding
options bondO mode=active-backup miimon=lOO
La possibilite de configurer le mode directement a partir de son libelle (active-backup) plutot que de
son numero (1) n'est disponible quia partir du noyau 2.4.2l.Pour de simples tests, il est possible de passer les parametres directement en ligne de commande
comme dans l'exemple suivant :
# modprobe bonding mode=active-backup miimon=lOO
II reste a activer l'interface dans la phase de demarrage de votre systeme : Certaines distributions
(comme la Redhat et ses derives) sont capables de directement prendre en charge cette etape dans
leurs fichiers de configuration. Je vous renvoie au manuel d'utilisation de la distribution Redhat pour
ceux que cela interesse.
Une solution plus generique consiste a creer un script que nous allons placer dans le repertoire fetcfinit.d si lion suit les recommandations du Linux Standard Base (LSB) :
5/10/2018 S curiser vos liens r seaux avec les Channel Bonding - slidepdf.com
http://slidepdf.com/reader/full/securiser-vos-liens-reseaux-avec-les-channel-bonding
#!/bin/bash
#
# Bonding configuration
#
# /etc/init.d/bonding
#
### BEGIN INIT INFO
# Provides: bonding# Required-Start: $network
# Required-Stop:
# Default-Start: 3 5
# Default-Stop:
# Description: Configurer le Channel Bonding
### END INIT INFO
BOND ADDR="192.l68.4.l/24"
LISTE ETH="ethO eth1"
#ETH ADDR="XX:XX:XX:XX:XX:XX"
case "$1" in
start)ip link set dev bondO down
if [ "$ETHER_ADDR" != "" ] ; then
ip link set dev bondO addr ${ETHER_ADDR}
fi
ip addr add ${BOND_ADDR} brd + dev bondO
ip link set dev bondO up
ifenslave bondO ${LISTE_ETH}
stop)
ip link set dev bondO down
,,
*)
echo "Usage: $0 [startlstop]"
exit 1
esac
Adaptez b ien evidemment le script precedent Ii votre configuration.
J'u tilise p ar a illeu rs la comman de ip d u p aq uet ip ro ute2 m ais j'au rais p u to ut au ssi b ien u tiliser le
classique ifconfig Ii la place :
ifconfig bondO 192.168.4.1 netmask 255.255.255.0 broadcast 192.168.1.255 up
/sbin/ifenslave bondO ethO eth1
Nous vou lons app ele r n ot re s cr ip t j us te apres le c ha rg emen t d e la c ou ch e reseau d an s le s r un lev els 3
e t 5 (l'o ptio n -d p ermet d e desactiver le demarrage du sc rip t) :
# chkconfig -s bonding 35
I Inous res te Ii demarrer not re s cr ip t manuellemen t la p rem ie re f ois :
/etc/init.d/bonding start
Si l'on observe les caracteristiques de l'interface bondO (ip link show bondO ), on s'apercoit que
l'a dresse p hysiq ue et celles d e tou tes les in terfaces esclav es p arta gen t la meme v aleu r. II s'a git en
realite de l 'adre ss e phys ique de la premiere int er fa ce reseau ajoutee dans le bond , e thOdans no tr e cas .On peu t s ouha ite r c on fig ur er soi-meme cette ad resse p hy siq ue en ajou tan t l a lign e su iva nte au to ut
d eb ut d e la se ctio n sta rt :
5/10/2018 S curiser vos liens r seaux avec les Channel Bonding - slidepdf.com
http://slidepdf.com/reader/full/securiser-vos-liens-reseaux-avec-les-channel-bonding
ip link set dev bondO addr XX:XX:XX:XX:XX:XX
Pour recouvrir la configuration initiale des adresses MAC de chaque carte reseau, il faut arreter les
interfaces reseaux, supprimer puis recharger les drivers.
Comment connaitre la configuration ou surveiller l'etat de notre bond? Le plus simple est de consulter
le fichier virtuel /proc/netlbond[x]/info (ou [x] correspond au numero de votre bond). Cela peut
notamment permettre de connaitre le nombre de fois qu'une interface a ete desactivee depuis ledemarrage du serveur.
Par exemple, dans le cas de notre interface bondO :
# cat /proc/net/bondO/info
Bonding Mode: active-backup
Currently Active Slave: ethO
MIl Status: up
MIl Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth1
MIl Status: up
Link Failure Count: 0
Slave Interface: ethO
MIl Status: up
Link Failure Count: 2
N'hesitez pas a consulter le demon syslog (/var/log/messages) pour suivre les changements dans
votre bond et tracer les eventuels dysfonctionnements. Par exemple, dans le cas de perte d'une
interface:
bondO : link status definitely down for interface ethO, disabling it and making
interface eth1 the active one
Exemp/es de mise en oeuvre
Plusieurs architectures sont possibles si vous souhaitez mettre en oeuvre le Channel Bonding :
Certaines de ces configurations vous demanderons de disposer d'un Switch supportant le trunking ou
l'agregation dynamique 802.3ad, d'autres vous permettrons d'utiliser un equipement reseau standard
ou de brancher 2 machines Linux en point a point par l'intermediaire de cables croises,
Pour chaque cas de figure, vous devrez faire un choix entre un ou plusieurs algorithmes :
• Securiser l'acces a un equipement reseau standard: Vous devez disposer de deux cartes reseaux ouplus et utiliser le mode active-backup, balance-tlb ou balance-alb;
• Securiser l'acces a un equipement reseau supportant le trunking : Vous devez disposer de deux
cartes reseaux ou plus et utiliser l'un des modes balance-rr, balance-xor ou broadcast. Les
modes balance-rr et balance-xor vous pennettront d'ameliorer en plus les performances du reseau
• Si vous disposez d'un equipement reseau supportant la norme 802.3ad dynamique, n'hesitez pas et
utilisez le mode 802.3ad ;
• Si vous ne disposez pas d'equipement reseau supportant la norme 802.3ad (dynamique ou statique)
mais que vous souhaitez ameliorer les performances, vous pouvez utiliser a la place une seconde
5/10/2018 S curiser vos liens r seaux avec les Channel Bonding - slidepdf.com
http://slidepdf.com/reader/full/securiser-vos-liens-reseaux-avec-les-channel-bonding
machine Linux idealement configuree : Parfait pour securiser les donnees transferees et ameliorer
les performances (avec deux cartes Ethernet 100MB/s, vous pouvez facilement disposer d'un lien
reseau pouvant transferer 20MB utiles par seconde au lieu de 10!).
Dans le schema suivant, nous avons branche deux cables reseaux croises entre les cartes Ethernet de
deux serveurs sous Linux. Quelque soit le mode choisi, si nous debranchons l'un des cables, le reseau
entre les deux machines continue de fonctionner. Si vous ambitionnez de mettre en place un cluster de
haute disponibilite avec HeartBeat, cette solution vous tend les bras.
Dans cet autre exemple, nous disposons d'un serveur sous Linux avec deux interfaces Ethernet et d'un
equipement reseau : Si l'equipement est standard, utilisez obligatoirement le mode active-backup,
balance-tlb ou balance-alb ; Sinon vous etes libre de choisir le mode de votre choix.
Conclusion
Apres avoir lu cet article, vous vous demandez peut etre si il est encore possible d'ameliorer la
disponibilite du serveur sur le reseau apres avoir securise tous les composants possibles et en
particulier les interfaces Ethernet ? On peut repondre par l'affirmative car si la perte d'une interface
n'est pas synonyme dans ce cas d'arret immediat de la machine, il faudra songer Iiremplacer l'elementdefectueux assez vite : Soit vous pouvez prevoir un arret de maintenance (changement du composant
defectueux Ii froid), soit vous etes contraint Ii la haute disponibilite de vos services et un arret du
serveur est absolument Iiproscrire.Dans ce dernier cas, une seu1e solution : Le changement Iichaud du composant. Vous devez utiliserpour cela obligatoirement des composants CompactPCI (si votre serveur supporte ce type d'interface).
5/10/2018 S curiser vos liens r seaux avec les Channel Bonding - slidepdf.com
http://slidepdf.com/reader/full/securiser-vos-liens-reseaux-avec-les-channel-bonding
Le regroupement PCIMG (PCI Industrial Manufacturers Group) a mis en place une ensemble de
standards autour des composants CompactPCI pour faciliter la maintenance a chaud. Toute la chainelogicielle ou materielle doit pouvoir supporter cette norme : Pour ceux que cela interesse, je vous
conseille de vous dirigez vers le site officiel du support CompactPCI sous Linux [4] (PCIMGR
standard 2.12) et vers un article tres interessant qui a ete publie sur le site linuxdevices.com [5].
Pour conclure, n'hesitez pas a faire un petit tour sur le site [6] traitant du Channel Bonding sous Linuxsi vous souhaitez suivre l'evolution de ce driver assez meconnu mais qui meriterait d'etre plus souvent
utilise et deploye (a quand une configuration en standard dans toutes les distributions ?).
Lionel Tricon
Bookmarks
[1] Documentation officielle : lusrlsrc/linux/Documentationinetworking/bonding. txt
[2] Outils de diagnostics reseaux (registres MIl) : http://www.scyld.comldiagl
[3] Ethtool: http://www/.sourceforge.net/projects/gkemel
[4] PCIMG Hot-Swap site: http://www.sourceforge.net/projects/pcimg212-hs
[5] Support du CompactPCI : http://www.linuxdevices.comlarticles/AT8382728818.html
[6] Driver Channel Bonding sous Linux : http://www.sourceforge.net/projects/bonding