GNU/Linux >> Tutoriels Linux >  >> Linux

Principes de base de la liaison Ethernet sous Linux

Présentation

Le pilote de liaison Linux fournit une méthode pour agréger plusieurs interfaces réseau en une seule interface logique "liée". Le comportement des interfaces liées dépend du mode; d'une manière générale, les modes fournissent des services de secours automatique ou d'équilibrage de charge. De plus, une surveillance de l'intégrité des liens peut être effectuée.

La dernière version du pilote de liaison peut être trouvée dans la dernière version du noyau Linux, disponible sur http://kernel.org. La dernière version et le document complet peuvent être trouvés dans la dernière source du noyau (nommée Documentation/networking/bonding.txt) ou sur le site bonding sourceforge http://www.sourceforge.net/projects/bonding

Configuration

Dans Enterprise Linux, le système ne charge pas automatiquement le pilote de la carte réseau à moins que le périphérique ethX ne soit configuré avec une adresse IP. En raison de cette contrainte, les utilisateurs doivent configurer manuellement un fichier de script réseau pour tous les adaptateurs physiques qui seront membres d'un lien bondX. Les fichiers de script réseau se trouvent dans le répertoire :

/etc/sysconfig/network-scripts

Le nom du fichier doit être précédé de "ifcfg-eth ” suivi du suffixe du numéro d'adaptateur physique de l'adaptateur. Par exemple, le script pour eth0 serait nommé /etc/sysconfig/network-scripts/ifcfg-eth0 . Placez le texte suivant dans le fichier :

# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none

Le "DEVICE= » sera différente pour chaque périphérique ethX et doit correspondre au nom du fichier, c'est-à-dire que ifcfg-eth1 doit avoir une ligne de périphérique « DEVICE=eth1 ». Le réglage du "MASTER= ” dépendra également du nom de l'interface de liaison finale choisie pour votre liaison. Comme pour les autres périphériques réseau, ceux-ci commencent généralement à 0 et augmentent de un pour chaque périphérique, c'est-à-dire que la première instance de liaison est bond0, la seconde est bond1, etc.

Ensuite, créez un script de réseau de liaison. Le nom de fichier pour ce script sera /etc/sysconfig/network-scripts/ifcfg-bondXX est le numéro de l'obligation. Pour bond0, le fichier est nommé "ifcfg-bond0", pour bond1, il est nommé "ifcfg-bond1", et ainsi de suite. Dans ce fichier, placez le texte suivant :

# vi /etc/sysconfig/network-scripts/ifcfg-bondX
DEVICE=bond0
IPADDR=192.168.1.1
NETMASK=255.255.255.0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
ONBOOT=yes
BOOTPROTO=none
USERCTL=no

Assurez-vous de modifier les lignes spécifiques au réseau (IPADDR, NETMASK, NETWORK et BROADCAST) pour qu'elles correspondent à votre configuration réseau.

Enfin, il faut éditer /etc/modules.conf pour charger le module de liaison avec les options souhaitées lorsque l'interface bond0 est affichée. Les lignes suivantes dans /etc/modules.conf (ou modprobe.conf ) chargera le module de liaison et sélectionnera ses options :

# vi /etc/modprobe.conf
alias bond0 bonding
options bond0 mode=balance-alb miimon=100
Pour CentOS/RHEL 5 ,le mode de liaison est défini dans le fichier /etc/sysconfig/network-scripts/ifconfig-bond0 au lieu du fichier /etc/modprobe.conf.

Pour CentOS/RHEL 6 , créez un nouveau fichier nommé /etc/modprobe.d/bonding.conf dans le répertoire /etc/modprobe.d/ avec le contenu « alias bond0 bonding ». Et définissez également le mode de liaison dans le fichier /etc/sysconfig/network-scripts/ifconfig-bond0 au lieu de dans /etc/modprobe.d/bonding.conf.

Pour le fichier /etc/sysconfig/network-scripts/ifcfg-bond0, remplacez les exemples de paramètres par l'ensemble d'options approprié pour votre configuration. Enfin, exécutez "/etc/rc.d/init.d/network restart" ou "service network restart" en tant que root. Cela redémarrera le sous-système de mise en réseau et votre lien de liaison devrait maintenant être opérationnel.

Interroger la configuration de liaison

Chaque périphérique de liaison possède un fichier en lecture seule résidant dans le répertoire /proc/net/bonding annuaire. Le contenu du fichier comprend des informations sur la configuration de liaison, les options et l'état de chaque esclave.

Par exemple, le contenu de /proc/net/bonding/bond0 après le chargement du pilote avec les paramètres mode=0 et miimon=1000 est généralement le suivant :

# cat /proc/net/bonding
Ethernet Channel Bonding Driver: 2.6.1 (October 29, 2004)
Bonding Mode: load balancing (round-robin)
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 1000
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth1
MII Status: up
Link Failure Count: 1

Slave Interface: eth0
MII Status: up
Link Failure Count: 1

Le format et le contenu précis changeront en fonction de la configuration de liaison, de l'état et de la version du pilote de liaison.

Configuration de la liaison pour une haute disponibilité

