无法将 Xend 与 virt-manager 连接

无法将 Xend 与 virt-manager 连接

我已经安装了 debian 6.0.1a。我已经安装了所有 XEN 内容。包括 xen 内核、libvirtd 等。但是当我想要连接 xend 时,virt-manager 显示了以下内容:

确认:

  • Xen 主机内核已启动
  • Xen服务已启动详细信息:

    无法打开与虚拟机管理程序 URI“xen:///”的连接:无法连接到“/var/run/libvirt/libvirt-sock”,可能需要启动 libvirtd:权限被拒绝回溯(最近一次调用最后一次):文件“/usr/share/virt-manager/virtManager/connection.py”,第 971 行,在 _try_open None],标志)文件“/usr/lib/python2.6/dist-packages/libvirt.py”,第 111 行,在 openAuth 中如果 ret 为 None:引发 libvirtError('virConnectOpenAuth() 失败')libvirtError:无法连接到“/var/run/libvirt/libvirt-sock”,可能需要启动 libvirtd:权限被拒绝此处是 uname 输出:

    Linux debian 2.6.32-5-xen-amd64 #1 SMP 星期二 3 月 8 日 00:01:30 UTC 2011 x86_64 GNU/Linux

并且 xend 和 libvirtd 正在运行:

root@debian:/home/mazimi# /etc/init.d/libvirt-bin status
Checking status of libvirt management daemon: libvirtd running.

root@debian:/home/mazimi# /etc/init.d/xend start
Starting Xen daemons: xenstored xenconsoled xend.

livbirt-sock 的权限:

root@debian:/home/mazimi# ls -alih /var/run/libvirt/
total 12K
671017 drwxr-xr-x  3 root root    4.0K Apr 15 13:54 .
654083 drwxr-xr-x 18 root root    4.0K Apr 15 13:54 ..
670901 srwxrwx---  1 root libvirt    0 Apr 15 13:54 libvirt-sock
670928 srwxrwxrwx  1 root libvirt    0 Apr 15 13:54 libvirt-sock-ro
670870 drwxr-xr-x  2 root root    4.0K Apr 15 02:34 qemu

我们还有一个名为 libvirt 的组/etc/group

当以详细模式运行 libvirtd 时,它的行为有点奇怪:

root@debian:/var/log/libvirt# /usr/sbin/libvirtd --verbose
17:26:55.841: warning : qemudStartup:1832 : Unable to create cgroup for driver: No such device or address
17:26:56.128: warning : lxcStartup:1900 : Unable to create cgroup for driver: No such device or address

并无限等待。

答案1

我认为问题出在 xen 配置上。我在连接时也遇到了类似的问题。

为了解决这个问题,您需要编辑 /etc/xen/xend-config.sxp,并取消注释以下行:

(xend-unix-server 是)

然后重新启动 xend

http://www.xen-support.com/?p=338

答案2

尝试使用不同的 URI。例如,我的 URI 可以在 xen 主机上使用 qemu://

# cat /etc/redhat-release 
CentOS release 5.4 (Final)

# uname -a
Linux xen01.example.com 2.6.18-164.6.1.el5xen #1 SMP Tue Nov 3 16:48:13 EST 2009 x86_64 x86_64 x86_64 GNU/Linux

# virsh -c qemu:///system version
Compiled against library: libvir 0.6.3
Using library: libvir 0.6.3
Using API: QEMU 0.6.3
Running hypervisor: QEMU 0.9.0

运行 kvm 的不同主机

# cat /etc/debian_version 
squeeze/sid

xen02:~# uname -a
Linux xen02.example.com 2.6.32-bpo.5-amd64 #1 SMP Fri Jun 11 08:42:31 UTC 2010 x86_64 GNU/Linux

xen02:~# virsh -c qemu:///system version
Compiled against library: libvir 0.8.1
Using library: libvir 0.8.1
Using API: QEMU 0.8.1
Running hypervisor: QEMU 0.12.5

您也可以从远程主机通过 TLS 执行此操作。请参阅此邮政

答案3

我刚刚想通了这一点。我管理 CentOS 服务器,并且有 Ubuntu 工作站。我想通过 SSH 使用 virt-manager 访问我的 Xen dom0 服务器。

基本前提是,您必须在客户端 (virt-manager) 和服务器 (Xen dom0) 上拥有相同的用户帐户,这基本上意味着您必须在工作站上使用“root”帐户来运行 virt-manager。由于我在两台 Xen 服务器上都设置了 SSH 密钥,这也意味着我必须将密钥添加到我的 root 帐户。

说明(适用于 Ubuntu 10.04.3 工作站)

首先,以 root 身份登录并复制服务器所需的 SSH 密钥:

sudo -i
cp /home/user/.ssh/id_rsa_xenServer /root/.ssh/id_rsa_xenServer
chown root.root /root/.ssh/id_rsa_xenServer
chmod 600 /root/.ssh/id_rsa_xenServer

您必须将 ssh-agent 分叉到‘root’shell:

ssh-agent /bin/bash
ssh-add /root/.ssh/id_rsa_xenServer

现在您连接到服务器来检查与服务器的身份验证:

ssh root@xenServer

您必须以“特权”模式打开 virt-manager 才能使其工作。这可以通过在 GNOME 中按“Alt+F2”并输入“gksu virt-manager”来完成。

无需在服务器端添加或编辑任何内容。

virt-manager 启动并运行后,您需要添加到 Xen 服务器的连接:

  • 文件 > 添加连接(弹出新窗口)
  • 选择‘虚拟机管理程序’:Xen
  • 选择‘连接’:通过 SSH 建立远程隧道(下方显示可用的主机)
  • 如果您的服务器未列出,您可以从列表中选择一个主机,或者在“主机名”字段中输入特定的主机名。

相关内容