Centos

為什麼我的 QEMU/KVM 虛擬機在 CentOS 7.7 更新後無法啟動?

  • September 18, 2019

在 2019 年 9 月 17 日將 CentOS 自動更新到 7.7 版後,當我重新啟動管理程序伺服器時,我的 QEMU/KVM 虛擬機沒有啟動。

嘗試手動啟動 VM 會出現此錯誤:

# 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.

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 虛擬機管理程序可能已經安裝了這個軟體包;這些機器不會出現故障,但過去不需要該軟體包。

引用自:https://unix.stackexchange.com/questions/542480