Lenovo ThinkSystem NE1032 把第三方 SFP+ 标为 Unapproved,端口一直起不来
我们在一个小型托管机柜里用一对 ThinkSystem NE1032 RackSwitch 做架顶交换机。接手的 Lenovo 品牌光模块只够填一半端口,剩下的插了通用 SFP+ 模块和几根短 DAC,都是我们在别的厂商交换机上一直用得好好的同一批货。
设备情况:
- Lenovo ThinkSystem NE1032 RackSwitch,除了 VLAN 之外是出厂配置
- 通用未编码的 10G SFP+ 模块
- 交换机互联链路上是两根短的无源 DAC
- 旁边端口插的是 Lenovo 编码的 SFP+,工作正常
每一个非 Lenovo 模块的端口信息看起来都一样:
port 17 transceiver present approval: Unapproved
port 17 link: down
旁边端口里的编码模块都以 10G 起来了,所以问题不在线缆或对端。
已经试过的:
- 重新插拔模块,并在端口之间互换,Unapproved 这个标记跟着模块走
- 把同样的通用模块插到另一个厂商的交换机上,立刻就以 10G 起链路
- 逐行检查了端口和接口配置,跟能用的端口没有任何区别
有没有官方支持的办法让交换机接受它不认识的模块,还是说只能去买编码过的光模块?
Comments 3
这个标记不是对光模块本身的判定。固件读取的是模块 EEPROM 里厂商专属的那部分区域,大致是第 96-128 字节,只要对不上自己的列表就被打上 Unapproved,然后端口就不允许起来。你在端口配置上做任何改动都不会影响这个结果。
在 NE1032 上有一个有文档记录的覆盖选项,就是一条普通的全局命令:
保存之后重启交换机。重新加载之后,模块会按照 MSA 字段来驱动,而不是走厂商校验,通用 SFP+ 就能像其他模块一样正常起来。
两点提醒。这条命令是特定平台的——同样的写法不保证在其他 Lenovo 交换机上也一样,所以不要把它当模板推广到整个设备群。而且如果你在开启了这个选项的端口上开工单,支持团队会很乐意把责任推给第三方光模块,所以留几个编码模块在架子上,方便随时换上去测试。如果你根本不想在配置里保留这个覆盖选项,替代方案就是用原厂 Lenovo 光模块,或者订购已经预先编码成 Lenovo 的第三方模块。
整条产品线都是这个套路,不只是 NE1032。我见过一个 Intel 编码的 SFP 在 RackSwitch G8124-E 上被拒绝,还见过一个思科-Finisar 的 SFP-10G-LR-S 插在 G8272 上,状态是 Disabled,标着 Unapproved,链路 down。固件先按厂商列表给每个模块打分,后面才管别的。
在你打算去老设备上找同一条命令之前,值得先知道一件事:在基于 ENOS 的 RackSwitch 型号上,这个覆盖选项是放在引导加载程序里的一个 sfp Override 设置,而不是配置命令,所以在 CNOS 上能用的东西在那上面根本不存在。我手头没有最近能用的 G8124-E 来带你走一遍那个菜单,所以在为此安排停机窗口之前,先在你自己的设备上确认清楚。
在维护窗口里执行了一遍。configure terminal,system unsupported-transceiver,exit,copy running-config startup-config,然后重新加载——交换机重新起来之后,所有通用模块都正常显示了,两条 DAC 链路都是 10G。端口信息上也不再带 Unapproved 标记了。
给后来遇到这个问题的人:必须要 reload,交换机不重启的话端口状态是不会变的。另外我们也按建议在备件抽屉里放了两个编码模块,这样出问题之前就能先证明端口本身是好的。