清夏晚风

FNOS虚拟机开启IOMMU

更新日期:2025年11月5日

简介

IOMMU(Input/Output Memory Management Unit,输入输出内存管理单元)是一种硬件技术,允许虚拟机直接访问物理硬件设备,如显卡、网卡等。在飞牛(FNOS)虚拟机中开启IOMMU可以实现硬件直通功能,提升虚拟机性能,特别是对于需要GPU加速的应用场景。

本文档将详细介绍在飞牛(FNOS)虚拟机中开启IOMMU的完整步骤,包括BIOS设置、系统配置和验证方法。

参考资料

  1. 飞牛官方论坛 - 虚拟机开启IOMMU教程

开启IOMMU步骤

1. BIOS/UEFI设置

首先需要在主板的BIOS/UEFI中开启虚拟化支持和IOMMU功能:

  1. 重启电脑,进入BIOS/UEFI设置界面(通常按Del、F2或F12键)
  2. 找到以下选项并启用:
    • Intel VT-x 或 AMD-V(虚拟化技术)
    • Intel VT-d 或 AMD-Vi(IOMMU技术)
    • SR-IOV(单根I/O虚拟化,如可用)
  3. 保存设置并重启电脑

2. FNOS系统配置

2.1 修改GRUB配置

  1. 通过SSH或终端登录FNOS系统
  2. 编辑GRUB配置文件:
1
sudo nano /etc/default/grub
  1. 找到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
2
3
4
5
6
# 更新GRUB配置
sudo update-grub
sudo update-initramfs -u -k all

# 重启系统使配置生效
sudo reboot

3. 验证IOMMU是否启用

系统重启后,可以看到如图所示:

fnos虚拟机硬件选项

或者使用以下命令验证IOMMU是否成功启用:

1
2
3
4
5
# 检查IOMMU是否启用
dmesg | grep -i "iommu"

# 查看IOMMU分组信息
find /sys/kernel/iommu_groups/ -name "devices" -exec sh -c 'echo "Group $(basename $(dirname {})):"; ls -l {};' \;

如果输出中包含DMAR: IOMMU enabled或类似信息,表示IOMMU已成功启用。

4. 虚拟机配置

4.1 创建支持IOMMU的虚拟机

  1. 登录FNOS管理界面
  2. 创建新的虚拟机时,确保选择以下选项:
    • 机器类型:q35
    • 启用PCIe设备支持

4.2 添加硬件直通设备

  1. 在虚拟机设置中,选择”添加设备”
  2. 选择”PCI设备”
  3. 从列表中选择要直通的硬件设备(如显卡、网卡等)
  4. 保存设置并启动虚拟机

5. 虚拟机内部配置(可选)

如果直通的是显卡,可能需要在虚拟机内部安装相应的驱动程序:

1
2
3
4
# 对于NVIDIA显卡,下载并安装驱动
# 对于AMD显卡,安装开源驱动
sudo apt update
sudo apt install linux-firmware

常见问题

1. IOMMU启用后系统无法启动

解决方案:

  • 检查BIOS设置是否正确
  • 确认CPU和主板是否支持IOMMU
  • 尝试使用更保守的IOMMU参数

2. 设备直通后虚拟机无法识别

解决方案:

  • 确认设备未被主机系统占用
  • 检查设备的IOMMU分组
  • 尝试使用不同的PCI插槽

3. 性能不佳

优化建议:

  • 确保设备处于独立的IOMMU组
  • 调整虚拟机的CPU和内存分配
  • 使用virtio驱动程序

注意事项

  1. 不是所有硬件都支持IOMMU,请检查主板和CPU规格
  2. IOMMU分组可能影响设备直通,某些设备可能无法单独直通
  3. 直通显卡后,主机系统将无法使用该显卡
  4. 建议在进行硬件直通前备份重要数据
  5. 某些设备可能需要额外的内核模块或配置

总结

通过以上步骤,您应该能够在飞牛(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.