前言

本文记录了具体如何从 VMware 官方网站检查硬件(BIOS/RAID/NIC/HBA)等兼容性信息,提前确认 VMware 软硬件兼容性结果避免数据中心建设规划时候采坑回退。说一句不相关的想法,整个 IT 行业从 VMware 转投 OpenStack 的进程越来越快,而 VMware 面对的竞争者会越来越多,Nutanix/OpenStack/Docker 等一波接着一波,VMware 确实很成熟也很好用,但企业规模不断扩大之后也抵挡不住成本的压力和新技术的降维攻击。

VMware Compatibility Guide

更新历史

2018 年 04 月 22 日 - 初稿

阅读原文 - https://wsgzao.github.io/post/vmware-compatibility-guide/

扩展阅读

VMware Compatibility Guide - https://www.vmware.com/resources/compatibility/


VMware 兼容性检查概述

VMware Compatibility Guide

登录 VMware Compatibility Guide 网站,输入已知硬件关键字信息如 DL980
https://www.vmware.com/resources/compatibility/search.php

根据型号和 CPU 判断硬件所支持的版本,以下内容以 HP DL980 Gen7 为例
https://www.vmware.com/resources/compatibility/detail.php?deviceCategory=server&productid=19802&deviceCategory=server&details=1&keyword=dl980&page=1&display_interval=10&sortColumn=Partner&sortOrder=Asc

根据查询结果我们可以得出这样的结论
HP DL980 Gen7 支持的最高版本为 ESXi 6.0 U3,BIOS 版本要求为 P66

VMware Lifecycle Product Matrix

根据第一步得到了 ESXi 的版本信息,需要了解 VMware 当前的生命周期技术支持政策
https://www.vmware.com/support/policies/lifecycle.html
https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/support/product-lifecycle-matrix.pdf

VMware Product Interoperability Matrices

将 ESXi 6.0 U3 作为已知条件,增加你需要部署的组件进一步了解兼容性上的安装建议,比如下面是增加了 VMware vCenter Server 和 VMware Horizon,由这个页面我们可以大致确认组件的安装版本对应关系

https://www.vmware.com/resources/compatibility/sim/interop_matrix.php

VMware ESXi 6.0 U3
VMware vCenter Server 6.5 U1e or 6.0 U3d
VMware Horizon 7.4.

Firmware

BIOS/RAID/NIC/HBA 等信息获取请往下看

Checking your firmware and BIOS levels to ensure compatibility with ESX/ESXi (1037257)
https://kb.vmware.com/kb/1037257

Determining Network/Storage firmware and driver version in ESXi 4.x and later (1027206)
https://kb.vmware.com/kb/1027206

Identifying the firmware of a Qlogic or Emulex FC HBA (1002413)
https://kb.vmware.com/kb/1002413

ESXi 兼容性信息收集

基础配置

开启 ESXi Shell 和 SSH

  1. 完成 ESXi 系统安装
  2. 按 < F2> Customize System/Viewlogs
  3. Troubleshooting Options
  4. Enable ESXi Shell
  5. Enable SSH

图形化与命令行切换快捷键

1
2
3
4
# 切换至命令行 
Alt + F1
# 切换至图形化
Alt + F2

BIOS

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# 查找 BIOS 微码和 CPU 型号 
smbiosDump | more

[root@DESK-VIEW1:~] smbiosDump | more
Dumping live SMBIOS data!
BIOS Info: #0
Size: 0x00018
Vendor: "HP"
Version: "P66"
Date: "07/29/2013"
Start Address: 0xf0000
ROM Size: 8192 kB
Features: 0x0703000000007dc9da80
PCI supported
PnP supported
BIOS flashable
BIOS shadowing allowed
ESCD supported
CD boot supported
Selectable boot supported
EDD spec supported
360kB Floppy supported
1.2MB Floppy supported
720kB Floppy supported
Print Screen supported
8042 Keyboard Services supported
Serial Services supported
Printer Services supported
CGA/Mono Video supported
ACPI supported
USB Legacy supported
BIOS Boot Spec supported
F12 Network boot supported
Enable targeted content distribution
System Info: #256
Manufacturer: "HP"
Product: "ProLiant DL980 G7"
Serial: "SGH3301F85"
UUID: 35384631303333484753413135344d41
Wake-up: 0x06 (Power Switch)
Chassis Info: #768
Manufacturer: "Hewlett-Packard"
Serial: "SGH3301F85"
Type: 0x17 (Rack Mount Chassis)
Bootup State: 0x03 (Safe)
Power Supply State: 0x03 (Safe)
Thermal State: 0x03 (Safe)
Security Status: 0x02 (Unknown)
Processor Info: #1024
Payload length: 0x2a
Socket: "Proc 1 (Upper Tray, Processor 1)"
Socket Type: 0x1e (Socket LGA1567)
Socket Status: Populated
Type: 0x03 (CPU)
Family: 0xb3 (Xeon)
Manufacturer: "Intel"
Version: "Intel(R) Xeon(R) CPU E7- 2860 @ 2.27GHz"
Processor ID: 0xbfebfbff000206f2
Status: 0x01 (Enabled)
Voltage: 1.4 V
External Clock: 133 MHz
Max. Speed: 4800 MHz
Current Speed: 2267 MHz
L1 Cache: #1808
L2 Cache: #1824
L3 Cache: #1840
Core Count: #10
Core Enabled Count: #10
Thread Count: #20

