两种方式将硬盘直接直通给内部虚拟机。
RDM直通
通过RDM(Raw Device Mapping)方式,将磁盘映射为本地VMDK,随后虚拟机引用该vmdk以达到“硬盘直通”的效果。
优点:不需要增加硬件和修改任何配置文件,配置较为方便,虚拟机直接添加对应vmdk即可;
缺点:若需要调整分区或增删硬盘则需要重新映射较为麻烦,同时虚拟机内部无法获得硬盘的SMART信息。
- 打开DCUI控制台,左侧导航栏选择“存储”-“设备”,点进你想直通的硬盘。
- 此时记录下其中的“路径”信息,这里我们叫它“路径1”。
注意,这里的路径有可能是不全的,可以鼠标悬停在路径上查看完整路径,也可以按照如下格式补全路径:1
2
3
4
5
6
7/vmfs/devices/disks/<硬盘标识符>
# 例如:
/vmfs/devices/disks/t10.ATA_____ST3500413AS_________________________________________5VMQDMFJ
# 或者多块同型号硬盘有序号:
/vmfs/devices/disks/t10.NVMe____HP_SSD_EX900_250GB______________________0000000000000001:1
/vmfs/devices/disks/t10.NVMe____HP_SSD_EX900_250GB______________________0000000000000001:2 - 打开DCUI控制台,左侧导航栏选择“存储”-“数据存储”,点进你想存储映射文件的VMFS中。
- 记录下下方的“位置”信息,这里我们叫它“路径2”。
- 用SSH登入ESXi主机,执行如下命令:举例:
1
vmkfstools -z <路径1> <路径2>/<映射文件名称>.vmdk
1
vmkfstools -z /vmfs/devices/disks/t10.ATA_____ST3500413AS_________________________________________5VMQDMFJ /vmfs/volumes/4a74dda2-9885ac31-306b-9ab817b7bc10/DiskVault/seagate0.vmdk
- 在虚拟机中添加对应生成的vmdk文件即可。
PCIE直通
将硬盘所在的控制器直接直通到虚拟机内部,就相当于将该控制器下挂的所有硬盘直通到了虚拟机里面。
优点:可以将所有硬盘直通到虚拟机内,无需多次映射;对硬盘的更改相对虚拟机来说也较为无感(无需重映射);虚拟机内可以获得硬盘的SMART信息。
缺点:如果对控制器直通,会对整个控制器下的所有硬盘映射,无法单独操作某块硬盘;需要修改ESXi系统配置文件;部分不支持SMART信息;需要虚拟机提前占用全部内存。
注意,该功能需要主机CPU支持Direct IO(或者叫VT-d),如果不支持的话即便按照了本文的方法操作,也不会成功。
- 通过ssh连接到ESXi主机。
- 打开DCUI控制台,左侧导航栏选择“管理”-“硬件”-“PCI设备”,点击对应的控制器。
- 记录下下方的
设备 ID
和供应商 ID
。 - 编辑
/etc/vmware/passthru.map
文件,在该文件最后一行添加:例如:1
<供应商ID> <设备ID> d3d0 default
1
8086 9215 d3d0 default
- 保存后重启ESXi主机,随后回到刚才的PCI设备界面,切换(开启)直通。
- 设置虚拟机,添加PCI设备,选择刚才映射进去的控制器,然后预留全部内存即可。