Outils personnels

Network bonding sur linux : Différence entre versions

De wikiGite

(Charger le module de « bonding » dans le kernel)
 
(3 révisions intermédiaires par un autre utilisateur non affichées)
Ligne 1 : Ligne 1 :
 
= Redonder plusieurs cartes réseau sous Linux =
 
= Redonder plusieurs cartes réseau sous Linux =
 +
== Modes bonding ==
 +
Les modes peuvent être indiqués numériquement ou par des mots clés
 +
# mode=0 ou mode=balance-rr    : equilibrage de charge
 +
# mode=1 ou mode=active-backup  : sauvegarde active
 +
# mode=2 ou mode=balance-xor    : balance xor
 +
# mode=3 ou mode=broadcast      : broadcast
 +
# mode=4 ou mode=802.3ad        : Norme 802.3ad
 +
# mode=5 ou mode=balance-tlb    : balance TLB
 +
# mode=6 ou mode=balance-alb    : balance ALB
  
== Configurer le réseau ==
+
Le paramètre "miimon" (fréquence de monitoring des 2 interfaces, en millisecondes) est le seul paramètre obligatoire.
 +
 
 +
== Sur Debian ==
 +
Sur Debian vérifier que le paquet ifenslave-2.6 (pour kernel 2.6) est installé.
 +
=== Configurer le réseau ===
 +
Editer /etc/network/interfaces :
 +
# network interface settings
 +
auto lo
 +
iface lo inet loopback
 +
 +
auto bond0
 +
iface bond0 inet static
 +
address 192.168.37.110
 +
netmask 255.255.255.0
 +
network 192.168.37.0
 +
broadcast 192.168.37.255
 +
gateway 192.168.37.254
 +
slaves eth0 eth1
 +
 
 +
=== Charger le module de « bonding » dans le kernel ===
 +
Ajouter un fichier de configuration pour le module bonding :
 +
vi /etc/modprobe.d/aliases-bond
 +
Y ajouter :
 +
alias bond0 bonding
 +
options bonding mode=1 miimon=100
 +
 
 +
Pour tester, charger le module de « bonding » puis redémarrer le service réseau :
 +
# modprobe bonding
 +
# /etc/init.d/networking restart
 +
 
 +
== Sur CentOS ==
 +
=== Configurer le réseau ===
 
Créer le fichier de configuration de la carte bond0 dans le fichier /etc/sysconfig/network-scripts/ifcfg-bond0 :
 
Créer le fichier de configuration de la carte bond0 dans le fichier /etc/sysconfig/network-scripts/ifcfg-bond0 :
 
  DEVICE=bond0
 
  DEVICE=bond0
Ligne 12 : Ligne 52 :
  
 
Editer les fichiers de configuration des différentes cartes réseau (/etc/sysconfig/network-scripts/ifcfg-XXXX).<br>
 
Editer les fichiers de configuration des différentes cartes réseau (/etc/sysconfig/network-scripts/ifcfg-XXXX).<br>
Remplacez ou rajouter les lignes suivantes aux fichiers :
+
Remplacer ou rajouter les lignes suivantes aux fichiers :
 
  DEVICE=XXXX //à modifier avec nom de votre carte « eth? »
 
  DEVICE=XXXX //à modifier avec nom de votre carte « eth? »
 
  USERCTL=no
 
  USERCTL=no
Ligne 20 : Ligne 60 :
 
  BOOTPROTO=none
 
  BOOTPROTO=none
  
== Charger le module de « bonding » dans le kernel ==
+
=== Charger le module de « bonding » dans le kernel ===
 
Editer le fichier de configuration des modules de kernel /etc/modprobe.conf, y ajouter :
 
Editer le fichier de configuration des modules de kernel /etc/modprobe.conf, y ajouter :
 
  alias bond0 bonding
 
  alias bond0 bonding
Ligne 29 : Ligne 69 :
 
  # service network restart
 
  # service network restart
  
 +
== Vérifications ==
 
Vérifier que la carte virtuelle est bien démarrée et que les cartes physique lui sont bien liées :
 
