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.重启服务器
当你看到以上图片就代表已经成功了。