![在 LACP 绑定中,所有合作伙伴接口是否都需要具有相同的“操作密钥”?](https://linux22.com/image/727211/%E5%9C%A8%20LACP%20%E7%BB%91%E5%AE%9A%E4%B8%AD%EF%BC%8C%E6%89%80%E6%9C%89%E5%90%88%E4%BD%9C%E4%BC%99%E4%BC%B4%E6%8E%A5%E5%8F%A3%E6%98%AF%E5%90%A6%E9%83%BD%E9%9C%80%E8%A6%81%E5%85%B7%E6%9C%89%E7%9B%B8%E5%90%8C%E7%9A%84%E2%80%9C%E6%93%8D%E4%BD%9C%E5%AF%86%E9%92%A5%E2%80%9D%EF%BC%9F.png)
我们的环境中广泛使用 LACP(模式 4)绑定,并且我偶尔会遇到新部署的问题,例如电缆交叉或交换机端口配置错误导致 LACP 端口状态不佳。
我用来排除故障的一件事是合作伙伴操作密钥的值。它们通常倾向于匹配,如果不匹配,我会怀疑可能存在交叉电缆问题。我一直在尝试研究它,但一直很难找到明确的答案。那么,期望 LACP 通道组中的操作密钥始终共享相同的操作密钥是否合理,或者在正确配置的组中是否存在它们可能不同的情况?
例如:
# grep -A6 "partner lacp pdu" /proc/net/bonding/bond0
details partner lacp pdu:
system priority: 32768
system mac address: 70:e4:23:92:42:b7
oper key: 205
port priority: 32768
port number: 92
port state: 61
--
details partner lacp pdu:
system priority: 32768
system mac address: 70:e4:23:92:42:b7
oper key: 206
port priority: 32768
port number: 94
port state: 13
在这个例子中,我知道第二个合作伙伴的状态很糟糕——我只是试图想出一个好方法来确定“为什么”它很糟糕。
答案1
我刚刚登录了 400 台服务器,它们都使用 LACP 模式 4。两个接口,25G 上行/下行,总共 50G。2x Cisco 9600 LACP 模式 4 设置在端口通道中以组合两个端口。一条电缆进入不同的交换机,以实现电源、交换机、电缆、机架和接口冗余。
操作键全部相同。
我在下面附上了一份工作保证。
对于你的问题,我想到了几件事,
我用来排除故障的一件事是合作伙伴操作键的值。它们通常倾向于匹配,如果不匹配,我会怀疑可能存在交叉电缆问题
可以使用标准布线方法来解决此问题。所有从机架左侧穿过的电缆都插入交换机的左侧(或在本例中,插入一个机架),而所有从右侧穿过的电缆都插入交换机的右侧。因此,看起来,服务器 1 有一条电缆连接到端口 1 或端口 48。这将对您有所帮助,因为它创建了一个标准模型来计算。服务器 5 将是端口 43 和端口 5。易于跟踪,易于沟通。
另一个想法是,我们使用 mac 地址来追踪 LACP 成员。我可以使用 radssh + racadm(带外访问)或 radssh(利用 ssh)登录到服务器,批量登录到我的所有服务器并提取 mac 地址列表(不是 bond0,我们需要实际成员)。将完整的 mac 地址列表交给网络团队,并将成员列表与 mac 地址列表进行比较。
sudo cat /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
NAME=bond0
#NM_CONTROLLED=no
IPADDR=$SERVER_IP
PREFIX=22
GATEWAY=$GATEWAY_IP
ONBOOT=yes
BOOTPROTO=none
BONDING_OPTS="miimon=100 mode=4 lacp_rate=1 xmit_hash_policy=layer3+4"
sudo cat /etc/sysconfig/network-scripts/ifcfg-enp10s0f0
DEVICE=enp10s0f0
TYPE="Ethernet"
BOOTPROTO="none"
ONBOOT="yes"
MASTER=bond0
SLAVE=yes
##HWADDR=<MAC>:2C:6C
#DEFROUTE="yes"
#PEERDNS="yes"
#PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPV6_FAILURE_FATAL="no"
NAME="enp10s0f0"
sudo 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: layer3+4 (1)
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
Active Aggregator Info:
Aggregator ID: 2
Number of ports: 2
Actor Key: 1
Partner Key: 32875
Partner Mac Address: <MAC>:be:03
Slave Interface: enp10s0f0
MII Status: up
Speed: 25000 Mbps
Duplex: full
Link Failure Count: 7
Permanent HW addr: <MAC>:ea:7c
Slave queue ID: 0
Aggregator ID: 2
Actor Churn State: none
Partner Churn State: none
Actor Churned Count: 6
Partner Churned Count: 6
details actor lacp pdu:
system priority: 65535
port key: 1
port priority: 255
port number: 1
port state: 63
details partner lacp pdu:
system priority: 32667
oper key: 32875
port priority: 32768
port number: 263
port state: 60
Slave Interface: p8p2
MII Status: up
Speed: 25000 Mbps
Duplex: full
Link Failure Count: 7
Permanent HW addr: <MAC>:ea:7d
Slave queue ID: 0
Aggregator ID: 2
Actor Churn State: none
Partner Churn State: none
Actor Churned Count: 5
Partner Churned Count: 5
details actor lacp pdu:
system priority: 65535
port key: 1
port priority: 255
port number: 2
port state: 63
details partner lacp pdu:
system priority: 32667
oper key: 32875
port priority: 32768
port number: 16647
port state: 60