客户反馈一台虚拟机重启后虚拟机状态显示为错误。
检查云平台各个组件服务,未发现异常后,首先尝试重置虚拟机状态,然后硬重启看下
一段时间后,虚拟机状态仍然为error。检查虚拟机所在计算节点的nova-compute日志,发现如下错误
日志显示,终止虚拟机的qemu-kvm进程时失败(Failed to terminate process 2216397),有资源占用未释放(device or resource busy)。
尝试从kvm层面,用virsh destroy 命令关闭虚拟机
如上图,virsh destroy也无法终止此qemu-kvm进程(nova的硬重启其实调用的就是destroy接口)
在宿主机上面,查看此qemu-kvm进程,发现此进程已经变成僵尸进程(Z状态),用kill --9无法kill掉,用lsof 命令尝试找出进程占用的资源文件,发现输出为空