RAID

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 查看 RAID 微码 
cat /proc/driver/hpsa/hpsa0

[root@DESK-VIEW1:~] cat /proc/driver/hpsa/hpsa0
hpsa0: HP Smart Array P410i Controller
Board ID: 0x3245103c
Firmware Version: 6.40
Driver Version: HP HPSA Driver (v 6.0.0.44-4vmw)
Driver Build: 01
IRQ: 45
Logical drives: 1
Current Q depth: 0
Current # commands on controller: 0
Max Q depth since init: 0
Max # commands on controller since init: 6
Max SG entries since init: 128
Max Commands supported: 1020
SCSI host number: 12
Offline volume monitoring: Not running

hpsa0/C12:B0:T0:L1 Direct-Access LOGICAL VOLUME 6.40 RAID 1(1+0)

NIC

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# 查看当前网卡列表 
vmkchdev -l | grep vmnic
# 查看某块网卡具体信息
ethtool -i vmnic0

[root@DESK-VIEW1:~] vmkchdev -l | grep vmnic
0000:04:00.0 4040:0100 103c:705a vmkernel vmnic0
0000:04:00.1 4040:0100 103c:705a vmkernel vmnic1
0000:04:00.2 4040:0100 103c:705a vmkernel vmnic2
0000:04:00.3 4040:0100 103c:705a vmkernel vmnic3
0000:54:00.0 14e4:1639 103c:7059 vmkernel vmnic4
0000:54:00.1 14e4:1639 103c:7059 vmkernel vmnic5
0000:57:00.0 14e4:1639 103c:7059 vmkernel vmnic6
0000:57:00.1 14e4:1639 103c:7059 vmkernel vmnic7
0000:5d:00.0 14e4:1639 103c:7059 vmkernel vmnic8
0000:5d:00.1 14e4:1639 103c:7059 vmkernel vmnic9
0000:60:00.0 14e4:1639 103c:7059 vmkernel vmnic10
0000:60:00.1 14e4:1639 103c:7059 vmkernel vmnic11
[root@DESK-VIEW1:~] ethtool -i vmnic0
driver: nx_nic
version: 5.0.621
firmware-version: 4.0.593
bus-info: 0000:04:00.0
[root@DESK-VIEW1:~] ethtool -i vmnic11
driver: bnx2
version: 2.2.4f.v60.10
firmware-version: bc 5.2.3
bus-info: 0000:60:00.1

# 使用 esxcli command 可以查看更多设备描述信息
esxcli network nic list
# 使用 esxcli 查看更加详细的网卡信息
esxcli network nic get -n vmnic0

