переключение активного интерфейса bond
Применимость: Linux
Слова для поиска: bonding
Задача:
Два интерфейса работает в режиме active-backup и вам нужно сменить активный без перезагрузки системы
Решение:
Исходное состояние:
cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009) Bonding Mode: fault-tolerance (active-backup) Primary Slave: eth2 (primary_reselect always) Currently Active Slave: eth2 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: eth3 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: Slave queue ID: 0 Slave Interface: eth2 MII Status: up Speed: 100 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr:
cat /sys/class/net/bond0/bonding/slaves eth2 eth3
Нужно просто удалить активный интерфейс:
echo -eth2 > /sys/class/net/bond0/bonding/slaves cat /sys/class/net/bond0/bonding/slaves eth3
Результат:
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: eth3 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: eth3 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: Slave queue ID: 0
Теперь активным стал eth3
Если нужно вернуть предыдущее состояние:
echo +eth2 > /sys/class/net/bond0/bonding/slaves