libvirt和VirtualBox /入门

Mar*_*cas 8 api virtualization virtualbox libvirt

我正在尝试使用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
Run Code Online (Sandbox Code Playgroud)

我在libvirt文档中找不到任何提示,指出在使用virsh之前是否必须进行任何特定于域的配置.

有人有提示吗?或者甚至更好,也许是一个从头开始使用libvirt,virsh或它的API(我后来的目标)的方法.

小智 14

如果你在Ubuntu上这样做,那么问题是他们的libvirt包是在没有VirtualBox支持的情况下构建的.

您可以非常轻松地重建包.就像是:

apt-get source -d libvirt
sudo apt-get build-dep libvirt
dpkg-source -x libvirt*dsc
Run Code Online (Sandbox Code Playgroud)

进入libvirt目录并进行编辑debian/rules,而不是--without-vbox说它--with-vbox.您可以在顶部添加一个条目,debian/changelog以便将包编译为不同的版本(例如,将~local1附加到版本中).

dpkg-buildpackage -us -uc -b -rfakeroot
Run Code Online (Sandbox Code Playgroud)

您将在上面的目录中获得新的.debs.使用dpkg -i安装相关者(libvirt0,libvirt0斌,和其他任何你想要的).


小智 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
Run Code Online (Sandbox Code Playgroud)

我认为通过在 shell 中运行以下命令来增强 libvirt 日志记录功能也可能会有所帮助:

export LIBVIRT_DEBUG=1
Run Code Online (Sandbox Code Playgroud)