虚拟机管理器中出现“无法连接到 libvirt”

虚拟机管理器中出现“无法连接到 libvirt”

有没有手册介绍如何正确设置没有 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-managerGUI 来管理虚拟机,也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

  1. 该用户是 libvirtd 的成员。

  2. 最终用户没有该套接字的权限。例如:

    srwxrwx--- 1 root libvirt 0 Apr 16 10:53 /var/run/libvirt/libvirt-sock
    
  3. 该组是 libvirt。

  4. 将用户添加到 libvirt 组,例如:

    sudo adduser frank libvirt
    
  5. 注销并登录。

相关内容