![虚拟机管理器中出现“无法连接到 libvirt”](https://linux22.com/image/964168/%E8%99%9A%E6%8B%9F%E6%9C%BA%E7%AE%A1%E7%90%86%E5%99%A8%E4%B8%AD%E5%87%BA%E7%8E%B0%E2%80%9C%E6%97%A0%E6%B3%95%E8%BF%9E%E6%8E%A5%E5%88%B0%20libvirt%E2%80%9D.png)
有没有手册介绍如何正确设置没有 GUI 的虚拟机服务器以及安装了 GUI 和虚拟机管理器的 Ubuntu 工作站?两者都是 12.04 版本。
我收到以下错误消息:
unable to connect to libvirt
Verify that
-The libvirt-bin package is installed
-The libvirt daemon has been started
-you are a member of the libvirtd group
the package is installed
for some reason starting the daemon seems to crash
libvirtd start
info: libvirt version 0.9.8
error: virExecWithHook:328 : cannot find 'pm-is-supported' in path: No such file or directory
also
qemucapsInit:856: Failed to get host power management capabilities
所以我猜我没有正确设置服务器。我找到的所有手册都没有提到“虚拟机管理器”。我只选择了用于远程连接 SSH 的软件包和用于服务器安装的“虚拟机服务器”。
因此,我想找到一本涵盖此组合的手册,或者仅涵盖在同一台机器上同时具有这两种功能的 GUI 机器,这对于作为虚拟机管理程序的系统性能没有真正的帮助。
答案1
首先,确保您的硬件支持虚拟化:
egrep '(vmx|svm)' /proc/cpuinfo
如果这没有输出任何数据,则说明您的硬件不支持虚拟化,您无法使用 KVM。(注意:还必须在机器的 BIOS/UEFI 中启用硬件虚拟化。通常是不是已默认启用。您需要检查。
sudo apt-get update && sudo apt-get install kvm libvirt-bin virtinst bridge-utils
这将为您获取必要的软件包。
sudo adduser `id -un` libvirtd
这使您成为使用虚拟化的必要群体。注意:如果您在 GUI 中运行,并希望运行virt-manager
,则必须注销并重新登录才能使其生效!
sudo virsh -c qemu:///system list
这将为您提供系统上的虚拟机列表(当前为空):
Id Name State
----------------------------------
现在,您可以使用virt-manager
GUI 来管理虚拟机,也virsh
可以使用命令行来管理虚拟机。如果您需要帮助来virsh
创建和管理客户机,请将其作为单独的问题提出 - 这会非常棘手。:)
如果您想virt-manager
在远程工作站上运行,请注意,您需要从该工作站对服务器进行有效的 SSH 访问。只要您有这个,并且只要您以 SSH 身份登录的用户已添加到libvirt-bin
如上所示的组中,它就会从那里“正常工作” - 您将在远程计算机上将连接设置virt-manager
为“键入 SSH”,并从那里指定用户名和 IP 地址,它会在连接时提示您输入密码(除非您设置了无密码公钥身份验证,在这种情况下它将使用该密码)。
答案2
我也遇到了同样的问题。
为了解决这个问题,打开终端并输入:
sudo virt-manager
然后输入您的密码,GUI 就会立即打开。
我希望这有帮助!
答案3
您还没有提到您的虚拟化风格是什么。
我没有使用过 libvirt;不过,和你一样,我也需要一个虚拟机管理器。下面是我解决问题的方法。
我使用的是 Virtualbox,目前版本为 4.2。此版本会安装一个名为 vboxweb-service 的服务,并在启动时激活此服务,apache web 服务器和phpvirtualbox现在我有一个功能齐全的虚拟机管理器,即使我不在办公室也可以使用它。
不幸的是,用于自动启动和关闭虚拟机的 virtualbox 脚本不能完全发挥作用,所以我用在网上找到的一些代码创建了一个脚本,虽然速度有点慢,但在 vboxautostart-service 完成之前它可以完成这项工作。
遵循本指南:如何自动启动 VirtualBox 虚拟机当然还有phpvirtualbox導導。
答案4
该用户是 libvirtd 的成员。
最终用户没有该套接字的权限。例如:
srwxrwx--- 1 root libvirt 0 Apr 16 10:53 /var/run/libvirt/libvirt-sock
该组是 libvirt。
将用户添加到 libvirt 组,例如:
sudo adduser frank libvirt
注销并登录。