84 votes

Virt-manager ne peut pas se connecter à libvirt

entrer la description de l'image ici

Je cours Ubuntu 12.04.2 32 bits.

L'erreur ne s'affiche pas si je démarre gksudo virt-manager.

  • libvirt-bin est installé.
  • Je ne sais pas comment vérifier le daemon.
  • Je suis membre de libvirtd.

Sortie de ps ax | grep libvirt:

9225 ? Sl 0:04 /usr/sbin/libvirtd -d
9302 ? S 0:00 /usr/sbin/dnsmasq -u libvirt-dnsmasq --strict-order --bind-interfaces --pid-file=/var/run/libvirt/network/default.pid --conf-file= --except-interface lo --listen-address 192.168.122.1 --dhcp-range 192.168.122.2,192.168.122.254 --dhcp-leasefile=/var/lib/libvirt/dnsmasq/default.leases --dhcp-lease-max=253 --dhcp-no-override`

Sortie de ls -l /var/run/libvirt/libvirt-sock:

srwxrwx--- 1 root libvirtd 0 Set 13 15:04 /var/run/libvirt/libvirt-sock

Sortie de getent group libvirtd:

 libvirtd:x:130:OTHERUSER,MYUSER

Message d'erreur détaillé

Unable to connect to libvirt.   
Failed to connect socket to '/var/run/libvirt/libvirt-sock': Permission denied

Verify that:
 - The 'libvirt-bin' package is installed
 - The 'libvirtd' daemon has been started
 - You are member of the 'libvirtd' group

Libvirt URI is: qemu:///system

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/connection.py", line 1185, in _open_thread
    self.vmm = self._try_open()
  File "/usr/share/virt-manager/virtManager/connection.py", line 1167, in _try_open
    flags)
  File "/usr/lib/python2.7/dist-packages/libvirt.py", line 102, in openAuth
    if ret is None:raise libvirtError('virConnectOpenAuth() failed')
libvirtError: Failed to connect socket to '/var/run/libvirt/libvirt-sock': Permission denied

78voto

That Brazilian Guy Points 3602

Le redémarrage du système où virt-manager est installé a résolu le problème.

60voto

Abhi Abhishek Points 609

Après avoir installé KVM, exécutez cette commande puis cette erreur ne se produira plus.

sudo virt-manager

26voto

alkisg Points 390

Une alternative au redémarrage/déconnexion est d'exécuter les commandes suivantes depuis un terminal :

newgrp libvirt
virt-manager

La commande newgrp permet à l'utilisateur de rejoindre le groupe libvirt sans se déconnecter, pour les processus qui sont lancés dans le même shell après newgrp. Bien entendu, cela ne fonctionne que si l'installateur de libvirt vous a placé dans le groupe libvirt, ce que vous pouvez vérifier avec :

getent group libvirt

16voto

Andrew Grasso Points 301

Pour moi, l'erreur a été causée car les changements d'appartenance à un groupe ne s'appliquent pas sans une déconnexion-reconnexion (ou redémarrage). Je venais d'installer KVM et libvirt-bin. L'installateur a automatiquement ajouté mon utilisateur au groupe libvirtd, j'avais redémarré le service libvirt-bin, mais j'obtenais toujours l'erreur.

Ne changez pas les permissions de fichier en 777. Ne lancez pas tout en tant que root ou sudo pour éviter de comprendre ce qui ne va pas.

Se déconnecter puis se reconnecter a simplement résolu le problème en appliquant ma nouvelle appartenance au groupe.

En supposant que vous venez d'installer libvirt-bin et que vous avez déjà confirmé que votre utilisateur actuel est membre du groupe libvirtd comme le suggère le message d'erreur, vous devrez vous déconnecter puis vous reconnecter pour que la nouvelle appartenance au groupe s'applique.

J'espère que cela aidera quelqu'un.

5voto

Valentin Kantor Points 346

Je gère à la fois Qemu et Virtualbox sur ma machine Ubuntu 14.02, et après avoir installé Virtualbox, libvirt-bin n'a pas démarré automatiquement. Vérifiez donc si libvirt-bin est en cours d'exécution :

ps faux | grep libvirt-bin

si vous ne le voyez pas dans la sortie de ps - démarrez-le manuellement, puis exécutez virt-manager :

sudo service libvirt-bin start

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X