文档

配置IOMMU模式为Passthrough以提升设备直通的效率

更新时间:

IOMMU(输入输出内存管理单元)是一种硬件技术,旨在将不同设备映射到不同内存区域,从而实现设备之间的内存隔离,确保系统安全性。将IOMMU配置为Passthrough模式可以实现硬件直通,使虚拟机能够直接访问物理设备,从而提升虚拟化环境中设备直通的效率。该技术在图形处理、机器学习、游戏服务器等多个领域得到了广泛应用。

使用限制

  • 资源类型:物理机或具备物理机功能的服务器(例如弹性裸金属服务器),且操作系统为Alibaba Cloud Linux。

  • 操作系统:

    • Alibaba Cloud Linux 3:主版本号为5.10的内核。

    • Alibaba Cloud Linux 2:主版本号为4.19的内核。

配置方式

您可以根据所使用的操作系统选择相应的方法进行配置。

Alibaba Cloud Linux 3

  1. 设置IOMMU模式为Passthrough。

    sudo grubby --update-kernel=/boot/vmlinuz-$(uname -r) --args="NEW_PARAMETER"

    NEW_PARAMETER需根据系统架构,选择相应的参数进行替换,参数取值如下(可任选一种方式):

    架构

    参数值(方式一)

    参数值(方式二)

    x86(intel)

    intel_iommu=on iommu=pt

    intel_iommu=on iommu.passthrough=1

    x86(amd)

    iommu=pt

    iommu.passthrough=1

    arm64

    iommu.passthrough=1 iommu.strict=0

    例如,您当前系统架构为x86(Intel),采用方式二的参数值,则需运行的命令为:

    sudo grubby --update-kernel=/boot/vmlinuz-$(uname -r) --args="intel_iommu=on iommu.passthrough=1"
  2. 重启服务使配置生效。

    sudo reboot
  3. 查看IOMMU配置后的模式。

    dmesg | grep -i iommu

    结果如下图所示,表明成功配置了IOMMU模式为Passthrough。

    image

Alibaba Cloud Linux 2

  1. 设置IOMMU模式为Passthrough。

    sudo grubby --update-kernel=/boot/vmlinuz-$(uname -r) --args="NEW_PARAMETER"

    NEW_PARAMETER需根据系统架构,选择相应的参数进行替换,参数取值如下:

    架构

    参数值

    x86(intel)

    intel_iommu=on iommu=pt

    x86(amd)

    iommu=pt

    arm64

    iommu.passthrough=1 iommu.strict=0

    例如,您当前系统架构为x86(Intel),则需运行的命令为:

    sudo grubby --update-kernel=/boot/vmlinuz-$(uname -r) --args="intel_iommu=on iommu=pt"
  2. 重启服务使配置生效。

    sudo reboot
  3. 查看IOMMU配置后的模式。

    dmesg |grep -i pass

    结果如下图所示,表明成功配置了IOMMU模式为Passthrough。

    image