技术,虚拟化

ESXi6.5直通板载SATA控制器

背景

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

esxi系统安装在marvell 9215芯片上的一个SSD磁盘。

坑 一

在直通前请确保板载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  

你会看到

0000: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

其中8086是PCIE设备的供应商ID,8d02是PCIE设备的设备ID。

# file format: vendor-id device-id resetMethod fptShareable
# vendor/device id: xxxx (in hex) (ffff can be used for wildchar match)
# reset methods: flr, d3d0, link, bridge, default
# fptShareable: true/default, false

这些信息可以在第二步获取
注意:不同的芯片组可能会有不同。

4.重启服务器

重启后,右键SATA控制台,设置为直通,再次重启。
esxisata.jpg

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

如果无法显示评论,请针对disqus.com启用代理

This is just a placeholder img.