把某台主机升级到ESXi 8.0 U3之后,Emulex SN30L22004夹层HBA从存储适配器列表里消失了
刀片机箱里的一台主机升级到了ESXi 8.0 U3,升完之后光纤通道完全没了。数据存储不见了,适配器也不在存储适配器列表里,光纤交换机那边这些端口也完全没有login记录。集群里其他主机都没动过,依然能看到同样的LUN。
- 一台刀片主机,配两块Emulex SN30L22004 Mezz 16Gb双口光纤通道适配器
- 从ESXi 7.0 U3升级到8.0 U3,硬件没有任何变动
- 16G SFP+光模块和跳线都没变,两个端口都受影响
[root@host:~] esxcli storage core adapter list
-> no vmhba entries for the FC ports, only the onboard storage controller
[root@host:~] lspci -v | grep -i emulex
-> both mezzanine ports are listed on the PCI bus
我尝试过:
- 重新插拔了夹层卡,换了其中一个端口的光模块
- 重新扫描存储适配器,重启了两次
- 检查了光纤交换机,那些端口就是一直起不来
这块卡明明还在PCI总线上,所以这到底是光模块或卡本身的故障,只是碰巧和升级同时发生,还是ESXi那边的问题?在我开工单之前,想先弄清楚该往哪个方向查。
Comments 3
都不是。设备在
lspci里能看到,而esxcli storage core adapter list里什么都没有,这正是一个没有被任何驱动认领的设备的典型特征。光模块和这个症状完全没关系——一个没被认领的适配器根本不会去驱动它的光模块,所以光纤交换机那边的沉默是结果,不是原因。原因出在驱动上,不是你的卡:ESXi 8.0里根本没有这个适配器的认证驱动。它的支持到7.0 U3为止,支持就在那里终止了。你在主机上装什么都没法把它救回来,只要还在8.0上。
两步走,一个是眼下的,一个是长远的:
把这条变成任何ESXi大版本升级前的固定检查项:升级窗口预定之前,把每一块存储适配器都过一遍兼容性指南。当一块卡悄无声息地从那份列表上消失时,主机的表现和光纤被剪断没什么两样——没有适配器、没有数据存储、光纤交换机上也没有login记录——很多人会在光模块和线缆上耗掉好几天,才想到去查这个。
和我遇到的情况完全吻合。
lspci -v | grep -i emulex里两个端口都在,存储适配器列表里什么都没有,所以我也就不再折腾光模块了。把那台主机回退到7.0 U3之后,两块SN30L22004作为存储适配器恢复了,第一次重新扫描数据存储就挂载上了,光纤交换机那边什么都没动。目前正在询价能在8.0兼容列表上的替换适配器,集群其他部分会一直留在7.0 U3上,直到新卡到货。这个教训代价不小,其实五分钟查一下HCL就能避免。
同样的坑在再下一层,出在光模块上。Cisco UCS C系列里的Emulex夹层卡在上电时会检查模块,一旦不满意就会在BIOS界面上打出
Unsupported Optic Installed。Cisco明确写出了它们认哪些:LPe31002-M6(UCSC-PCIE-BD16GF)——16G的AFBR-57F5MZ-ELX或FTLF8529P3BCV-EM;LPe32002-M2(UCSC-PCIE-BD32GF)——32G的AFBR-57G5MZ-ELX或FTLF8532P4BCV-EM。后缀的那几个字母不是装饰——它们表示这个EEPROM是按Emulex要求的方式写入的,同样来自Finisar或Avago的玻璃,如果只是普通编码版本,照样会被拒绝。开机时按F2,进Advanced标签页,选适配器,Scan for Fibre Devices,就能看到卡自己看到了什么。Brocade在交换机那一侧也维护着类似的名单,按平台、按具体料号分类,还附带对应的最低FOS版本要求:SX6和7810上的安全光模块要求FOS 8.2.1e或8.2.2c及以上。