在正在运行的系统上将 ConnectX 固件升级到 2.6.000 版或更高版本时,可能会导致某些 HCA 或 x64 平台出现问题。此问题仅影响 Mellanox 品牌的 HCA。Sun 品牌的 PCIe HCA、EM、NEM 和 SPARC 平台不会受到影响。
您可能无法引导系统,或者系统可能会在引导期间挂起。ibd (IPoverIB) 实例编号可能会发生更改,阻止系统引导并且可能会检测 ibd 设备。
解决方法 1:使用 cxflash 更新固件后,在重新引导系统之前,从 /etc/path_to_inst 文件和 /dev 目录删除 ibd<x> 实例。请执行以下步骤:
以超级用户身份登录。设备树信息可能类似如下:
# ls -R /devices | grep 15b3 /devices/pci@0,0/pci10de,5d@e/pci15b3,634a@0 /devices/pci@0,0/pci10de,5d@e/pci15b3,634a@0/ibport@1,ffff,ipib /devices/pci@0,0/pci10de,5d@e/pci15b3,634a@0/ibport@1,ffff,ipib:ibd0 /devices/pci@0,0/pci10de,5d@e/pci15b3,634a@0/ibport@2,ffff,ipib /devices/pci@0,0/pci10de,5d@e/pci15b3,634a@0/ibport@2,ffff,ipib:ibd1 /devices/pci@0,0/pci10de,5d@e/pci15b3,634a@0:devctl |
设备规格会有所不同,具体取决于所安装的 Mellanox 品牌的卡。
编辑 path_to_inst 文件。请执行以下步骤:
制作现有 path_to_inst 文件的备份副本。
# cp /etc/path_to_inst /etc/path_to_inst.backup |
打开 path_to_inst 文件:
# vi /etc/path_to_inst |
搜索包含 ibd 和 hermon 的行,然后删除这些行。
保存所做更改并关闭文件。
删除 /dev 目录中的条目:
rm /dev/ibd?* |
重新引导系统。系统会正常引导,相应的设备树类似如下:
# ls -R /devices | grep 15b3 /devices/pci@0,0/pci10de,5d@e/pci15b3,5@0 /devices/pci@0,0/pci10de,5d@e/pci15b3,5@0/ibport@1,ffff,ipib /devices/pci@0,0/pci10de,5d@e/pci15b3,5@0/ibport@1,ffff,ipib:ibd0 /devices/pci@0,0/pci10de,5d@e/pci15b3,5@0/ibport@2,ffff,ipib /devices/pci@0,0/pci10de,5d@e/pci15b3,5@0/ibport@2,ffff,ipib:ibd1 /devices/pci@0,0/pci10de,5d@e/pci15b3,5@0:devctl |
解决方法 2:如果在更新 path_to_inst 文件和 /dev 目录前重新引导系统,系统可能会挂起。在这种情况下,请执行以下步骤:
关闭系统电源并从总线移除 HCA。
在未安装 HCA 的情况下重新引导系统。
系统重新引导完成后,执行解决方法 1 中所列的步骤 2 至 3。
关闭系统电源。
重新安装 HCA。重新引导系统。
如果系统重新引导,但 ibd 接口不自动进行检测,则 /etc/hostname.ib<?> 文件可能不适合于当前的设备配置。手动重命名文件以反映正确的配置。