IOMMU(Input-Output Memory Management Unit)是一种硬件技术,旨在将不同设备映射到不同内存区域,从而实现设备之间的内存隔离,确保系统安全性。将IOMMU配置为Passthrough模式可以实现硬件直通,使虚拟机能够直接访问物理设备,从而提升虚拟化环境中设备直通的效率。该技术在图形处理、机器学习、游戏服务器等多个领域得到了广泛应用。
使用限制
- 资源类型:物理机或具备物理机功能的服务器(例如弹性裸金属服务器),且操作系统为Alibaba Cloud Linux。 
- 操作系统: - Alibaba Cloud Linux 3:主版本号为5.10的内核。 
- Alibaba Cloud Linux 2:主版本号为4.19的内核。 
 
配置方式
您可以根据所使用的操作系统选择相应的方法进行配置。
Alibaba Cloud Linux 3
- 设置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"
- 重启服务使配置生效。 - sudo reboot
- 查看IOMMU配置后的模式。 - dmesg | grep -i iommu- 结果如下图所示,表明成功配置了IOMMU模式为Passthrough。  
Alibaba Cloud Linux 2
- 设置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"
- 重启服务使配置生效。 - sudo reboot
- 查看IOMMU配置后的模式。 - dmesg |grep -i pass- 结果如下图所示,表明成功配置了IOMMU模式为Passthrough。 