GNU/Linux >> Tutoriels Linux >  >> Linux

Comment configurer Linux Etherchannel Bonding pour l'interface réseau HA

Sous Linux, en utilisant la liaison Etherchannel, vous pouvez combiner deux ou plusieurs interfaces réseau physiques (NIC) pour créer une interface virtuelle.

L'adresse IP sera configurée sur cette interface virtuelle. Si l'un des adaptateurs physiques sous-jacents tombe en panne, l'autre adaptateur physique est utilisé pour gérer le trafic de communication.

Voici les différents types de modes de liaison Etherchannel :

  • Mode 0 – Politique Round-robin (RR) :les transmissions de paquets sont effectuées dans un ordre séquentiel. Par exemple, le premier paquet est transmis à l'aide de l'interface et le deuxième paquet est transmis via l'interface suivante, etc. Ce mode offre un équilibrage de charge et une tolérance aux pannes.
  • Mode 1 - politique de sauvegarde active :la transmission des paquets se fait uniquement via l'interface active et le trafic est acheminé via l'interface de sauvegarde uniquement lorsque l'interface active est tombée en panne.
  • Mode 2 – Politique XOR :ce mode équilibre le trafic sortant sur les ports actifs. Dans ce mode, le même esclave est utilisé pour la transmission pour chaque adresse MAC de destination. Cela fournit un équilibrage de charge et une tolérance aux pannes.
  • Mode 3 - politique de diffusion :cela transmet tout sur toutes les interfaces esclaves. Ce mode offre une tolérance aux pannes.
  • Mode 4 (802.3ad) :ce mode est utilisé pour créer les groupes d'agrégation de liens qui partagent les mêmes paramètres de vitesse et de duplex.
  • Mode 5( balance-tlb ) :Équilibrage de charge de transmission adaptatif. Le trafic sortant est distribué en fonction de la charge actuelle de chaque esclave. Le trafic entrant est reçu par l'esclave actuel. Si l'esclave actuel tombe en panne, un autre esclave prend en charge le trafic entrant en fonction de l'adresse MAC.
  • Mode 6( balance-alb ) :Équilibrage de charge adaptatif. Dans ce cas, le trafic entrant est géré pour utiliser l'équilibrage de charge sur tous les esclaves. L'équilibrage de charge en réception est effectué via la négociation ARP.

Configurer la liaison dans Redhat ou CentOS

1. Créer un fichier ifcfg-bond0

Tous les scripts de configuration réseau se trouvent sous /etc/sysconfig/network-scripts dans RHEL. Vérifiez l'état du lien des interfaces à l'aide de la commande « ethtool »

Créez un fichier ifcfg-bond0 avec les valeurs ci-dessous et remplacez-le par l'adresse IP correcte, NETMASK et le mode de liaison approprié (mode 0, 1 ,2 …) comme ci-dessous.

# cd /etc/sysconfig/network-scripts

# vi ifcfg-bond0
DEVICE=bond0
IPADDR=19.86.101.120
NETMASK=255.255.255.0
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
BONDING_OPTS="mode=1 miimon=100"

2. Modifier les fichiers ifcfg-eth0 et ifcfg-eth1

Modifiez les fichiers d'interface réseau pour eth0 et eth1 afin de refléter les entrées similaires à ce qui suit. Assurez-vous que les paramètres MASTER et SLAVE sont définis comme indiqué ci-dessous.

# cat ifcfg-eth0
DEVICE=eth0
HWADDR=00:50:56:8E:0C:10
MASTER=bond0
SLAVE=yes
ONBOOT=yes
USERCTL=no
BOOTPROTO=none

# cat ifcfg-eth1
DEVICE=eth1
HWADDR=00:50:56:8E:0C:2A
MASTER=bond0
SLAVE=yes
ONBOOT=yes
USERCTL=no
BOOTPROTO=none

3. Créer un fichier bonding.conf

Créez le fichier bonding.conf avec le contenu suivant.

# vi /etc/modprobe.d/bonding.conf
alias netdev-bond0 bonding

4. Redémarrez le service réseau et vérifiez la liaison

Redémarrez les services réseau :

service network restart

Vérifiez l'état de la liaison comme indiqué ci-dessous.

Ce qui suit indique que le mode de liaison actuel est la tolérance aux pannes.

# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:50:56:8e:0c:10
Slave queue ID: 0

Slave Interface: eth1
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:50:56:8e:0c:2a
Slave queue ID: 0

Vous pouvez effectuer le test en désactivant une interface, en voyant que l'autre interface sera active et vice-versa.

Configuration de la liaison sur SuSE Linux

