1.开启硬件直通

启动内核IOMMU支持

打开PVE节点的shell,输入命令:

nano /etc/default/grub

将GRUB_CMDLINE_LINUX_DEFAULT="quiet"修改为

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"

修改完成之后更新grub

update-grub

加载内核模块

nano /etc/modules

添加以下模块

vfio

vfio_iommu_type1

vfio_pci

vfio_virqfd

验证IOMMU是否开启成功

重启之后,在命令行输入以下命令:

dmesg | grep iommu

若有如类似于下图回显,则说明开启成功:

img

再输入:

find /sys/kernel/iommu_groups/ -type l

如果有类似于下图回显,就代表成功:

img

2.PVE无法关闭虚拟机解决办法

最近遇到一台VM假死,服务器连不上,通过PVE VNC也无法进入,尝试通过PVE点关机和重启都没反应,并且出现如下错误:

TASK ERROR: VM quit/powerdown failed - got timeout

解决办法

通过ps命令查到对应VM的进程:

#将101换成你自己虚拟机的VM ID
ps -ef|grep "/usr/bin/kvm -id 101"|grep -v grep

xiaoz这里查找到的进程ID是20582

img
将这个进程杀掉:

kill 20582

再回到PVE界面,可以看到101这个虚拟机已经停止了。

img

通过PVE界面重新开启此虚拟机或者通过下面的命令启动也可以:

#101改成你自己的VM ID
qm start 101

最后问题解决,但根本原因还是没查到。

3.PVE创建虚拟机安装img镜像文件

上传镜像

2023-04-21T07:55:56.png

2023-04-21T07:56:17.png

上传完后获得文件路径

/var/lib/vz/template/iso/DS3615xs.img

创建虚拟机

2023-04-21T07:57:00.png

记住这个ID等下要用到

2023-04-21T07:57:17.png

选择不使用任何介质

系统:一般默认就可以了

磁盘:默认就可以等下就删了

CPU:根据需求

内存:根据需求

网络:默认

添加完后选择刚刚添加虚拟机 选择硬件

2023-04-21T07:57:35.png

选择硬盘

2023-04-21T07:59:07.png

点击分离

2023-04-21T07:59:22.png

会多出个未使用选择后点击上方删除按钮

创建完后

打开Shell

2023-04-21T08:00:13.png

输入指令转换格式!
2023-04-21T08:00:36.png

 qm importdisk 103 /var/lib/vz/template/iso/DS3615xs.img local-lvm

输入后回车

2023-04-21T08:02:21.png

转换完后

2023-04-21T08:02:39.png

回到虚拟机处会多出一个未使用硬盘双 击选择添加

2023-04-21T08:02:56.png

点击引导顺序进行编辑

2023-04-21T08:03:07.png

勾选刚刚添加硬盘 点击OK进行添加

添加完毕后启动虚拟机进行

标签: none