FNOS虚拟机开启IOMMU
更新日期:2025年11月5日
简介
IOMMU(Input/Output Memory Management Unit,输入输出内存管理单元)是一种硬件技术,允许虚拟机直接访问物理硬件设备,如显卡、网卡等。在飞牛(FNOS)虚拟机中开启IOMMU可以实现硬件直通功能,提升虚拟机性能,特别是对于需要GPU加速的应用场景。
本文档将详细介绍在飞牛(FNOS)虚拟机中开启IOMMU的完整步骤,包括BIOS设置、系统配置和验证方法。
参考资料
开启IOMMU步骤
1. BIOS/UEFI设置
首先需要在主板的BIOS/UEFI中开启虚拟化支持和IOMMU功能:
- 重启电脑,进入BIOS/UEFI设置界面(通常按Del、F2或F12键)
- 找到以下选项并启用:
- Intel VT-x 或 AMD-V(虚拟化技术)
- Intel VT-d 或 AMD-Vi(IOMMU技术)
- SR-IOV(单根I/O虚拟化,如可用)
- 保存设置并重启电脑
2. FNOS系统配置
2.1 修改GRUB配置
- 通过SSH或终端登录FNOS系统
- 编辑GRUB配置文件:
1 | sudo nano /etc/default/grub |
- 找到
GRUB_CMDLINE_LINUX_DEFAULT行,添加以下参数:
对于Intel CPU:
1
intel_iommu=on iommu=pt
对于AMD CPU:
1
amd_iommu=on iommu=pt
完整示例:
1 | GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt" |
2.2 更新GRUB并重启
1 | # 更新GRUB配置 |
3. 验证IOMMU是否启用
系统重启后,可以看到如图所示:

或者使用以下命令验证IOMMU是否成功启用:
1 | # 检查IOMMU是否启用 |
如果输出中包含DMAR: IOMMU enabled或类似信息,表示IOMMU已成功启用。
4. 虚拟机配置
4.1 创建支持IOMMU的虚拟机
- 登录FNOS管理界面
- 创建新的虚拟机时,确保选择以下选项:
- 机器类型:q35
- 启用PCIe设备支持
4.2 添加硬件直通设备
- 在虚拟机设置中,选择”添加设备”
- 选择”PCI设备”
- 从列表中选择要直通的硬件设备(如显卡、网卡等)
- 保存设置并启动虚拟机
5. 虚拟机内部配置(可选)
如果直通的是显卡,可能需要在虚拟机内部安装相应的驱动程序:
1 | # 对于NVIDIA显卡,下载并安装驱动 |
常见问题
1. IOMMU启用后系统无法启动
解决方案:
- 检查BIOS设置是否正确
- 确认CPU和主板是否支持IOMMU
- 尝试使用更保守的IOMMU参数
2. 设备直通后虚拟机无法识别
解决方案:
- 确认设备未被主机系统占用
- 检查设备的IOMMU分组
- 尝试使用不同的PCI插槽
3. 性能不佳
优化建议:
- 确保设备处于独立的IOMMU组
- 调整虚拟机的CPU和内存分配
- 使用virtio驱动程序
注意事项
- 不是所有硬件都支持IOMMU,请检查主板和CPU规格
- IOMMU分组可能影响设备直通,某些设备可能无法单独直通
- 直通显卡后,主机系统将无法使用该显卡
- 建议在进行硬件直通前备份重要数据
- 某些设备可能需要额外的内核模块或配置
总结
通过以上步骤,您应该能够在飞牛(FNOS)虚拟机中成功开启IOMMU功能,实现硬件直通。这将显著提升虚拟机的性能,特别是对于需要GPU加速或高性能网络的应用场景。如遇到问题,可参考常见问题部分或查阅相关技术文档。
- Title:
- Author: 清夏晚风
- Created at : 2026-01-13 16:48:23
- Updated at : 2026-01-13 16:48:23
- Link: https://blog.kimikkorow.eu.org/数据存储相关/磁盘阵列技术/NAS系统/飞牛(FNOS)/fnos虚拟机开启IOMMU/
- License: This work is licensed under CC BY-NC-SA 4.0.