2010-05-06 7 views
8

J'essaie de démarrer sur libvirt avec VirtualBox en tant que solution de virtualisation. J'ai tout installé et VirtualBox lui-même est en cours d'exécution lors de l'utilisation de leur commande VBoxHeadless. Cependant, libvirt ne parvient pas à se connecter à VirtualBox:libvirt et VirtualBox/Mise en route

# virsh -c vbox:///session 
libvir: error : could not connect to vbox:///session 
error: failed to connect to the hypervisor 

Je ne pouvais trouver aucun indice dans la documentation de libvirt qui pointent si je dois faire une configuration spécifique de domaine avant d'utiliser virsh.

Est-ce que quelqu'un a un indice? Ou même mieux, peut-être un tutoriel qui fonctionne à travers la façon d'utiliser libvirt, virsh ou ses API (mon objectif plus tard) à partir de la base.

Répondre

0

Vérifiez de nouveau si vous avez ou non accès en écriture à /var/run/libvirt/libvirt-sock.

Le fichier socket doit avoir des autorisations similaires à:

$ sudo ls -la /var/run/libvirt/libvirt-sock 
srwxrwx--- 1 root libvirtd 0 2010-08-24 14:54 /var/run/libvirt/libvirt-sock 

Je pense qu'il pourrait être utile aussi d'augmenter les capacités d'enregistrement libvirt en exécutant dans votre shell:

export LIBVIRT_DEBUG=1 
14

Si vous êtes faire cela sur Ubuntu, alors le problème est leur libvirt package is built without VirtualBox support.

Vous pouvez reconstruire l'ensemble avec un support très facilement. Quelque chose comme:

apt-get source -d libvirt 
sudo apt-get build-dep libvirt 
dpkg-source -x libvirt*dsc 

Aller dans le répertoire libvirt et modifier debian/rules de sorte qu'au lieu de --without-vbox il dit --with-vbox. Vous pouvez ajouter une entrée au début de debian/changelog afin que le package soit compilé en tant que version différente (par exemple, append ~ local1 à la version).

dpkg-buildpackage -us -uc -b -rfakeroot 

Vous obtiendrez de nouveaux fichiers .debs construits dans le répertoire ci-dessus. Utilisez dpkg -i pour installer ceux qui sont pertinents (libvirt0, libvirt0-bin, et tout ce que vous voulez).