在 ESXi 5.x 中,swfw.sh 命令随 vm-support 支持包收集工具一起提供。swfw.sh 命令可用来识别连接到主机的硬件的固件和驱动程序版本。要运行此命令,请使用该路径:

# /usr/lib/vmware/vm-support/bin/swfw.sh

获取主机总线适配器驱动程序和固件信息

要确定主机总线适配器的驱动程序和固件版本,请执行以下操作:

  • 要确定主机总线适配器的固件版本,请参见 Identifying the firmware of a Qlogic or Emulex FC HBA (1002413)。

  • 要获取 ESXi/ESX 主机上的主机总线适配器的驱动程序版本,请执行以下操作:

    • VID = 1000

    • DID = 0030

    • SVID = 15ad

    • SDID = 1976

  1. 打开 ESXi/ESX 主机的控制台。有关详细信息,请参见 Unable to connect to an ESX host using Secure Shell (SSH) (1003807) 或 Using Tech Support Mode in ESXi 4.1 and ESXi 5.x (1017910)。

  2. 获取主机总线适配器当前使用的驱动程序类型:

    # esxcfg-scsidevs -a

    您将看到类似以下内容的输出:

    vmhba0 ata_piix link-n/a ide.vmhba0 (0:7.1) Intel Corporation Virtual Machine Chipset
    vmhba1 mptspi link-n/a pscsi.vmhba1 (0:16.0) LSI Logic / Symbios Logic LSI Logic Parallel SCSI Controller
    vmhba32 ata_piix link-n/a ide.vmhba32 (0:7.1) Intel Corporation Virtual Machine Chipset


    注意:第二列显示针对 HBA 配置的驱动程序。

  3. 要查看正在使用的驱动程序的版本,请运行以下命令:

    # vmkload_mod -s HBADriver |grep Version

    例如,检查 mptspi 驱动程序:

    # vmkload_mod -s mptspi |grep Version

    Version: Version 4.00.37.00.30vmw, Build: 721907, Interface: 9.0, Built on: May 18 2012


    In this example, the driver version is 4.00.37.00.30vmw.

    要使用一个命令获取系统中所有 HBA 的驱动程序版本,请使用以下命令:

    # for a in $(esxcfg-scsidevs -a |awk '{print $2}') ;do vmkload_mod -s $a |grep -i version ;done

  4. 要确定推荐用于网卡的驱动程序,必须使用 vmkchdev 命令获取供应商 ID (VID)、设备 ID (DID)、子供应商 ID (SVID) 和子设备 ID (SDID):

    # vmkchdev -l |grep vmhba1

    000:16.0 1000:0030 15ad:1976 vmkernel vmhba1


    在本例中,值分别为:


    要使用一个命令获取系统中所有 HBA 的供应商信息,请使用以下命令:

    # for a in $(esxcfg-scsidevs -a |awk '{print $1}') ;do vmkchdev -l |grep $a ;done

  5. 现在可以在 VMware Compatibility Guide 中搜索供应商 ID (VID)、设备 ID (DID)、子供应商 ID (SVID) 和子设备 ID (SDID)。在某些情况下,可能需要执行文本搜索,以将范围缩小到特殊卡。

    注意:可以使用以下 命令检查 ESXi/ESX 主机版本:

    # vmware -v

获取网卡驱动程序和固件信息

 

要确定 vSphere ESXi/ESX 4.x 和 5.x 中物理网络接口卡的版本信息,请执行以下操作:

  1. 打开 ESXi/ESX 主机的控制台。有关详细信息,请参见 Unable to connect to an ESX host using Secure Shell (SSH) (1003807) 或 Using Tech Support Mode in ESXi 4.1 and ESXi 5.x (1017910)。

  2. 获取网络接口卡和名称列表。

    在 ESXi/ESX 4.x 中,运行以下命令:

    # esxcfg-nics -l

    例如:

    # esxcfg-nics -l

    Name    PCI         Driver Link Speed    Duplex MAC Address
    vmnic0  00:02:04.00 ACME   Up   1000Mbps Full   01:23:45:67:89:AB
    vmnic1  00:02:05.00 ACME   Up   1000Mbps Full   01:23:45:67:78:AC


    在 ESXi 5.x 中,运行以下命令:

    # esxcli network nic list

  3. 使用 ethtool -i 命令显示一个网络接口的可用信息,在第 2 步中指定其名称:

    # ethtool -i VMNic_name

    例如:

    # ethtool -i vmnic0

    driver: ACME
    version: 1.2.3a-1vmw
    firmware-version: 7.8.9
    bus-info: 0000:02:04.00


    要通过 ethtool -i 同时获取所有网络适配器的信息,可运行以下命令:

    for a in $(esxcfg-nics -l|awk '{print $1}'|grep [0-9]) ;do ethtool -i $a;done

    在 ESXi 5.x 中,还可以使用以下命令:

    esxcli network nic get -n vmnic#

  4. 要确定推荐用于网卡的驱动程序,必须使用 vmkchdev 命令获取供应商 ID (VID)、设备 ID (DID)、子供应商 ID (SVID) 和子设备 ID (SDID)

    # vmkchdev -l |grep vmnic0

    002:01.0 8086:100f 15ad:0750 vmkernel vmnic0


    在本例中,值分别为:


    要使用一个命令获取系统中所有网卡的供应商信息,请使用:

    # for a in $(esxcfg-nics -l |awk '{print $1}' |grep [0-9]) ;do vmkchdev -l |grep $a ;done

  • VID = 8086

  • DID = 100f

  • SVID = 15ad

  • SDID = 0750

现在可以在 VMware Compatibility Guide 中搜索供应商 ID (VID)、设备 ID (DID)、子供应商 ID (SVID) 和子设备 ID (SDID)。在某些情况下,可能需要执行文本搜索,以将范围缩小到特殊卡。注意:可以使用以下 命令检查 ESXi/ESX 主机版本:# vmware -v通过 ESXi/ESX 版本和网络类型,可以了解要使用的驱动程序的版本。VMware downloads page 提供了所有驱动程序更新。




Additional Information

这些脚本信息仅适用于 ESXi 5.x。

要在 esxi5.x 中使用一个命令获取系统中所有 HBA 的驱动程序版本,请使用:

esxcli storage core adapter list|awk '{print $1}'|grep [0-9]|while read a;do vmkload_mod -s $a|grep -i version;done

****************************
要在 esxi5.x 中使用一个命令获取系统中所有 HBA 的供应商信息,请使用:

esxcli storage core adapter list|awk '{print $1}'|grep [0-9]|while read a;do vmkchdev -l |grep $a ;done

***************************
要在 esxi5.x 中通过 ethtool -i 一次获取所有网络适配器的信息,可运行以下命令:

esxcli network nic list | awk '{print $1}'|grep [0-9]|while read a;do ethtool -i $a;done

**************************
要在 esxi5.x 中使用一个命令获取系统中所有网卡的供应商信息,请使用:

esxcli network nic list | awk '{print $1}'|grep [0-9]|while read a;do vmkchdev -l|grep $a;done