简介
本文档介绍如何在安装或升级后SUSE Linux Enterprise 12无法识别Cisco Unified Computing Solutions(UCS)虚拟接口卡(VIC)驱动程序时排除故障。
先决条件
Cisco UCS虚拟接口卡驱动程序的安装或更新过程遵循《Linux版思科虚拟接口卡驱动程序安装指南》中提供的步骤。
要求
Cisco 建议您了解以下主题:
- SUSE Linux Enterprise Administration
使用的组件
本文档仅限于Cisco UCS VIC驱动程序和SUSE Linux Enterprise(SLES)12 SP1。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景信息
Cisco UCS虚拟接口卡(VIC)驱动程序可促进受支持操作系统与Cisco UCS虚拟接口卡之间的通信。Cisco UCS VIC驱动程序ISO捆绑包包括eNIC和fNIC驱动程序。
eNIC驱动程序用于Cisco UCS VIC以太网NIC。fNIC驱动程序用于Cisco UCS VIC以太网光纤通道主机总线适配器(HBA)。
问题
在某些情况下,Redhat Package Manager(RPM)eNIC和fNIC驱动程序安装成功完成,但SLES 12 SP1 Linux内核未加载该驱动程序。驱动程序版本在您的环境中可能不同,并且确实与安装的UCS版本有关。
注意:有关其他信息,请参阅缺陷CSCvd50252。
检查驱动程序版本
确认RPM安装的驱动程序版本。
(root) # rpm -qa -last |grep cisco
cisco-fnic-kmp-default-1.6.0.34_k3.12.49_11-1.x86_64 Tue 03 Oct 2017 10:32:32 AM EDT
cisco-enic-usnic-kmp-default-3.0.40.534.534.0_k3.12.49_11-1.x86_64 Fri 04 Aug 2017 06:06:39 PM EDT
然后确认Linux内核驱动程序模块版本。
(root) # modinfo enic | grep ^version
version: 2.1.1.83
(root) # modinfo fnic | grep ^version
version: 1.6.0.17
在本示例中,您发现RPM安装的版本与内核加载的版本之间的驱动程序版本不匹配。
解决方案
UCS 3.1(3a)版或更高版本
从Cisco UCS版本3.1(3a)开始,新驱动程序将作为组合驱动程序构建和发布。驱动程序可在UCS Drivers ISO捆绑包文件夹/Drivers/Linux/Network/Cisco/VIC/SLES/SLES12.X/usNIC中找到。
有关组合驱动程序安装过程,请参阅《适用于Linux的思科虚拟接口卡驱动程序安装指南》。安装组合驱动程序后,Linux内核模块也是最新的。
UCS版本低于3.1(3a)
有时,由于其他依赖项,无法立即应用新的UCS版本。要成功安装VIC驱动程序,请应用以下解决方法。
使用本文档中的说明《Cisco UCS Virtual Interface Card Drivers for Linux Installation Guide》(Cisco UCS Virtual Interface Card Drivers for Linux安装指南)中的说明,从源目标编译驱动程序。
手动将eNIC和fNIC模块文件复制到新的Linux内核模块文件夹。
(root) # cp /lib/modules/3.12.49-11-default/updates/enic.ko /lib/modules/3.12.67-60.64.21-default/updates/
(root) # cp /lib/modules/3.12.49-11-default/extra/cisco-fnic-sles12/fnic.ko /lib/modules/3.12.67.21-default/weak-updates/extra/cisco-fnic-sles12/fnic.ko
然后,需要重新生成模块映射文件并生成initramfs。
(root) # depmod
(root) # mkinitrd
按照mkinitrd命令输出中提供的说明操作。
验证
确保驱动程序安装成功。在本示例中,rpm和内核模块驱动程序版本匹配,因此eNIC驱动程序为2.3.0.40,fNIC驱动程序为1.6.0.25。
(root) # for i in enic fnic ; do echo; echo "$i rpm version" ; echo ; rpm -qa| grep $i ; echo ; echo " $i driver version";echo; modinfo $i |grep ^version ;echo ;done
enic rpm version
cisco-enic-usnic-kmp-default-3.0.40.534.534.0_k3.12.49_11-1.x86_64 Fri 04 Aug 2017 06:06:39 PM EDT
enic driver version
version: 2.3.0.40
fnic rpm version
cisco-fnic-kmp-default-1.6.0.34_k3.12.49_11-1.x86_64 Tue 03 Oct 2017 10:32:32 AM EDT
fnic driver version
version: 1.6.0.34
相关信息
Cisco UCS硬件和软件兼容性工具