Pour configurer la liaison sur la dernière version de SuSE, vous pouvez soit utiliser YaST, soit modifier les fichiers système comme indiqué ci-dessous :

Vérifiez les interfaces actives à l'aide de la commande suivante :

ethtool  eth0 | egrep "Speed|Duplex|Link"

Si l'état de la vitesse, du duplex et de la liaison est inconnu, l'interface peut être en panne. Essayez d'afficher l'interface en utilisant "ifconfig up". Si vous ne voyez toujours pas le lien, l'interface n'est pas connectée au commutateur.

1. Créer un fichier ifcfg-bond0

Connectez-vous à la machine à l'aide de la console. Créez ifcfg-bond0 sous /etc/sysconfig/network et définissez l'adresse IP et les interfaces esclaves pouvant être utilisées.

Dans l'exemple suivant, j'ai utilisé le mode de sauvegarde active pour la liaison, ce qui signifie que seules les interfaces actives gèrent le trafic de communication et l'échec dans lequel l'interface de sauvegarde commence à fonctionner.

# cd /etc/sysconfig/network

# cat ifcfg-bond0
BONDING_MASTER=yes
BONDING_MODULE_OPTS='mode=active-backup miimon=100'
BONDING_SLAVE0='eth0'
BONDING_SLAVE1='eth1'
BOOTPROTO='static'
IPADDR='192.168.1.85/24'
BROADCAST=''
STARTMODE='auto'

2. Modifier les fichiers ifcfg-eth0 et ifcfg-eth1

Modifiez les interfaces esclaves afin qu'elles n'aient pas l'adresse IP, Netmask. Le résultat doit ressembler à ce qui suit :

# cat ifcfg-eth0
DEVICE='eth0'
BOOTPROTO='none'
STARTMODE='onboot'
NAME='82545EM Gigabit Ethernet Controller (Copper)'

# cat ifcfg-eth1
DEVICE='eth1'
BOOTPROTO='none'
STARTMODE='onboot'
NAME='82545EM Gigabit Ethernet Controller (Copper)'

3. Modifier le fichier modprobe.conf

Modifiez le fichier /etc/modprobe.conf et ajoutez les 2 lignes ci-dessous pour inclure le pilote de liaison avec les options.

alias bond0 bonding
options bond0 miimon=100 mode=1

Remarque :Vous pouvez choisir d'ignorer les options si vous les avez déjà incluses dans le fichier /etc/sysconfig/network/ifcfg-bond0.

4. Redémarrez le service réseau et vérifiez la liaison

Après avoir configuré la liaison, redémarrez le service réseau :

rcnetwork restart

Vérifiez que l'interface de liaison est active et que l'IP est configurée correctement. Assurez-vous également que vous pouvez vous connecter au serveur à l'aide de l'adresse IP.

# ifconfig bond0
bond0     Link encap:Ethernet  HWaddr 00:50:56:8E:00:26
          inet addr:192.168.1.85  Bcast:192.168.1.1  Mask:255.255.255.0
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:28420409 errors:0 dropped:0 overruns:0 frame:0
          TX packets:151985 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:2362560309 (2253.1 Mb)  TX bytes:17330542 (16.5 Mb)

Pour tester le bon fonctionnement de l'interface de liaison, connectez-vous à la console et désactivez l'interface active à l'aide de "ifconfig eth0 down". Vérifiez que vous pourrez toujours vous connecter à la machine en utilisant la même adresse IP ou le même nom d'hôte. Vous pouvez vérifier l'état de l'interface active dans le fichier ci-dessous,

Comme indiqué ci-dessous, eth0 est en panne, mais la connectivité réseau à la machine n'est toujours pas perdue, car nous avons configuré la liaison et l'interface eth1 est toujours active.

# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.5.0 (November 4, 2008)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth1
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: down
Link Failure Count: 1
Permanent HW addr: 00:50:56:8e:00:26

Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:50:56:8e:7e:20

Linux
  1. Comment configurer une adresse IP statique sur Debian Linux

  2. Linux - Comment annuler le partage du réseau pour le processus actuel ?

  3. Comment configurer la liaison d'interface (NIC Teaming) sur Oracle Linux 6

  4. Comment configurer les clés SSH pour une connexion ssh "sans mot de passe" sous Linux

  5. Comment configurer la liaison réseau Ubuntu 20.04

Comment partager une imprimante sur le réseau sous Linux

Comment configurer l'authentification multifacteur pour SSH sous Linux

3 façons de configurer une interface réseau sous Linux

Utilisation d'ifstat pour les statistiques réseau Linux

Comment configurer la liaison réseau dans Ubuntu 20.04

Comment ajouter une route sous Linux