La haute disponibilité fait référence aux configurations qui offrent une disponibilité maximale du réseau en ayant des périphériques, des liens ou des commutateurs redondants ou de secours entre l'hôte et le reste du monde. L'objectif est de fournir la disponibilité maximale de la connectivité réseau (c'est-à-dire que le réseau fonctionne toujours), même si d'autres configurations peuvent fournir un débit plus élevé.

Haute disponibilité dans une topologie à commutateur unique

Si deux hôtes (ou un hôte et un seul commutateur) sont directement connectés via plusieurs liaisons physiques, l'optimisation de la bande passante maximale n'entraîne aucune pénalité de disponibilité. Dans ce cas, il n'y a qu'un seul commutateur (ou pair), donc s'il échoue, il n'y a pas d'autre accès vers lequel basculer. De plus, les modes d'équilibrage de charge de liaison prennent en charge la surveillance des liens de leurs membres, donc si des liens individuels échouent, la charge sera rééquilibrée sur les appareils restants.

Modes de liaison

Outre les modes de sauvegarde active (1) et de diffusion (3) qui sont destinés à une topologie à plusieurs commutateurs (voir ci-dessous), vous pouvez utiliser les modes suivants pour les topologies à un seul commutateur :

  • balance-rr(0) :Politique Round-robin :transmet les paquets dans un ordre séquentiel du premier esclave disponible au dernier. Ce mode offre un équilibrage de charge et une tolérance aux pannes. C'est le mode par défaut. Donc, si aucun mode n'est indiqué dans /etc/modprobe.conf, le pilote de liaison fonctionnera en mode balance-rr. Mais c'est la meilleure pratique d'indiquer le mode dans /etc/modprobe.conf comme ci-dessus.
  • balance-xor(2) :politique XOR :transmission basée sur la politique de hachage de transmission sélectionnée. Ceci est basé sur une fonction de hachage sur l'adresse MAC utilisant l'opération XOR. Ce mode offre un équilibrage de charge et une tolérance aux pannes.
  • 802.3ad (4) :IEEE 802.3ad Agrégation de liens dynamiques. Crée des groupes d'agrégation qui partagent les mêmes paramètres de vitesse et de duplex. Utilise tous les esclaves de l'agrégateur actif conformément à la spécification 802.3ad. Prérequis :
    • Prise en charge d'Ethtool dans les pilotes de base pour récupérer la vitesse et le duplex de chaque esclave.
    • Un commutateur prenant en charge l'agrégation de liens dynamiques IEEE 802.3ad.
    • La plupart des commutateurs nécessitent un certain type de configuration pour activer le mode 802.3ad.
  • balance-tlb(5) :Équilibrage de charge de transmission adaptatif :liaison de canaux qui ne nécessite aucun support de commutateur spécial. Le trafic sortant est réparti en fonction de la charge actuelle (calculée par rapport à la vitesse) sur chaque esclave. Le trafic entrant est reçu par l'esclave actuel. Si l'esclave récepteur tombe en panne, un autre esclave reprend l'adresse MAC de l'esclave récepteur défaillant. Prérequis :
    • Prise en charge d'Ethtool dans les pilotes de base pour récupérer la vitesse de chaque esclave.
  • balance-alb(6) :Équilibrage de charge adaptatif :inclut balance-tlb plus l'équilibrage de charge de réception (rlb) pour le trafic IPV4, et ne nécessite aucune prise en charge spéciale des commutateurs. Le trafic reçu des connexions créées par le serveur est également équilibré. Lorsqu'une liaison est reconnectée ou qu'un nouvel esclave rejoint la liaison, le trafic de réception est redistribué entre tous les esclaves actifs de la liaison. Prérequis :
    • Prise en charge d'Ethtool dans les pilotes de base pour récupérer la vitesse de chaque esclave.
    • Prise en charge du pilote de base pour définir l'adresse matérielle d'un périphérique lorsqu'il est ouvert.

Haute disponibilité dans une topologie à plusieurs commutateurs

Avec plusieurs commutateurs, la configuration de la liaison et du réseau change considérablement. Dans les topologies à plusieurs commutateurs, il existe un compromis entre la disponibilité du réseau et la bande passante utilisable.

Vous trouverez ci-dessous un exemple de réseau, configuré pour maximiser la disponibilité du réseau :

Dans cette configuration, il existe une liaison entre les deux commutateurs (ISL, ou liaison inter commutateur) et plusieurs ports se connectant au monde extérieur (« port3 » sur chaque commutateur). Il n'y a aucune raison technique pour que cela ne puisse pas être étendu à un troisième commutateur.

Modes de liaison

Dans une topologie telle que l'exemple ci-dessus, les modes de sauvegarde active et de diffusion sont les seuls modes de liaison utiles lors de l'optimisation de la disponibilité ; les autres modes exigent que tous les liens se terminent sur le même pair pour qu'ils se comportent de manière rationnelle.

  • sauvegarde active (ou 1) :C'est généralement le mode préféré, en particulier si les commutateurs ont un ISL et jouent bien ensemble. Si la configuration du réseau est telle qu'un commutateur est spécifiquement un commutateur de secours (par exemple, a une capacité inférieure, un coût plus élevé, etc.), alors l'option principale peut être utilisée pour s'assurer que le lien préféré est toujours utilisé lorsqu'il est disponible.
  • diffuser (ou 3) :Ce mode est vraiment un mode à usage spécial et ne convient qu'à des besoins très spécifiques. Par exemple, si les deux commutateurs ne sont pas connectés (pas d'ISL), et que les réseaux au-delà sont totalement indépendants. Dans ce cas, s'il est nécessaire qu'un trafic unidirectionnel spécifique atteigne les deux réseaux indépendants, le mode de diffusion peut convenir.


Linux
  1. Comment déplacer un fichier sous Linux

  2. Bases des autorisations de fichiers Linux

  3. Linux - Tout est un fichier ?

  4. Comment renommer un fichier sous Linux ?

  5. UNIX/Linux :notions de base sur les listes de contrôle d'accès (ACL)

Commande Gunzip sous Linux

Commande Stat sous Linux

Qu'est-ce qu'umask sous Linux ?

Comment créer un lien symbolique vers un fichier sous Linux

Extraire le fichier tar.gz sous Linux

Qu'est-ce qu'un fichier .bashrc sous Linux ?