背景

因为只有一台服务器,服务器没有配备阵列卡。于是决定直通芯片组板载SATA控制器到虚拟机,然后通过NAS系统虚拟机建立储存池,然后通过iscsi的方式连接到ESXi主机以储存虚拟机的硬盘。我的主板是C610/X99系列的,其他intel主板大同小异。

坑 一

在直通前请确保板载SATA端口有连接硬盘。如果没有连接,ESXi可能会彻底忽略掉这个设备(也就是在web client下的主机-管理-硬件-pci设备看不到)。

坑 二

因为要直通,所以ESXi系统盘不能装在板载SATA控制器上。这时候你要注意了,如果你使用的是SATA扩展卡,需要注意ESXi有没有你扩展卡芯片的驱动。否则将不认盘。我购买的是marvell 9215芯片的,ESXi 6.0就不认。

坑 三

亲身经历,同时据Chiphell等论坛,ESXi 6.7没有办法直通板载SATA设备(灰色)。原因不明,有可能是VMware官方限制导致。


为了直通板载SATA控制器,重装了不下五次ESXi系统。

操作步骤

1.在vSphere Web Client 打开主机SSH。

主机-操作-服务-启用安全Shell(SSH)

2.使用SSH客户端连接你的主机,输入命令

lspci -v | grep "Class 0106" -B 1

你会看到

1
2
3
4
50000:00:1f.2 SATA controller Mass storage controller: Intel Corporation Wellsburg AHCI Controller [vmhba0]
         Class 0106: 8086:8d02--0000:0b:00.0 SATA controller Mass storage controller:   [vmhba1]
         Class 0106: 1b4b:9215

其中第一个就是板载的SATA控制器,第二个为我的SATA扩展卡。

3.修改passthru.map

使用WINSCP打开/etc/vmware/passthru.map
或者 vi /etc/vmware/passthru.map
在文件末尾增加

#Intel Corporation Lynx Point AHCI Controller
8086 8d02 d3d0 false

注意:不同的芯片组可能会有不同。请将8d02更改为第一步在终端看到的硬件ID。

4.重启服务器

重启后,右键SATA控制台,设置为直通,再次重启。
ESXi 6.5 直通板载 SATA控制器_第1张图片

当你看到以上图片就代表已经成功了。

【https://hywlovexyc.info/blog/archives/422/】