Brocade G720 在已加载 DD PoD 许可证的情况下所有 64G SFP-DD 端口都卡在 Module_Invalid
我们接手了一对 Connectrix DS-7720B(Brocade G720)用于新建一个 fabric,zoning 还完全没碰,因为双密度端口一个都起不来。每一个都在 switchshow 里显示同样的内容:
Index Port Address Media Speed State Proto
====================================================
48 48 031800 dd -- Module_Invalid (Speed Mismatch / Incompatible SFP)
49 49 031900 dd -- Module_Invalid (Speed Mismatch / Incompatible SFP)
机柜里的设备是:
- Connectrix DS-7720B / Brocade G720,Fabric OS 还是出厂自带的 9.0.x 系列
- Double Density Ports on Demand 许可证已安装,状态显示为已应用
- Brocade 原厂 64G FC SFP-DD 光模块,型号 57-1000505-01
- 跳线和光模块来自同一批货
在有人建议之前先说明:我已经把每个模块都重新插拔过,还把其中两个模块在端口之间对调过,故障是跟着端口走的,不是跟着模块走的。Double Density Ports on Demand 许可证确实是已应用状态,不是只下了单没激活,这一点我检查了两遍。跳线也换过,两端接头也清洁过,没有任何变化。同一机箱上的普通端口跑业务完全正常,所以这不是一台坏交换机。
是我们拿到了一批有问题的双密度光模块,还是交换机在还没真正看清模块里是什么之前就已经把它判定为不可用了?
Comments 6
你的光模块没问题,问题在固件上。
G720 上的 64G FC SFP-DD 是从 Fabric OS 9.1.0 开始才支持的。在 9.0.x 上,固件根本不认识这种封装形式,所以它没法识别 cage 里插的是什么,于是回退成判定为不兼容——这正是你在每一个双密度端口上看到的 Module_Invalid,附带 Speed Mismatch / Incompatible SFP。你的排查过程也从另一个角度证明了这一点:普通光模块能在拒绝 dd 模块的那个端口上正常点亮,第二台机箱表现完全一样,因为它运行的是相同的固件。
你手上的这个型号 57-1000505-01,在 Brocade Transceiver Support Matrix 里是有记录的,矩阵里写明了每个平台所需的最低固件版本。对于 G720,这一条从 9.1.0 开始。升级到 9.1.0 或更高版本,那些端口插着现在的模块就会直接起来。
那块板卡也是同样的道理。每个 Gen 7 平台在矩阵里都有自己的最低版本要求——包括 G730(DS-7730B)、7850(MP-7850B)和 FC64-64——所以在把双密度光模块挪到任何一台设备之前,都先去查一下,否则下一台设备上你又要浪费一个下午。
不管怎样,先别把模块寄回去。
先别急着走 RMA 流程,因为从这里看这不像是一整批坏光模块的样子。Module_Invalid 而且 media 列已经显示 dd,说明交换机已经从 cage 里读到了一些东西,只是不喜欢读到的内容。真正坏掉的模块通常走不到这一步——你看到的应该是 no-module 状态才对。
有三件事能帮你缩小范围,而且都不花钱:
另外先把许可证这件事从思路里排除掉。Ports on Demand 只是解锁端口,它不会教固件认识一种它从没见过的封装形式。
借模块这个建议很到位。我从一个正常端口上拔了一个能用的 Brocade 模块,插到端口 48,立刻就以 F-Port 上线了。再把 64G SFP-DD 插回同一个端口,一两秒内又变成 Module_Invalid。所以 cage 是活的,许可证也在正常起作用,端口本身也没问题——就是交换机不接受双密度模块。
两台交换机都一样,是的。第二台 DS-7720B 大部分还在箱子里没上架,但我在台面上把两个 dd 模块插进去测试,得到了一模一样的信息,所以不是某一台机箱单独有故障。
其他地方的 Gen 7 设备:目前生产环境里还没有,但有一块 FC64-64 板卡还在箱子里等着装进 director 插槽,当初买它就是为了配这批光模块的。如果它到时候也踩同样的坑,我宁愿现在就知道,而不是在迁移窗口期才发现。
不同厂商,同样形状的坑,发出来希望能帮别人省下一个下午来回拔插模块的时间。
Dell S5248F-ON,SONiC master 构建版本。所有 SFP28 端口都不工作。每个端口指示灯都是常亮的,但 show interface transceiver presence 显示完全没有光模块,而实际 cage 里插的是完全健康的光模块。
这跟光学部分一点关系都没有。platform monitor 容器根本没起来:pmon 没在运行,pcied、xcvrd 和 psud 也都没起来。xcvrd 是负责和模块做 I2C 通信的进程,它挂了以后根本没有人在读 EEPROM,CLI 其实是如实报告了它所知道的情况,也就是什么都没读到。docker ps 和 show system-health detail 一分钟就把整件事说清楚了——可惜那是在我已经花了半天时间来回换模块之后。
Z9264F 上也遇到过同一类问题,platform 插件的 Sfp 构造函数崩溃报错 AttributeError: 'Sfp' object has no attribute 'port_type',启动时还把 determine-reboot-cause.service 一起带崩了。当整整一类端口都以完全相同的方式出问题时,光模块几乎从来都不该是第一怀疑对象。
另外一半的工作没什么光彩可言,但真正花时间的恰恰是它。在一台后面还没接任何业务的交换机上做 Fabric OS 版本跳跃,仍然属于变更窗口的范畴,不是两个会议之间顺手就能做的事,先把 fabric 里还有哪些设备要跟着一起动想清楚,再正式申请停机窗口。
既然那块 FC64-64 还在箱子里,就先把它升到 9.1.0 或更高版本,再让它见到双密度光模块。不然你就是在一台 director 上重演这个帖子,而且是当着一群人的面。
再说一件实际的事。赶在供应商登记 RMA 之前联系他们。这些模块自身的身份信息完全正常,只是宿主设备暂时没有对应的表项而已。如果供应商把它们当作故障品接受退货,你会等三周拿到一批行为完全一样的替换货,然后还是得做这次升级。
确认了,就是固件的问题。
周末的窗口期里两台交换机都升级到了 9.1.0,重启后每个双密度端口都从 Module_Invalid 变成了上线状态,跑在 64G,用的还是一直插在里面的那批 57-1000505-01 光模块。没有重新插拔,没有更换任何东西,也没有重新布线。
许可证那条线索最后证明是我一直在追的假线索——从一开始就正确应用了,只是在 9.0.x 上什么用都没有。这块板卡以后必须先升到 9.1.0,再靠近 director 插槽一步,我已经把这句话写在它现在待着的箱子上了。省下了一次 RMA,也省下了一场跟供应商相当尴尬的对话。