2019 年 9 月 17 日将 CentOS 自动更新到版本 7.7 后,当我重新启动虚拟机管理程序服务器时,我的 QEMU/KVM 虚拟机无法启动。
尝试手动启动虚拟机会出现以下错误:
# virsh start mygreatvm
error: failed to connect to the hypervisor
error: no connection driver available for <null>
尝试列出当前定义的虚拟机(有问题的虚拟机设置为在每次启动时默认启动(自动启动),因此它们至少应该出现在此处):
# virsh list
error: failed to connect to the hypervisor
error: no connection driver available for <null>
系统日志中没有错误消息,/var/log/libvirt/qemu/*.log
. libvirt 守护进程似乎运行良好,并且不会抱怨以下位置的未启动服务器/etc/libvirt/qemu/autostart/*xml
:
# systemctl status libvirtd
● libvirtd.service - Virtualization daemon
Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2019-09-18 16:42:30 UTC; 2min 49s ago
Docs: man:libvirtd(8)
https://libvirt.org
Main PID: 1817 (libvirtd)
Tasks: 16 (limit: 32768)
CGroup: /system.slice/libvirtd.service
└─1817 /usr/sbin/libvirtd
Sep 18 16:42:30 server systemd[1]: Starting Virtualization daemon...
Sep 18 16:42:30 server systemd[1]: Started Virtualization daemon.
答案1
CentOS 7.7 中的更新包括 QEMU 的更新,它需要新的软件包才能启动 QEMU/KVM 虚拟机。
# yum install libvirt-daemon-driver-qemu
然后虚拟机可以立即启动(无需重新启动):
# systemctl restart libvirtd
# virsh list
Id Name State
----------------------------------------------------
1 mygreatvm running
2 mygreatvm2 running
3 mygreatvm3 running
某些 CentOS 虚拟机管理程序可能已经安装了此软件包;这些机器不会出现故障,但过去不需要该软件包。