我正在尝试使用VirtualBox作为虚拟化解决方案开始使用libvirt。我安装了所有东西,VirtualBox本身在使用他们的VBoxHeadless命令时正在运行。 但是,libvirt无法连接到VirtualBox:
# virsh -c vbox:///session
libvir: error : could not connect to vbox:///session
error: failed to connect to the hypervisor
我在libvirt文档中找不到任何提示,指出在使用virsh之前是否必须进行任何特定于域的配置。
有人有提示吗?或者甚至更好,也许是一个从头开始使用libvirt,virsh或它的API(我后来的目标)的教程。
答案 0 :(得分:14)
如果你在Ubuntu上这样做,那么问题是他们的libvirt package is built without VirtualBox support。
您可以非常轻松地重建包的支持。类似的东西:
apt-get source -d libvirt
sudo apt-get build-dep libvirt
dpkg-source -x libvirt*dsc
进入libvirt
目录并修改debian/rules
,以便--without-vbox
代替--with-vbox
。您可以在debian/changelog
的顶部添加一个条目,以便将包编译为不同的版本(例如,将~local1附加到版本中)。
dpkg-buildpackage -us -uc -b -rfakeroot
你会在上面的目录中建立新的.debs。使用dpkg -i
安装相关的(libvirt0,libvirt0-bin和其他任何你想要的东西)。
答案 1 :(得分:0)
仔细检查您是否具有/var/run/libvirt/libvirt-sock
的写入权限。
套接字文件应具有类似于:
的权限$ sudo ls -la /var/run/libvirt/libvirt-sock
srwxrwx--- 1 root libvirtd 0 2010-08-24 14:54 /var/run/libvirt/libvirt-sock
我认为通过在shell中运行它来增加libvirt日志记录功能也是有帮助的:
export LIBVIRT_DEBUG=1
答案 2 :(得分:0)
对于具有VirtualBox支持的libvirt,有Ubuntu PPA:https://launchpad.net/~cxl/+archive/ubuntu/libvirt