如何使用虚拟机硬件直通?
硬件直通是一种虚拟化技术,它允许虚拟机直接访问宿主机上的物理硬件设备,而不是通过虚拟化层进行仿真。这样,虚拟机可以直接控制硬件,从而获得更高的性能和更低的延迟,常见场景包括但不限于:
- 显卡直通:支持物理显示器输出,提升图形处理性能;
- 声卡直通:实现音响或耳机的高质量音频输出;
- USB设备直通:便于读取USB存储设备或连接其他USB设备;
- 网卡直通:满足网络加速和复杂的家庭组网需求。
【硬件直通的风险和限制】
硬件直通可能带来一定风险和限制,错误配置可能导致设备冲突或系统崩溃。在操作前,请充分了解以下风险,包括且不限于:
- 存储直通风险:错误直通SATA、NVMe或USB存储设备可能损坏宿主机上的数据,且不可逆,请务必提前备份;
- 网卡直通风险:请确保宿主机保留可用网卡,否则可能导致宿主机网络中断,造成不可访问的情况;
- 显卡直通风险:直通显卡成功率并不高,且有可能造成宿主机崩溃,需谨慎操作。
不建议非专业用户尝试硬件直通操作。如需操作,请做好保障准备,包括且不限于提前备份重要数据、停止依赖对应硬件的服务、稳定前避免勾选虚拟机开机自启动。
【硬件直通的复杂性和成功率】
直通 PCI 设备有一定的前置工作,用户需自行执行以下直通配置步骤,包括且不限于:
- 在宿主机的 BIOS 设置中启用 VT-x(Intel)/ AMD-V(AMD)及 IOMMU(Intel VT-d / AMD-Vi)等硬件虚拟化支持
- 在宿主机的 GRUB 配置中声明开启 IOMMU, 更新 GRUB 配置,重启并验证
- 在宿主机配置禁止所直通设备的驱动加载,以避免宿主机竞争设备资源,包括但不限于 vfio, blacklist 等模块
- 在宿主机为设备分配合适的 IOMMU 分组,确保资源隔离性
同时能否直通成功取决于多个因素,一般失败的原因包括但不限于:
- 硬件兼容性: 部分老旧或不兼容的设备可能无法进行直通
- 系统兼容性: 虚拟机上运行的操作系统或版本可能不完全支持硬件直通
- 资源竞争: 宿主机和虚拟机之间存在对应设备的资源竞争,可能导致宿主机或虚拟机崩溃
- 驱动兼容性: 硬件设备的驱动程序无法在虚拟机中正确工作,导致直通成功但无法使用
相比之下,直通 USB 设备虽然没有前置工作,但仍需谨慎操作,避免损坏 USB 存储设备中的数据。
1.开启硬件直通选项
打开虚拟机应用,在侧边栏点击 硬件,找到 硬件直通选项 的 开启 按钮,在仔细阅读 《硬件直通技术免责声明》 后, 点击 确认开启 。
2.虚拟机配置硬件直通
在创建虚拟机或编辑虚拟机界面, 添加设备 按钮在 硬件直通选项 开启后便激活可点击。
1. 添加 USB 设备
点击 添加硬件 按钮,点击 添加 USB 设备
然后,您将看到当前宿主机上的所有 USB 设备,选择需要直通给当前虚拟机的 USB 设备,点击 添加 按钮。
最后,点击 确定 按钮保存,然后便可启动虚拟机验证直通效果。
2.添加 PCI 设备
点击 添加硬件 按钮,点击 添加 PCI 设备
然后,您将看到当前宿主机上的所有 PCI 设备,在列表中选择需要直通给当前虚拟机的 PCI 设备,然后点击右下角的 选择 按钮
由于 PCI 设备根据 IOMMU 分组进行内存隔离,所以直通时需要将同一 IOMMU 分组的 PCI 设备一并直通,确认无误后可点击 添加 按钮。
最后,点击 确定 按钮保存,然后便可启动虚拟机验证直通效果。
3.虚拟机详细日志指引
由于多方面因素影响,虚拟机可能启动失败,可在日志中查询相关详细原因。
日志路径:/var/apps/trim.vm/var/log/error.log
也可拷贝 Debug Log到文件管理