配置IOMMU模式為Passthrough以提升設(shè)備直通的效率
IOMMU(Input-Output Memory Management Unit)是一種硬件技術(shù),旨在將不同設(shè)備映射到不同內(nèi)存區(qū)域,從而實(shí)現(xiàn)設(shè)備之間的內(nèi)存隔離,確保系統(tǒng)安全性。將IOMMU配置為Passthrough模式可以實(shí)現(xiàn)硬件直通,使虛擬機(jī)能夠直接訪問物理設(shè)備,從而提升虛擬化環(huán)境中設(shè)備直通的效率。該技術(shù)在圖形處理、機(jī)器學(xué)習(xí)、游戲服務(wù)器等多個領(lǐng)域得到了廣泛應(yīng)用。
使用限制
資源類型:物理機(jī)或具備物理機(jī)功能的服務(wù)器(例如彈性裸金屬服務(wù)器),且操作系統(tǒng)為Alibaba Cloud Linux。
操作系統(tǒng):
Alibaba Cloud Linux 3:主版本號為5.10的內(nèi)核。
Alibaba Cloud Linux 2:主版本號為4.19的內(nèi)核。
配置方式
您可以根據(jù)所使用的操作系統(tǒng)選擇相應(yīng)的方法進(jìn)行配置。
Alibaba Cloud Linux 3
設(shè)置IOMMU模式為Passthrough。
sudo grubby --update-kernel=/boot/vmlinuz-$(uname -r) --args="NEW_PARAMETER"
NEW_PARAMETER
需根據(jù)系統(tǒng)架構(gòu),選擇相應(yīng)的參數(shù)進(jìn)行替換,參數(shù)取值如下(可任選一種方式):架構(gòu)
參數(shù)值(方式一)
參數(shù)值(方式二)
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
例如,您當(dāng)前系統(tǒng)架構(gòu)為x86(Intel),采用方式二的參數(shù)值,則需運(yùn)行的命令為:
sudo grubby --update-kernel=/boot/vmlinuz-$(uname -r) --args="intel_iommu=on iommu.passthrough=1"
重啟服務(wù)使配置生效。
sudo reboot
查看IOMMU配置后的模式。
dmesg | grep -i iommu
結(jié)果如下圖所示,表明成功配置了IOMMU模式為Passthrough。
Alibaba Cloud Linux 2
設(shè)置IOMMU模式為Passthrough。
sudo grubby --update-kernel=/boot/vmlinuz-$(uname -r) --args="NEW_PARAMETER"
NEW_PARAMETER
需根據(jù)系統(tǒng)架構(gòu),選擇相應(yīng)的參數(shù)進(jìn)行替換,參數(shù)取值如下:架構(gòu)
參數(shù)值
x86(intel)
intel_iommu=on iommu=pt
x86(amd)
iommu=pt
arm64
iommu.passthrough=1 iommu.strict=0
例如,您當(dāng)前系統(tǒng)架構(gòu)為x86(Intel),則需運(yùn)行的命令為:
sudo grubby --update-kernel=/boot/vmlinuz-$(uname -r) --args="intel_iommu=on iommu=pt"
重啟服務(wù)使配置生效。
sudo reboot
查看IOMMU配置后的模式。
dmesg |grep -i pass
結(jié)果如下圖所示,表明成功配置了IOMMU模式為Passthrough。