на сервере работает Debian Stretch Я настроил облигация0 с 802.3ad режим следующим образом:
auto bond0
iface bond0 inet manual
slaves eth0 eth2
bond_miimon 100
bond_mode 802.3ad
В облигация0 интерфейс запущен и работает, но он работает с балансировка нагрузки (циклический перебор) Режим:
root@servir01:~# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
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: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 2
Permanent HW addr: e4:1f:13:65:f0:c4
Slave queue ID: 0
Slave Interface: eth2
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 2
Permanent HW addr: e4:1f:13:36:a3:ac
Slave queue ID: 0
На коммутаторе LAG правильно создана с включенным LACP, и у него есть оба порта, работающие:
[
На той же машине есть другой интерфейс связи (bond1 на интерфейсах eth1 и eth3) настроен таким же образом, подключен к тем же коммутаторам, и LACP работает нормально:
Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2 (0)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
802.3ad info
LACP rate: slow
Min links: 0
Aggregator selection policy (ad_select): stable
System priority: 65535
System MAC address: e4:1f:13:65:f0:c6
Active Aggregator Info:
Aggregator ID: 1
Number of ports: 2
Actor Key: 9
Partner Key: 1010
Почему интерфейс bond0 не хочет включать LACP? Где я не прав?
Старый вопрос, но поскольку он возникает довольно рано при поиске, и у меня была аналогичная установка с той же проблемой. Вот как я заработал (используя ifenslave на Debian stretch) ...
/ и т.д. / сеть / интерфейсы ...
# The loopback network interface
auto lo
iface lo inet loopback
# bond0 is the bonded NIC and can be used like any other normal NIC.
# bond0 is configured using static addressing.
auto bond0
iface bond0 inet static
address <your static address>
gateway <your gateway>
# bond0 uses standard IEEE 802.3ad LACP bonding protocol
bond-mode 4
bond-miimon 100
bond-lacp-rate 0 (This is on a small NAS, so no rush)
bond-slaves none
# eth0 is manually configured, and enslaved to the "bond0" pseudo NIC
allow_hotplug eth0
auto eth0
iface eth0 inet manual
bond-master bond0
# eth1 ditto, thus creating a 2-link bond.
allow_hotplug eth1
auto eth1
iface eth1 inet manual
bond-master bond0
В чем была причина?
Что ж, сетевые адаптеры подойдут, драйвер связывания захватит их, затем сетевые карты опустятся, чтобы перенастроить их в рабов, и драйвер связывания запаникует, потому что у него нет рабов, и будет бегать, как цыпленок без головы (круговой алгоритм ).
Теперь появляется драйвер связывания, видит, что у него нет подчиненных, поэтому он сидит и ждет ... Сетевые адаптеры видят, что у них есть главный, поэтому они идут и отчитываются, получают свои адреса от bond0 и уходят на работу они все идут.
протестировано на debian 10 (после прочтения этой ветки и документации по связыванию debian)
config ниже (никакие другие файлы не редактируются - модули или что-то в этом роде)
auto enp4s0f2
allow-hotplug enp4s0f2
iface enp4s0f2 inet manual
bond-master bond1
bond-mode 4
auto enp4s0f3
allow-hotplug enp4s0f3
iface enp4s0f3 inet manual
bond-master bond1
bond-mode 4
auto bond1
iface bond1 inet static
address 1.2.3.4
netmask 255.255.255.0
bond-mode 4
bond-slaves none
bond-miimon 100
bond-lacp-rate 1
bond-updelay 800
bond-downdelay 400
bond_xmit_hash_policy layer2+3 # optional, sets the bonding algorithm
что нового:
Я решил эту проблему, добавив в конфигурацию связи в /etc/network/interfaces
:
bond_xmit_hash_policy layer2+3
После добавления этой конфигурации и перезапуска сети все работает нормально.