ThinkSystem SR650 使用联想 46C3447 SR 光模块时 Catalyst 3850 把端口 err-disable 掉
一台新的 ESXi 主机要上架,接在一台校园网 3850 下面。管理口走铜线,正常起来没有任何问题;10G 上联口就不行了:服务器一开机,交换机端口立刻掉进 err-disable,主机在那个 vmnic 上什么都看不到。
- 联想 ThinkSystem SR650,7X06CTO1WW,配 Emulex VFA5.2 2x10GbE SFP+ 网卡
- 网卡上插的是联想 10GBASE-SR 模块,46C3447
- 交换机侧是 Cisco WS-C3850-24XS-S,用的是 Cisco SFP-10G-SR
- 中间是 OM3 LC-LC 跳线
Te1/0/7: goes err-disabled within seconds of the server powering on
ESXi: the uplink shows DISCONNECTED
Same patch cord, Cisco SFP-10G-SR at both ends switch to switch: link up and stable
已经尝试过:
- 把服务器换到同一台交换机的另一个端口,现象一样
- 把 46C3447 换成网卡另一个端口上的同款模块
- 换了新跳线,两端都清洁并重新插拔过
光纤和交换机侧的光模块显然都没问题,所以是有什么东西在针对联想这个模块。到底是服务器这边还是交换机这边在拒绝它,有没有办法让 3850 接受这个模块?
Comments 3
这条日志已经说明问题了。
gbic-invalid是交换机在拒绝它认为未经授权的模块,触发这个检查的逻辑在思科这一侧,跟 SR650 无关,也跟 ESXi 无关。它是在针对这条链路里那个带联想编码的 SR 光模块,在链路还没来得及被评估之前就把端口杀掉了,这也是为什么换端口、换跳线对你来说都没用。全局配置里两行命令:
第一行让交换机继续使用它不认识的模块,第二行让 err-disable 在那个 CRC 检查失败时不再把端口打掉。这两条都不是回溯生效的,所以之后要把端口弹一下,趁它关闭的时候顺便把光纤重新插拔一次:
端口起来之后记得保存配置。如果只留在 running config 里,下次重启端口又会变回 err-disabled,你就得在一个糟糕得多的时刻再排查一遍。
两点提醒。现在你已经在思科官方支持的配置范围之外了:他们认为第三方光模块未经测试,如果这条链路涉及某个合同,TAC 可能会拒绝处理牵涉第三方光模块的互操作性问题。另外
service unsupported-transceiver不是万能药。如果问题出在端口本身,比如把 10G 模块插进了只支持 1G 的 SFP 插槽,同样的 bad crc 信息在开了这条命令后依然会出现,所以如果端口弹完之后还是起不来,先确认两端实际跑的速率,再考虑是不是又要怪光模块。在有人猜测之前先问一句:端口掉线的时候交换机实际记录了什么日志?err-disable 总会指明原因,而不同的原因会让答案完全不一样。模块的安全检查或 CRC 报错,和一次抖动或协议中断,是完全不同的两类问题,一个的解决办法对另一个毫无作用。
把服务器开机那一刻前后的
show logging内容拉出来,贴一下那个端口对应的行。另外确认一下 Te1/0/7 里实际插的是什么,你说交换机这边是 Cisco SFP-10G-SR,那这条链路里是不是只有 46C3447 这一个非思科的部件?端口掉线那一刻的日志,那个端口对应的两行:
所以是安全检查在触发,不是抖动。交换机这端确实是原装 Cisco SFP-10G-SR,服务器上的 46C3447 是这条链路里唯一带联想编码的部件。这也是让我困惑的地方,因为日志里点名的是交换机上的端口,而不是服务器那一侧的任何东西。