libvirt и VirtualBox / Начало работы - PullRequest
8 голосов
/ 06 мая 2010

Я пытаюсь начать работу с libvirt с VirtualBox в качестве решения для виртуализации. Я установил все, и сам 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 (моя более поздняя цель) с нуля.

Ответы [ 3 ]

14 голосов
/ 08 января 2011

Если вы делаете это в Ubuntu, то проблема в том, что их пакет libvirt собран без поддержки VirtualBox .

Вы можете очень легко перекомпилировать пакет с поддержкой. Что-то вроде:

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 и все, что вы хотите).

0 голосов
/ 19 августа 2014

Существует Ubuntu PPA для libvirt с поддержкой VirtualBox: https://launchpad.net/~cxl/+archive/ubuntu/libvirt

0 голосов
/ 14 ноября 2010

Дважды проверьте, есть ли у вас доступ на запись к /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

Я думаю, что было бы полезно также расширить возможности ведения журнала libvirt, запустив это в вашей оболочке:

export LIBVIRT_DEBUG=1
...