[root@DESK-VIEW1:~] esxcli network nic list
Name PCI Device Driver Admin Status Link Status Speed Duplex MAC Address MTU Description
------- ------------ ------ ------------ ----------- ----- ------ ----------------- ---- ------------------------------------------------------------------------------------
vmnic0 0000:04:00.0 nx_nic Up Down 0 Full d8:9d:67:77:99:38 1500 NetXen HP NC375i Integrated Quad Port Multifunction Gigabit Server Adapter
vmnic1 0000:04:00.1 nx_nic Up Down 0 Full d8:9d:67:77:99:39 1500 NetXen HP NC375i Integrated Quad Port Multifunction Gigabit Server Adapter
vmnic10 0000:60:00.0 bnx2 Up Up 1000 Full 10:60:4b:a2:4a:90 1500 QLogic Corporation NC382T PCI Express Dual Port Multifunction Gigabit Server Adapter
vmnic11 0000:60:00.1 bnx2 Up Up 1000 Full 10:60:4b:a2:4a:92 1500 QLogic Corporation NC382T PCI Express Dual Port Multifunction Gigabit Server Adapter
vmnic2 0000:04:00.2 nx_nic Up Down 0 Full d8:9d:67:77:99:3a 1500 NetXen HP NC375i Integrated Quad Port Multifunction Gigabit Server Adapter
vmnic3 0000:04:00.3 nx_nic Up Down 0 Full d8:9d:67:77:99:3b 1500 NetXen HP NC375i Integrated Quad Port Multifunction Gigabit Server Adapter
vmnic4 0000:54:00.0 bnx2 Up Up 1000 Full 10:60:4b:a2:03:70 1500 QLogic Corporation NC382T PCI Express Dual Port Multifunction Gigabit Server Adapter
vmnic5 0000:54:00.1 bnx2 Up Up 1000 Full 10:60:4b:a2:03:72 1500 QLogic Corporation NC382T PCI Express Dual Port Multifunction Gigabit Server Adapter
vmnic6 0000:57:00.0 bnx2 Up Up 1000 Full 10:60:4b:a2:ca:08 1500 QLogic Corporation NC382T PCI Express Dual Port Multifunction Gigabit Server Adapter
vmnic7 0000:57:00.1 bnx2 Up Up 1000 Full 10:60:4b:a2:ca:0a 1500 QLogic Corporation NC382T PCI Express Dual Port Multifunction Gigabit Server Adapter
vmnic8 0000:5d:00.0 bnx2 Up Up 1000 Full 10:60:4b:a2:d9:bc 1500 QLogic Corporation NC382T PCI Express Dual Port Multifunction Gigabit Server Adapter
vmnic9 0000:5d:00.1 bnx2 Up Up 1000 Full 10:60:4b:a2:d9:be 1500 QLogic Corporation NC382T PCI Express Dual Port Multifunction Gigabit Server Adapter
[root@DESK-VIEW1:~] esxcli network nic get -n vmnic11
Advertised Auto Negotiation: true
Advertised Link Modes: 10baseT/Half, 10baseT/Full, 100baseT/Half, 100baseT/Full, 1000baseT/Full
Auto Negotiation: true
Cable Type: Twisted Pair
Current Message Level: 0
Driver Info:
Bus Info: 0000:60:00.1
Driver: bnx2
Firmware Version: bc 5.2.3
Version: 2.2.4f.v60.10
Link Detected: true
Link Status: Up
Name: vmnic11
PHYAddress: 1
Pause Autonegotiate: true
Pause RX: true
Pause TX: true
Supported Ports: TP
Supports Auto Negotiation: true
Supports Pause: true
Supports Wakeon: true
Transceiver: internal
Virtual Address: 00:50:56:54:71:e6
Wakeon: MagicPacket(tm)

HBA

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# 查看 HBA 卡驱动类型 
esxcfg-scsidevs -a
# 查找 HBA 卡具体驱动程序
vmkload_mod -s <HBADriver> | grep Version
vmkload_mod -s qlnativefc | grep Version
# 查看 HBA 卡供应商信息,便于之后确认 VMware 推荐 HBA 驱动
vmkchdev -l | grep vmhba2
000:0b:00.0 1077:2532 103c:3263 vmkernel vmhba2
Vendor ID(VID): 1077
Device ID(DID): 2532
Sub-Vendor ID(SVID): 103c
Sub-Device ID(SDID): 3263

