O sistema executa o Ubuntu 16.04.3 LTS com 3 NICs de 1GBit: um incorporado e 2 Intel PCIe NICs. As duas placas de rede Intel estão ligadas (bond0) com o modo 4 (LACP). O switch está confugurado para suportar o LACP nessas duas portas. Aqui está a configuração da rede:
cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto enp0s31f6
#iface enp0s31f6 inet dhcp
iface enp0s31f6 inet static
mtu 9000
address 192.168.x.x
netmask 255.255.x.0
network 192.168.x.0
gateway 192.168.x.1
dns-nameservers 192.168.x.x
auto enp3s0
iface enp3s0 inet manual
bond-master bond0
auto enp4s0
iface enp4s0 inet manual
bond-master bond0
auto bond0
iface bond0 inet static
mtu 9000
address 192.168.x.x
netmask 255.255.x.0
network 192.168.x.0
bond-mode 802.3ad
bond-miimon 100
bond-lacp-rate 1
bond-slaves none
Esta configuração funciona muito bem sem erros. Mas se o carregamento da rede for bastante alto (por exemplo, durante a cópia de 100-200 GB), os seguintes erros serão produzidos em / var / log / syslog:
Feb 14 17:20:02 ubuntu1 kernel: [29601.287684] e1000e: enp3s0 NIC Link is Down
Feb 14 17:20:02 ubuntu1 kernel: [29601.287993] e1000e 0000:03:00.0 enp3s0: speed changed to 0 for port enp3s0
Feb 14 17:20:02 ubuntu1 kernel: [29601.379193] bond0: link status definitely down for interface enp3s0, disabling it
Feb 14 17:20:02 ubuntu1 kernel: [29601.379199] bond0: first active interface up!
Feb 14 17:20:04 ubuntu1 kernel: [29603.064712] e1000e: enp3s0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx
Feb 14 17:20:04 ubuntu1 kernel: [29603.079162] bond0: link status definitely up for interface enp3s0, 1000 Mbps full duplex
É um problema conhecido? Aparentemente, após alguns segundos, a interface que falhou funciona bem novamente. O problema não ocorre com muita frequência.
No arquivo / proc / net / bonding / bond0 eu posso ver que o modo 4 foi reconhecido corretamente:
cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
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: fast
Min links: 0
Aggregator selection policy (ad_select): stable
System priority: 65535
Eu tentei usar escravos de ligação com nomes de interface em vez de nenhum. Mas, neste caso, o ifenslave foi bloqueado durante o reinício dos serviços de rede. Então eu encontrei uma recomendação, que usando "none" o bond0 estará ativo e não trava.
Alguma idéia?