Esxi7.0同时支持硬件直通和CPU嵌套虚拟化的方法

环境

系统:Esxi 7.0 u2 直通硬件:Nvidia Tesla M40 24GB

实现

注: 直通显卡和设置嵌套虚拟化顺序没有要求,宿主机修改config只需要修改一次。虚拟机的配置则需要每个需要硬件直通和CPU嵌套虚拟化的虚拟机都要做。

1.先Esxi直通显卡到虚拟机,打开电源可能显示DevicePowerOn错误

解决方法
虚拟机配置-高级-配置参数
添加

1
2
pciPassthru.use64bitMMIO=TRUE
pciPassthru.64bitMMIOSizeGB=64

注意: MMIOSize设置的数值要>=虚拟机分配的所有GPU显存大小的两倍,并且为2的整数次幂。
例: 2^4=16 < 2 * 24,2^5=32 < 2 * 24,而 2^6=64 > 2 * 24.

2.设置强制开启CPU嵌套虚拟化

1.SSH进入宿主机,打开编辑

1
2
3
vi /etc/vmawe/config
#最后一行添加
vhv.enable="TRUE"

完成后重启宿主机。

2.添加有需求的虚拟机的配置参数

1
vhv.allowPassthru=TRUE

保存后,配置中CPU下的虚拟化是选中的。

3.打开虚拟机进行测试。

弊端

注意:在/etc/vmawe/config下添加完虚拟化后 vSphere 集群服务虚拟机 vCLS 无法启动
提示如下:
! 功能“bad_requirement:hv.capable”为 0,但它必须至少为 1。 无法启动虚拟机。
去掉/etc/vmawe/config的虚拟化配置后可正常启动

问题:
https://communities.vmware.com/t5/VMware-vSphere-Discussions/vCLS-won-t-start/td-p/2834744