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

5voto

mr.zog Points 158

Sous Ubuntu 16.04.3 LTS

systemctl start virtlogd.socket

était la seule réponse. Le socket a son propre démon. C'est inhabituel.

2voto

Après avoir installé tous les packages indiqués par l'opérateur, vous pouvez vous déconnecter puis vous reconnecter. Tout ce qui vous ajoute à des groupes d'utilisateurs nécessite que vous vous déconnectiez et vous vous reconnectiez pour être ajouté aux nouveaux groupes. C'est une petite gêne, moins importante que le redémarrage.

Cela a été signalé comme incomplet, cependant c'est une règle générale pour ajouter votre utilisateur à un groupe. Une reconnexion est nécessaire, c'était la partie manquante que je n'ai pas vue ici.

2voto

devatnull Points 21

L'utilisateur dans le groupe libvirt peut exécuter virt-manager et virsh sans sudo.

$ sudo gpasswd libvirt -a 
$ cat <

1voto

Jay Philips Points 376

Le problème est discuté sur Launchpad et la cause de ce problème peut être résolue en installant le paquet xen-utils (xen-utils-4.4 sur Ubuntu 14.04). Je contournais précédemment ce problème en utilisant virt-manager via sudo dans la ligne de commande.

1voto

st0le Points 15318

Pour moi, le problème était que lorsque j'utilisais service libvirt-bin status, tout semblait fonctionner correctement même si je ne pouvais pas me connecter comme suit :

     libvirt-bin.service - Daemon de virtualisation
       Chargé : chargé (/lib/systemd/system/libvirt-bin.service; activé; préréglage du vendeur : activé)
       Actif : actif (en cours d'exécution) depuis Do 2016-09-22 13:22:16 CEST; il y a 6min
[...]

Dans /var/run/libvirt/, il devrait y avoir ces deux fichiers :

srwxrwxrwx  1 root libvirtd    0 Sep 22 13:22 libvirt-sock=
srwxrwxrwx  1 root libvirtd    0 Sep 22 13:22 libvirt-sock-ro=

Si les sockets ne sont pas affichés, utilisez service libvirt-bin stop; service libvirt-bin start pour redémarrer complètement le processus. Utiliser service libvirt-bin restart n'est pas suffisant et ne recréera pas le socket.

Le service libvirt-bin peut être arrêté en toute sécurité sans éteindre les invités.

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