本文档介绍如何在思科统一计算系统(UCS)上为常见操作系统安装设备驱动程序。
Cisco 建议您了解以下主题:
本文档中的信息基于以下硬件平台:
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
设备驱动程序是操作系统与硬件之间的接口软件。设备驱动程序将一般的OS命令转换为特定设备的专用命令,从而允许OS与硬件设备通信。
以下是需要设备驱动程序的硬件设备列表:
设备驱动程序与固件不同。设备驱动程序软件安装在操作系统上,而固件是安装在硬件设备上的较低级别的代码。固件存储在非易失性存储器中,例如ROM、可擦除可编程ROM(EPROM)或闪存器。
设备驱动程序对设备固件有很强的依赖性。设备驱动程序必须与硬件设备的固件级别兼容,以便它们之间能够正确通信;驱动程序和固件功能必须匹配才能进行正确的操作。
设备驱动程序预装在操作系统中(例如Cisco OEM VMware ESXi映像),也可以在OS安装后手动安装。
通常,在下列步骤后需要更新设备驱动程序:
UCS硬件和软件互操作性表概述了特定操作系统、设备和固件组合所需的驱动程序版本。
本示例显示,在UCS版本3.2.2上,具有运行ESXi 6.0 U3的虚拟接口卡(VIC)1240的B200 M4需要1.6.0.36版本的FNIC驱动程序。

要下载驱动程序捆绑包,请完成以下步骤:
在选择正确的驱动程序之前,必须确定服务器上安装了哪些硬件设备。本节介绍如何查找UCS Manager和CIMC中的设备。
此示例显示如何在UCS Manager中查找服务器资产。服务器1/1安装了两个适配器型号:VIC 1240。

此示例说明如何在CIMC中查找服务器硬件设备。服务器安装了Cisco12G ModularSAS HBA RAID控制器。

在选择正确的驱动程序版本之前,必须确定UCS版本。本节介绍如何识别服务器上安装的当前UCS版本。
在本示例中,UCS B系列运行UCS版本4.1(3h)

在本示例中,UCS C系列运行UCS版本4.1(2f)。

本节介绍如何检查驱动程序版本以及如何将驱动程序安装在常见操作系统上。
使用以下命令检查当前驱动程序版本和VMware内部版本:
| 命令 | 描述 | ||||
| vmware -vl | 显示VMware版本和补丁级别。 | ||||
| esxcli software profile get | 显示ISO安装风格。 | ||||
| esxcfg-scsidevs -a | 列出主机HBA和关联的驱动程序名称。 | ||||
| esxcfg-nics -l | 列出主机虚拟接口卡和网络接口卡(NIC)型号。 | ||||
| ethtool -i vmnicX | 显示指定vmnic使用的以太网驱动程序。 | ||||
| esxcli network nic get -n vmnicX | 显示ESXi 6.5上指定vmnic使用的以太网驱动程序。 | ||||
| vmkload_mod -s fnic | 显示Cisco VIC的主机总线适配器(HBA)驱动程序版本。 | ||||
| vmkload_mod -s enic | 显示Cisco VIC的以太网驱动程序版本。 | ||||
| vmkload_mod -s nenic | 显示Cisco VIC for ESXi 6.5及更高版本的以太网驱动程序版本。 | ||||
| vmkload_mod -s megaraid_sas | 显示LSI MegaRAID驱动程序版本。 | ||||
| vmkload_mod -s lsi_mr3 | 显示LSI lsi_mr3驱动程序版本(ESXi 6.7上的本机驱动程序)。 | ||||
| vmkload_mod -s driver_name | 显示指定驱动程序的驱动程序版本。 | ||||
这些示例显示vmnic2使用Cisco VIC和驱动程序版本1.4.2.15a。


这些示例显示Qlogic主机总线适配器(HBA)使用驱动程序qla2xxx Version 901.1k.1-14vmw。


要安装驱动程序,请完成以下步骤:

使用以下命令在ESXi版本5.x/6.x上安装驱动程序:
esxcli software vib install –v /path/async-driver.vib

使用以下命令在ESXi版本4.x上安装驱动程序:
esxupdate --bundle=offline-bundle.zip update
使用上述命令之一安装驱动程序后,请退出Maintenance模式并重新启动主机。有关如何安装驱动程序的更多信息,请参阅本文档末尾的相关信息部分。
以下是安装驱动程序时可以使用的一些其他有用VMware命令:
检查维护模式状态
vim-cmd hostsvc/hostsummary | grep -i maintenace
检查已通电的虚拟机
vim-cmd vmsvc/getallvms
关闭VM
vim-cmd vmsvc/power.off <vm id>
进入维护模式
vim-cmd hostsvc/maintenace_mode_enter
退出维护模式
vim-cmd hostsvc/maintenace_mode_exit
本节介绍如何在Microsoft Windows服务器上安装驱动程序。
要检查Microsoft Windows中的设备驱动程序,请使用控制面板中的Device Manager。

对于Windows,服务器核心使用即插即用(PnP)实用程序(PNPUtil.exe)检查驱动程序版本。

驱动程序缺失的硬件设备在设备管理器中显示,带有黄色问号。必须用正确的驱动程序更新这些设备,以防止意外行为。

要在Microsoft Windows中安装或更新驱动程序,请右键单击设备,然后选择安装/更新驱动程序以启动安装向导。

PNPUtil工具也可用于从CLI安装驱动程序。驱动程序ISO捆绑包可以通过UCS KVM控制台虚拟媒体进行安装。