Vérifier que la carte virtuelle est bien démarrée et que les cartes physique lui sont bien liées :
 
  # less /proc/net/bonding/bond0
 
  # less /proc/net/bonding/bond0
Ligne 53 : Ligne 94 :
 
  Permanent HW addr: 00:50:56:c0:00:03
 
  Permanent HW addr: 00:50:56:c0:00:03
  
Débrancher les câbles Ethernet des cartes un à un afin de vérifier que le serveur ne perd pas la connexion.
+
Débrancher les cartes une à une afin de vérifier que le serveur ne perd pas la connexion (en mode 1, active backup. En load balancing le poste client est connecté sur une seule carte à un instant T et il perd quand même la connexion si c'est cette carte-là qui est débranchée : il faudra relancer la connexion).

Version actuelle datée du 20 avril 2011 à 18:57

Redonder plusieurs cartes réseau sous Linux

Modes bonding

Les modes peuvent être indiqués numériquement ou par des mots clés

  1. mode=0 ou mode=balance-rr  : equilibrage de charge
  2. mode=1 ou mode=active-backup  : sauvegarde active
  3. mode=2 ou mode=balance-xor  : balance xor
  4. mode=3 ou mode=broadcast  : broadcast
  5. mode=4 ou mode=802.3ad  : Norme 802.3ad
  6. mode=5 ou mode=balance-tlb  : balance TLB
  7. mode=6 ou mode=balance-alb  : balance ALB

Le paramètre "miimon" (fréquence de monitoring des 2 interfaces, en millisecondes) est le seul paramètre obligatoire.

Sur Debian

Sur Debian vérifier que le paquet ifenslave-2.6 (pour kernel 2.6) est installé.

Configurer le réseau

Editer /etc/network/interfaces :

# network interface settings
auto lo
iface lo inet loopback

auto bond0
iface bond0 inet static
address 192.168.37.110
netmask 255.255.255.0
network 192.168.37.0
broadcast 192.168.37.255
gateway 192.168.37.254
slaves eth0 eth1

Charger le module de « bonding » dans le kernel

Ajouter un fichier de configuration pour le module bonding :

vi /etc/modprobe.d/aliases-bond

Y ajouter :

alias bond0 bonding
options bonding mode=1 miimon=100

Pour tester, charger le module de « bonding » puis redémarrer le service réseau :

# modprobe bonding
# /etc/init.d/networking restart

Sur CentOS

Configurer le réseau

Créer le fichier de configuration de la carte bond0 dans le fichier /etc/sysconfig/network-scripts/ifcfg-bond0 :

DEVICE=bond0
IPADDR=192.168.1.100 //votre adresse ip
NETWORK=192.168.1.0 //l’adresse ip de votre reseau
NETMASK=255.255.255.0 //votre masque de sous-réseau
USERCTL=no
BOOTPROTO=none
ONBOOT=yes

Editer les fichiers de configuration des différentes cartes réseau (/etc/sysconfig/network-scripts/ifcfg-XXXX).
Remplacer ou rajouter les lignes suivantes aux fichiers :

DEVICE=XXXX //à modifier avec nom de votre carte « eth? »
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none

Charger le module de « bonding » dans le kernel

Editer le fichier de configuration des modules de kernel /etc/modprobe.conf, y ajouter :

alias bond0 bonding
options bond0 mode=balance-alb miimon=100

Pour tester, charger le module de « bonding » puis redémarrer le service réseau :

# modprobe bonding
# service network restart

Vérifications

Vérifier que la carte virtuelle est bien démarrée et que les cartes physique lui sont bien liées :

# less /proc/net/bonding/bond0

Qui retournera une sortie plus ou moins identique à ça :

Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:50:56:c0:00:08

Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:50:56:c0:00:01

Slave Interface: eth2
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:50:56:c0:00:03

Débrancher les cartes une à une afin de vérifier que le serveur ne perd pas la connexion (en mode 1, active backup. En load balancing le poste client est connecté sur une seule carte à un instant T et il perd quand même la connexion si c'est cette carte-là qui est débranchée : il faudra relancer la connexion).