带有 lts 内核的 arch linux
systemd networkd 配置为使用智能交换机 (DGS-1210-28) 将两个 NIC 绑定到 LACP 中继。但操作系统启动后失败——只有一个网卡用于绑定连接。如/proc/net/bonding/*所示
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer3+4 (1)
MII Status: up
MII Polling Interval (ms): 1000
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: **:**:**:**:**:ad
Active Aggregator Info:
Aggregator ID: 2
Number of ports: 1
Actor Key: 9
Partner Key: 3
Partner Mac Address: **:**:**:**:**:6e
Slave Interface: enp7s0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: **:**:**:**:**:67
Slave queue ID: 0
Aggregator ID: 1
Actor Churn State: churned
Partner Churn State: churned
Actor Churned Count: 1
Partner Churned Count: 1
details actor lacp pdu:
system priority: 65535
system mac address: **:**:**:**:**:ad
port key: 0
port priority: 255
port number: 1
port state: 69
details partner lacp pdu:
system priority: 65535
system mac address: 00:00:00:00:00:00
oper key: 1
port priority: 255
port number: 1
port state: 1
Slave Interface: enp2s0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 1
Permanent HW addr: **:**:**:**:**:ef
Slave queue ID: 0
Aggregator ID: 2
Actor Churn State: none
Partner Churn State: none
Actor Churned Count: 0
Partner Churned Count: 0
details actor lacp pdu:
system priority: 65535
system mac address: **:**:**:**:**:ad
port key: 9
port priority: 255
port number: 2
port state: 61
details partner lacp pdu:
system priority: 32768
system mac address: **:**:**:**:**:6e
oper key: 3
port priority: 128
port number: 15
port state: 61
请注意,bond 的 AggregatorID=2,而未使用(搅动的)NIC 的 AggregatorID=1,这很奇怪。我希望债券的 AggregatorID=1
这可以通过物理端口重新连接搅动的 NIC 来“修复”。此后,两个 NIC 均通过绑定使用。这可以在内核日志中看到:
>> OS startup
[ ]: r8169 0000:07:00.0 enp7s0: renamed from eth1
[ ]: r8169 0000:02:00.0 enp2s0: renamed from eth0
[ ]: Trunk0: Enslaving enp7s0 as a backup interface with a down link
[ ]: Trunk0: Enslaving enp2s0 as a backup interface with a down link
[ ]: r8169 0000:07:00.0 enp7s0: Link is Up - 1Gbps/Full - flow control off
[ ]: Trunk0: link status up again after 0 ms for interface enp7s0
[ ]: Trunk0: Warning: No 802.3ad response from the link partner for any adapters in the bond
[ ]: 8021q: adding VLAN 0 to HW filter on device Trunk0
[ ]: Trunk0: link status up again after 0 ms for interface enp7s0
[ ]: Trunk0: link status definitely down for interface enp2s0, disabling it
[ ]: Trunk0: Warning: No 802.3ad response from the link partner for any adapters in the bond
[ ]: r8169 0000:02:00.0 enp2s0: Link is Up - 1Gbps/Full - flow control off
[ ]: Trunk0: link status definitely up for interface enp2s0, 1000 Mbps full duplex
[ ]: Trunk0: first active interface up!
[ ]: Trunk0: Warning: No 802.3ad response from the link partner for any adapters in the bond
>> churned NIC physical disconnect
[ ]: r8169 0000:07:00.0 enp7s0: Link is Down
[ ]: Trunk0: link status definitely down for interface enp7s0, disabling it
[ ]: Trunk0: first active interface up!
>> churned NIC physical connect
[ ]: r8169 0000:07:00.0 enp7s0: Link is Up - 1Gbps/Full - flow control off
[ ]: Trunk0: link status definitely up for interface enp7s0, 1000 Mbps full duplex
请注意,NIC“enp7s0”首先初始化,但随后被搅动。
配置文件:
enp-any.network
[Match]
Name=enp*
[Network]
Bond=Trunk0
Trunk0.netdev
[NetDev]
Name=Trunk0
Kind=bond
[Bond]
Mode=802.3ad
TransmitHashPolicy=layer3+4
MIIMonitorSec=1s
LACPTransmitRate=slow
Trunk0.网络
[Match]
Name=Trunk0
[Network]
VLAN=***
VLAN=***
VLAN=***
LinkLocalAddressing=no
BindCarrier=enp2s0 enp7s0