PVE硬盘直通

时间:2024-4-21    作者:DOG    分类:


1、打开PVE节点的shell,输入命令:
nano /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet"

inter cpu改为:

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"

如果是amd cpu请改为:

GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt"
编辑完文件后按 【 Ctrl + X 】 【 Y 】 回车

2.在PVE的shell中输入:
nano /etc/modules
在文件下面添加新内容
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd


echo vfio >> /etc/modules
echo vfio_iommu_type1 >> /etc/modules
echo vfio_pci >> /etc/modules
echo vfio_virqfd >> /etc/modules


3.更新重启
update-grub
update-initramfs -u -k all
reboot

4、验证是否开启iommu,在终端输入

dmesg | grep iommu
出现如下例子。则代表成功

[ 1.341100] pci 0000:00:00.0: Adding to iommu group 0
[ 1.341116] pci 0000:00:01.0: Adding to iommu group 1
[ 1.341126] pci 0000:00:02.0: Adding to iommu group 2
[ 1.341137] pci 0000:00:14.0: Adding to iommu group 3
[ 1.341146] pci 0000:00:17.0: Adding to iommu group 4

执行命令:
find /sys/kernel/iommu_groups/ -type l

出现很多直通组,就代表成功了。如果没有任何东西,就是没有开启

/sys/kernel/iommu_groups/4/devices/0000:00:12.0
/sys/kernel/iommu_groups/22/devices/0000:07:00.0
/sys/kernel/iommu_groups/12/devices/0000:00:1d.0
/sys/kernel/iommu_groups/2/devices/0000:00:01.2
/sys/kernel/iommu_groups/2/devices/0000:02:00.0
/sys/kernel/iommu_groups/2/devices/0000:00:01.0
/sys/kernel/iommu_groups/20/devices/0000:06:02.0
/sys/kernel/iommu_groups/10/devices/0000:00:1c.0
/sys/kernel/iommu_groups/0/devices/0000:00:02.0
/sys/kernel/iommu_groups/19/devices/0000:06:01.0
/sys/kernel/iommu_groups/9/devices/0000:00:1b.0

5.添加硬盘直通
查看硬盘识别码
ls -la /dev/disk/by-id/|grep -v dm|grep -v lvm|grep -v part

直通命令格式
qm set 虚拟机ID --磁盘类型(序号) /dev/disk/by-id/硬盘识别码
磁盘类型:sata,scsi,ide
For example:
qm set 103 --sata5 /dev/disk/by-id/ata-ST500DM002-1BD142_W2AFH5QL
qm set 103 --sata4 /dev/disk/by-id/ata-ST500DM002-1ER14C_Z4X0A1CM