IOMMU(输入输出内存管理单元)是一种硬件技术,旨在将不同设备映射到不同内存区域,从而实现设备之间的内存隔离,确保系统安全性。将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。