[root@DESK-VIEW1:~] esxcfg-scsidevs -a
vmhba38 bnx2i unbound iscsi.vmhba38 QLogic NetXtreme II iSCSI Adapter
vmhba39 bnx2i unbound iscsi.vmhba39 QLogic NetXtreme II iSCSI Adapter
vmhba0 ata_piix link-n/a sata.vmhba0 (0000:00:1f.2) Intel Corporation ICH10 4 port SATA IDE Controller
vmhba1 hpsa link-n/a sas.500143802597a240 (0000:03:00.0) Hewlett-Packard Company Smart Array P410i
vmhba2 qlnativefc link-up fc.5001438024275201:5001438024275200 (0000:0b:00.0) QLogic Corp ISP2532-based 8Gb Fibre Channel to PCI Express HBA
vmhba3 qlnativefc link-n/a fc.5001438024275203:5001438024275202 (0000:0b:00.1) QLogic Corp ISP2532-based 8Gb Fibre Channel to PCI Express HBA
vmhba4 qlnativefc link-up fc.5001438024274bc1:5001438024274bc0 (0000:11:00.0) QLogic Corp ISP2532-based 8Gb Fibre Channel to PCI Express HBA
vmhba40 ata_piix link-n/a sata.vmhba40 (0000:00:1f.2) Intel Corporation ICH10 4 port SATA IDE Controller
vmhba5 qlnativefc link-n/a fc.5001438024274bc3:5001438024274bc2 (0000:11:00.1) QLogic Corp ISP2532-based 8Gb Fibre Channel to PCI Express HBA
vmhba32 bnx2i unbound iscsi.vmhba32 QLogic NetXtreme II iSCSI Adapter
vmhba33 bnx2i unbound iscsi.vmhba33 QLogic NetXtreme II iSCSI Adapter
vmhba34 bnx2i unbound iscsi.vmhba34 QLogic NetXtreme II iSCSI Adapter
vmhba35 bnx2i unbound iscsi.vmhba35 QLogic NetXtreme II iSCSI Adapter
vmhba36 bnx2i unbound iscsi.vmhba36 QLogic NetXtreme II iSCSI Adapter
vmhba37 bnx2i unbound iscsi.vmhba37 QLogic NetXtreme II iSCSI Adapter
[root@DESK-VIEW1:~] vmkload_mod -s qlnativefc | grep Version
Version: 2.1.50.0-1vmw.600.3.57.5050593
[root@DESK-VIEW1:~] vmkchdev -l | grep vmhba2
0000:0b:00.0 1077:2532 103c:3263 vmkernel vmhba2

# In ESXi 5.5 and later, you do not see native drivers in the /proc nodes. To view native driver information, run the command:
/usr/lib/vmware/vmkmgmt_keyval/vmkmgmt_keyval -a

[root@DESK-VIEW1:~] /usr/lib/vmware/vmkmgmt_keyval/vmkmgmt_keyval -a | more
Listing all system keys:
Key Value Instance: vmhba3/qlogic
Listing keys:
Name: ADAPTER
Type: string
value:
QLogic PCI to Fibre Channel Host Adapter for HPAJ764A:
FC Firmware version 8.02.00 (90d5), Driver version 2.1.50.0

Host Device Name vmhba3

BIOS version 3.13
FCODE version N/A
EFI version 6.15
Flash FW version 5.09.00
ISP: ISP2532, Serial# MY532922UB
MSI-X enabled
Request Queue = 0x430c04a9e000, Response Queue = 0x430c04abf000
Request Queue count = 2048, Response Queue count = 512
Number of response queues for CPU affinity operation: 8
CPU Affinity mode enabled

IO Devices

登录 VMware Compatibility Guide 选择查找内容中的 IO Devices
https://www.vmware.com/resources/compatibility/search.php

在右侧可以选择匹配 VID/DID/SVID/Max SSID 信息,输入上述案例中的 DL980 的 HBA 卡信息则可以得到更加精确的结果,1077:2532 103c:3263

ESXi

1
2
3
# 查看 ESXi 版本 
[root@DESK-VIEW1:~] vmware -v
VMware ESXi 6.0.0 build-5572656

vm-support

如果需要做应急处置,直接使用 vm-support 命令收集打包交付给 VMware 工程师分析也会包含上述硬件微码信息

“vm-support” command in ESX/ESXi to collect diagnostic information (1010705)
https://kb.vmware.com/kb/1010705

文章目录
  1. 1. 前言
  2. 2. 更新历史
  3. 3. VMware 兼容性检查概述
    1. 3.1. VMware Compatibility Guide
    2. 3.2. VMware Lifecycle Product Matrix
    3. 3.3. VMware Product Interoperability Matrices
    4. 3.4. Firmware
  4. 4. ESXi 兼容性信息收集
    1. 4.1. 基础配置
    2. 4.2. BIOS
    3. 4.3. RAID
    4. 4.4. NIC
    5. 4.5. HBA
    6. 4.6. IO Devices
    7. 4.7. ESXi
    8. 4.8. vm-support