La binding Ethernet ne fonctionne pas lorsque la première interface est en panne

J'essaie de comprendre le mode de binding = 0 (équilibrage de charge round-robin). En utilisant eth0 & eth1, j'ai créé l'interface bond0 comme configuration ci-dessous:

root@test-env1:~# cat /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 ONBOOT=yes NM_CONTROLLED=no USERCTL=no BOOTPROTO=static IPADDR=192.168.57.91 NETMASK=255.255.255.0 GATEWAY=192.168.57.1 BONDING_OPTS="mode=0 miimon=100" root@test-env1:~# root@test-env1:~# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 ONBOOT=yes NM_CONTROLLED=no MASTER=bond0 SLAVE=yes USERCTL=no root@test-env1:~# cat /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 ONBOOT=yes NM_CONTROLLED=no MASTER=bond0 SLAVE=yes USERCTL=no root@test-env1:~# 

Interface de binding établie avec succès:

 root@test-env1:~# cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009) Bonding Mode: load balancing (round-robin) MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 100 Down Delay (ms): 100 Slave Interface: eth0 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 08:00:27:30:0d:9e Slave queue ID: 0 Slave Interface: eth1 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 08:00:27:a0:fc:9e Slave queue ID: 0 root@test-env1:~# 

Ensuite, j'ai essayé de déconnecter le câble de eth0, test ping a signalé que l'IP est devenu inaccessible. Je sais que ce type de scénario de basculement fonctionnera certainement avec le mode = 1 (sauvegarde active).

** Mise à jour: état de la binding après eth0 branché

 root@test-env1:~# cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009) Bonding Mode: load balancing (round-robin) MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: eth0 MII Status: down Speed: Unknown Duplex: Unknown Link Failure Count: 1 Permanent HW addr: 08:00:27:30:0d:9e Slave queue ID: 0 Slave Interface: eth1 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 08:00:27:a0:fc:9e Slave queue ID: 0 root@test-env1:~# 

Il est également étrange que lorsque j'ai redémarré le server avec eth0 rest débranché, interface de binding n'a pas UP du tout. Bien que la configuration ait toujours eth1 comme interface active / connectée.

La documentation de binding a indiqué que balance-rr ou mode 0 fournit l'équilibrage de charge et la tolérance aux pannes. Je suis curieux de savoir quel type de tolérance de panne fourni par le mode de binding = 0.

 mode Specifies one of the bonding policies. The default is balance-rr (round robin). Possible values are: balance-rr or 0 Round-robin policy: Transmit packets in sequential order from the first available slave through the last. This mode provides load balancing and fault tolerance. 

Quelqu'un pourrait-il m'aider à comprendre si le mode de binding = 0 nécessite que les deux interfaces soient actives? Si oui, alors comment mode = 0 fournit la tolérance de panne?

Selon l'explication du mode 1, nous pouvons supposer que pour le mode 0, les deux esclaves sont actifs. Donc, dans votre cas Chaque fois que le package atteint l'esclave qui est en place, vous serez en mesure d'get une réponse pour votre ping.

balance-rr ou 0

Round-robin policy: Transmit packets in sequential order from the first available slave through the last . Ce mode permet d'équilibrer la charge et de tolérer les pannes.

sauvegarde active ou 1

Active-backup policy: Only one slave in the bond is active. A different slave becomes active if, and only if, the active slave fails. L'adresse MAC de la binding est visible de l'extérieur sur un seul port (carte réseau) pour éviter de perturber le commutateur.