最近遇到一台虚拟机(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
。
然后,将这个进程杀掉:
kill 20582
返回 PVE 界面,可以看到 101
这个虚拟机已经停止了。
通过 PVE 界面重新开启此虚拟机,或者通过下面的命令启动也可以:
# 将 101 替换为你自己的 VM ID
qm start 101
最终问题解决,但根本原因还未查明。