1.修改kernel GRUB_CMDLINE_LINUX_DEFAULT,编辑/etc/default/grub,添加如下:
intel_iommu=on ## intel cpu 添加这个
amd_iommu=on ##amd cpu添加这个
iommu=pt ##如果直通后需要使用到dpdk 添加这个可提高性能
运行以下命令更新kernel :
update-grub2
查看iommu分组情况:
lspci ## 查看设备pci地址
dmesg|grep iommu ##查看对应pci地址分组情况
如果多个设备iommu分组是一个数字,则在/etc/default/grub 的GRUB_CMDLINE_LINUX_DEFAULT添加如下:
pcie_acs_override=downstream
##添加完以上内容后还需要执行 update-grub2 来更新内核参数
2.添加直通驱动模块,编辑/etc/modules 添加如下内容:
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
运行以下命令更新module:
update-initramfs -u -k all
3.直通显卡所需要的设置
首先执行查看对应直通设备的vid和pid,如下:
$ lspci -n -s 01:00 ##pci地址自行lspci查看
01:00.0 0300: 10de:1381 (rev a2) ##VID PID为 10de:1381
01:00.1 0403: 10de:0fbc (rev a1) ##VID PID为 10de:0fbc
将以上vid pid传入/etc/modprobe.d/vfio.conf
echo "options vfio-pci ids=10de:1381,10de:0fbc" > /etc/modprobe.d/vfio.conf
##以上的命令是为对应设备添加vfio-pci驱动 好让设备通过此驱动直通至虚拟机
设置禁止加载的驱动名称,直通需要将设备原本加载的驱动禁止,如下:
echo "blacklist radeon" >> /etc/modprobe.d/blacklist.conf
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
echo "blacklist nvidia" >> /etc/modprobe.d/blacklist.conf
###以上 radeon 这个名称可通过lspci -v查看设备默认使用的内核驱动模块名称
更新modprobe,命令行输入以下:
update-initramfs -u -k all
至此直通教程结束,此教程适用任何使用linux系统kvm模块的虚拟平台。
评论 (0)