在ubuntu 16.04 x86环境GPU passthrough 给KVM用
声明
摘要
最近需要搭建一个环境,需要将物理机的gpu卡映射到kvm中使用。也就是passthrough上网查了一下资料,终于实现。主要是在grub中添加 intel_iommu=on
试验环境
Ubuntu 16.04.4 LTS x86_64 GPU , Tesla K80
查找机器先用GPU设备
通过命令查看,可见我的机器目前有4个GPU设备
lspci | grep NVIDIA 83:00.0 3D controller: NVIDIA Corporation GK210GL [Tesla K80] (rev a1) 84:00.0 3D controller: NVIDIA Corporation GK210GL [Tesla K80] (rev a1) 87:00.0 3D controller: NVIDIA Corporation GK210GL [Tesla K80] (rev a1) 88:00.0 3D controller: NVIDIA Corporation GK210GL [Tesla K80] (rev a1)
更新系统grub
在grub中添加intel_iommu=on 信息,然后执行更新命令
cat /etc/default/grub | grep intel_iommu GRUB_CMDLINE_LINUX="intel_iommu=on" sudo update-grub
重启机器 查看效果
reboot dmesg | grep -e DMAR -e IOMMU DMAR: IOMMU enabled
在重启机器后,我们发现 IOMMU 功能已经enable, 这时候我们就可以给kvm添加pci设备
注意
物理机不要安装nvidia的驱动,否则驱动会绑定pci设备,导致kvm部分绑定
总结
有时间还是要整理自己验证过的东西,方便大家参考,同时也是为了更好的表达信息。