我使用 启动了一个虚拟机virsh create
,并且能够在 中看到该虚拟机virsh list
,但是,当我运行 时virt-manager
,我无法在 GUI 中看到该虚拟机
我正在尝试使用 virt-manager 访问 VM 控制台(virsh console
不起作用)
有人知道如何解决这个问题吗?
我找到了这个:virt-manager 不显示本地 KVM 列表,但 virsh 会显示:但这个问题从未得到回答
编辑:尝试重新启动 libvirtd,仍然看到同样的事情。“grep libvirt /var/log/messages”没有显示任何内容
编辑 2:在第二个 HV 上启动了第二个 VM,第二个 VM 显示在 virt-manager 中,但第一个没有。非常奇怪。比较 xml 文件没有显示任何重要信息,并且 qemu 命令在 ps 下看起来相同
答案1
我将首先检查虚拟化服务器上的日志(在 /var/log/messages 中搜索 libvirt),看看是否有任何消息指出存在问题。
我以前遇到过这样的问题:virsh 运行正常,但 virt-manager 行为异常。在虚拟化服务器上重新启动 libvirt 总是能解决问题。
答案2
尽管这个问题已经很老了,但它仍然是搜索该问题时最热门的结果之一,所以我想发布一个答案来解决我发现的一个常见而简单的原因(当问题被提出时可能并不适用 - 但无论如何......)。根据您安装的 libvirt,您可能配置了各种虚拟机管理程序,并且您需要明确指定、等的--connect
方法,除非您希望它们采用默认值。就我目前的情况而言,我有“LXC”(系统容器 - URI )、“QEMU/KVM”(完全虚拟化 - URI )和“QEMU/KVM 用户会话”(URI )。我还看到可用的“Xen”、“Bhyve”和“Virtuozzo”。您还可以通过 SSH 设置到远程虚拟机管理程序的连接 URI。您的安装可能已预先配置了其中的一些或全部,并且如果您在使用 virsh 为该连接(默认或明确)创建 VM 时没有为显示配置其中一个连接(默认或明确),则它将不会显示在 中。关于以您自己的系统用户或 root 身份运行的建议可能有效,因为 root 的默认设置是(VM 的主机进程以 root 权限运行,而不管 VM 内运行什么用户),而其他用户的默认设置是(在非主机根进程内运行 VM)。virsh
virt-install
lxc:///
qemu:///system
qemu:///session
virt-manager
virt-manager
qemu:///system
qemu:///session