如何在内核级别诊断Linux LACP问题?
是否存在
Linux绑定驱动程序的基础管理或诊断接口,以确定内部发生了什么?
多年来,我一直在Linux机箱和Cisco交换机之间使用链路聚合.在设置新的方框时,我会定期遇到死胡同,而Linux方面根本不响应Cisco LACP数据包.我一丝不苟地遵循每个服务器的严格说明,但结果似乎有所不同. 无论绑定是包含一个从属还是八个,tcpdump都会在所有绑定接口上显示来自交换机的LACP数据包,并且不会传回任何数据包.实际上,没有数据包传输周期.接口的rx_packets显示相当大的流量,但tx_packets为零.关于MII或绑定的日志中没有任何有趣的内容.甚至没有任何错误. 目前,我正在处理一个只有两个nics的盒子.目前,我只有eth1在债券中.显然,这是一种退化配置.债券中eth0和eth1的情况不会发生变化;当网络堆栈完全关闭时,它使得使用机器变得更加困难.如有必要,我可以为两个nics重新配置它并通过管理界面(DRAC),但我无法通过这种方式从盒子中复制粘贴. 一些预赛: >我测试了网络,端口和电缆.当接口未绑定时,一切都按预期工作. 这是今天下载的debian 8.6. Linux box 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u2 (2016-10-19) x86_64 GNU/Linux 缩写配置: iface eth1 inet manual auto bond0 iface bond0 inet manual slaves eth1 address 10.10.10.10 netmask 255.255.255.0 bond_mode 4 bond_miimon 100 bond_downdelay 200 bond_updelay 200 bond_xmit_hash_policy layer2+3 bond_lacp_rate slow 一些州: # 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+3 (2) MII Status: down MII Polling Interval (ms): 100 Up Delay (ms): 200 Down Delay (ms): 200 802.3ad info LACP rate: slow Min links: 0 Aggregator selection policy (ad_select): stable bond bond0 has no active aggregator Slave Interface: eth1 MII Status: down Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 78:2b:cb:5a:2b:3e Aggregator ID: N/A Slave queue ID: 0 来自交换机的eth1上的入站tcpdump记录: 22:18:47.333928 M 44:ad:d9:6c:8d:8f ethertype Slow Protocols (0x8809),length 126: LACPv1,length 110 Actor Information TLV (0x01),length 20 System 44:ad:d9:6c:8d:80,System Priority 32768,Key 12,Port 272,Port Priority 32768 State Flags [Activity,Aggregation,Synchronization,Collecting,Distributing,Default] Partner Information TLV (0x02),length 20 System 00:00:00:00:00:00,System Priority 0,Key 0,Port 0,Port Priority 0 State Flags [none] Collector Information TLV (0x03),length 16 Max Delay 32768 Terminator TLV (0x00),length 0 思科方面: interface GigabitEthernet1/0/15 switchport trunk allowed vlan 100,101,102 switchport mode trunk channel-group 12 mode active end interface Port-channel12 switchport trunk allowed vlan 100,102 switchport mode trunk end 最终,交换机放弃,接口进入“独立”模式.如果通道组中有两个接口,则它们都进入独立模式. #show etherchannel 12 sum Flags: I - stand-alone Group Port-channel Protocol Ports ------+-------------+-----------+----------- 12 Po12(SD) LACP Gi1/0/15(I) 我一整天都在绞尽脑汁.我已经多次撕掉并重建思科配置.如果不是tcpdump显示LACPv1数据包到达Linux接口,我会看看思科方面.唉,Linux内核似乎完全忽略了数据包.我的下一站是内核源代码,最糟糕的情况是用于诊断的自定义内核.希望有人能够深入了解绑定驱动程序以及使其正确运行的原因. 解决方法
尝试在linux端设置下一个LACP属性:
bond_downdelay 0 bond_updelay 0 bond_xmit_hash_policy layer3+4 bond_lacp_rate fast 在思科方面,重新创建端口通道并启用LACP的快速速率: port-channel load-balance src-dst-ip interface GigabitEthernet1/0/15 lacp rate fast exit 如果Cisco交换机无法快速设置lacp速率,那么您需要更新其IOS. 思科与LACP的合作比Linux差.如果您的Cisco交换机可以,请设置端口通道负载平衡src-dst-port. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- linux – 如何测试iptables规则以防止远程锁定和检查匹配?
- linux – 是否有可能将ssh或rsync引入其文件系统已将其自身
- 记录一次OracleJDK开发的项目发部到Linux中使用OpenJDK启动
- Ubuntu16.04之安装Nutch
- linux – 传输15TB的小文件
- linux – SPF足以确保将电子邮件发送到收件箱吗?
- fetch() without execute() [for Statement "SHOW VARI
- filesystems – 在关闭linux之前是否还需要执行sync(8)?
- linux – DEBIAN存储库签名:循序渐进的指南
- linux – 添加路由时,导致’RTNETLINK回答的问题:没有这样