我已经安装了 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
答案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 建立远程隧道(下方显示可用的主机)
- 如果您的服务器未列出,您可以从列表中选择一个主机,或者在“主机名”字段中输入特定的主机名。