| 命令 | 描述 |
| pnputil.exe -e | 列出所有已安装的第三方驱动程序。 |
| pnputil.exe -a <INF名称> | 安装驱动程序. |
| pnputil.exe -d <INF名称> | 删除驱动程序。 |
| pnputil.exe -f -d <INF名称> | 强制删除驱动程序。 |
本节介绍如何在Red Hat Enterprise Linux(RHEL)和SUSE Linux Enterprise Server(SLES)上安装并验证驱动程序。
从SLES 12 SP1开始,思科eNIC和usNIC驱动程序将捆绑到单个RPM中(而不是像其他Linux发行版那样打包在单独的RPM中)。 由于在SLES 12 SP1及更高版本中如何管理内核模块依赖关系,因此需要将两个驱动程序捆绑到单个RPM中。如果您未使用Cisco usNIC功能(例如,如果您尚未在UCSM/CIMC中调配任何usNIC设备),则实际上会忽略usNIC驱动程序。
eNIC和usNIC驱动程序具有各自不同的版本号。如果在SLES 12 SP 1或更高版本上安装cisco-enic-usnic RPM,则这些驱动程序加载到运行的内核(例如,通过重新启动)后,请使用cat /sys/module/enic/version和cat /sys/module/usnic_verbs/version查看各自的版本号。cisco-enic-usnic RPM也有其自己的不同版本号。由于它代表eNIC和usNIC驱动程序的打包,因此RPM版本号看起来相似,但不反映任一驱动程序的特定版本。
有关确切的驱动程序版本的其他信息,请查询并查看RPM说明部分。该查询类似于以下示例:
# rpm -qip cisco-enic-usnic-kmp-default-.x86_64.rpm
Name : cisco-enic-usnic-kmp-default Relocations: (not relocatable)
...
Summary : Cisco VIC Ethernet NIC drivers
Description :
This RPM contains both the Cisco VIC Linux Ethernet driver (enic.ko, version ) and
the Cisco Userspace NIC (usNIC) Linux Ethernet driver (usnic_verbs.ko, version ).
Some Linux distros require both kernel modules to be in the same RPM in order to properly test for
symbol compatibility (because usnic_verbs.ko depends on enic.ko) when installing into post-GA
upgrade kernels.
以下是用于检查当前驱动程序版本和操作系统版本的命令列表:
| 命令 | 描述 |
| modinfo driver_name | 显示下次重新启动时加载(默认)的指定驱动程序的驱动程序版本。 |
| modinfo /path/to/driver_name.ko | 显示指定驱动程序内核对象文件的驱动程序版本。 |
| cat /sys/module/enic/version | 显示Cisco VIC适配器的运行Linux内核中当前加载的以太网驱动程序版本。 |
| cat /sys/module/fnic/version | 显示Cisco VIC适配器的运行Linux内核中当前加载的FC NIC驱动程序版本。 |
| cat /sys/module/megaraid_sas/version | 显示当前正在运行的Linux内核中加载的LSI MegaRAID驱动程序版本。 |
| lsmod -l | 列出内核中当前加载的驱动程序。 |
| cat /etc/redhat-release | 显示RHEL版本(适用于RHEL 6.x及更早版本)。 |
| cat /etc/SuSE-release | 显示SUSE版本(适用于SLES 11 SP3及更早版本)。 |
| cat /etc/os-release | 显示RHEL版本(适用于RHEL 7.x及更高版本,以及SLES 11 SP4及更高版本)。 |
| uname -a | 显示内核相关信息。 |
此示例显示SLES 15 GA上安装了cisco-enic-usnic RPM包3.2.272.23中捆绑的3.2.210.18-738.12版ENIC驱动程序。
# cat /etc/os-release
NAME="SLES"
VERSION="15"
VERSION_ID="15"
PRETTY_NAME="SUSE Linux Enterprise Server 15"
ID="sles"
ID_LIKE="suse"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:suse:sles:15"
# rpm -qa | grep enic
cisco-enic-usnic-kmp-default-3.2.272.23_k4.12.14_23-738.12.x86_64
# modinfo enic | grep ^version
version: 3.2.210.18-738.12
# cat /sys/module/enic/version
3.2.210.18-738.12
RHEL和SLES中的驱动程序是使用Redhat程序包管理器(RPM)安装的。使用以下命令可安装驱动程序:
# rpm -ihv RPM_filename.x86_64.rpm

此表显示常用驱动程序的驱动程序名称或前缀。
| 命令 | 描述 |
| enic | Cisco VIC以太网卡 |
| fnic | 思科VIC FC NIC |
| qle或qla | Qlogic适配器 |
| lpfc | Emulex HBA(光脉冲) |
| be2net | Emulex以太网NIC |
| igb或ixgbe | 英特尔NIC |
| bnx | Broadcom适配器 |
| megaraid | LSI MegaRAID |
| 兆马 | 嵌入式软件RAID |
| nenic | 适用于ESXi 6.5的思科VIC以太网卡 |
| 版本 | 发布日期 | 备注 |
|---|---|---|
6.0 |
03-Sep-2026
|
重新认证 — 更新的SEO |
5.0 |
03-Sep-2025
|
更新的SEO。重新认证 |
4.0 |
15-Aug-2024
|
更新的可选文本、机器翻译、法律免责声明和格式。 |
3.0 |
25-Aug-2023
|
更新的标题更新的格式设置以删除样式要求CCW更新链接以在新选项卡中打开输入的替换文本 |
2.0 |
20-Jul-2022
|
首次公开发布 |
1.0 |
27-Jun-2013
|
初始版本 |