virt-manager ne peut pas se connecter à libvirt


38

entrez la description de l'image ici

J'utilise Ubuntu 12.04.2 32 bits.

L'erreur ne s'affiche pas si je commence gksudo virt-manager.

  • libvirt-bin est installé.
  • Je ne sais pas comment vérifier le démon.
  • 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 racine 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

L'erreur ne s'affiche pas si je commencegksudo virt-manager
Ce type brésilien

Quel est le contenu de votre /etc/libvirt/libvirtd.conffichier?
Bruno Pereira

Pas l'endroit idéal, mais si vous êtes en arc comme je suis et installé qemuet virt-manager, essayez d' exécuter sudo systemctl start libvirtdet éventuellement sudo systemctl enable libvirtdsi vous voulez qu'il démarre au démarrage.
Ave

Réponses:


50

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


18
pas une solution typique de Linux!
Woeitg

1
Le 16.04, libvirt-bin .service n'est pas libvirtd .service si vous vous le demandez. Donc, le démon est là.
Bulat M.

1
Dans ce cas, il suffit généralement de se déconnecter / de se connecter pour que les modifications d'appartenance au groupe se propagent dans la session en cours, mais pour moi personnellement, il n'y a pas beaucoup de différence entre relogin et reboot (provoque des perturbations très similaires, le redémarrage prend environ 7s plus longtemps), donc J'ai plutôt utilisé reboot "juste au cas où".
Ped7g

"as-tu essayé de l'éteindre puis de le rallumer?"
tisaconundrum

33

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

sudo virt-manager

whoa !!! Qu'est-ce que c'est, comment cela a-t-il fonctionné?
Kishor Pawar

Cela a fonctionné à cause de sudo. lire l'explication dans une autre réponse ask.fedoraproject.org/fr/question/45805/…
Kishor Pawar

Devrait être la réponse acceptée.
Magno C

1
Cela fonctionne mais la racine nécessaire à utiliser. Je veux l'utiliser d'un utilisateur normal. Que puis-je faire pour ça?
Puneet Dixit

4
Comme @ andrew-grasso, vous devez vous déconnecter / vous connecter pour que les modifications apportées à l'appartenance à un groupe s'appliquent. L'utilisation sudon'est pas recommandée.
Alex Willison

6

Pour moi, l'erreur est due au fait que les changements d'appartenance à un groupe ne s'appliquent pas sans un login de déconnexion (ou un redémarrage). Je venais d'installer KVM et libvirt-bin. Le programme d'installation a automatiquement ajouté mon utilisateur au groupe libvirtd. J'avais redémarré le service libvirt-bin, mais le message d'erreur apparaissait toujours.

Le simple fait de vous déconnecter et de vous reconnecter a résolu le problème en appliquant mon nouvel abonnement 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 message d'erreur le suggère, vous devrez vous déconnecter et vous reconnecter pour que le nouvel abonnement au groupe puisse s'appliquer.

Ne changez pas les autorisations de fichiers en 777 Ne faites pas que tout exécuter en tant que root ou sudo pour éviter de comprendre ce qui ne va pas.

J'espère que ça aidera quelqu'un.


5

Je gère à la fois Qemu et Virtualbox sur ma machine Ubuntu 14.02 et, après l'installation de Virtualbox, libvirt-bin n'a pas pu démarrer 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 ps - commencez manuellement, puis lancez virt-manager:

sudo service libvirt-bin start


5

Sur Ubuntu 16.04.3 LTS

systemctl start virtlogd.socket

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


1

Après avoir installé tous les packages indiqués par l'op, vous pouvez vous déconnecter puis vous reconnecter. Tout ce qui vous ajoute à des groupes d'utilisateurs vous oblige à vous déconnecter et à vous reconnecter pour être ajouté aux nouveaux groupes. C'est un inconvénient mineur, moins important qu'un redémarrage.

Cela a été marqué comme non complet, mais cela va comme règle générale pour ajouter votre utilisateur à un groupe. Un relog est nécessaire, c’est la partie manquante que je n’ai pas vue ici.


1
Bienvenue sur Ask Ubuntu! Dans sa forme actuelle, votre réponse n’est pas aussi bonne qu’elle pourrait être. Pourriez-vous passer en revue Comment rédiger une bonne réponse et un guide de style pour les questions et les réponses . Vous pouvez préciser quels paquets doivent être installés.
J. Starnes

1

Une autre solution pour redémarrer / déconnecter consiste à exécuter les commandes suivantes à partir d'un terminal:

newgrp libvirt
virt-manager

La newgrpcommande permet à l'utilisateur de rejoindre le libvirtgroupe sans se déconnecter, pour les processus démarrés dans le même shell après newgrp. Bien sûr, cela ne fonctionne que si le programme d'installation de libvirt vous a mis dans le groupe libvirt, que vous pouvez vérifier avec:

getent group libvirt

0

Le problème est discuté sur le tableau de bord et la cause de ce problème peut être résolue en installant le xen-utilspaquet ( xen-utils-4.4sur Ubuntu 14.04). Je l' ai déjà contournait ce problème en virt-managertravers sudoà la ligne de commande.


xenest similaire à kvm wiki.archlinux.org/index.php/KVM , si vous avez déjà kvminstallé n'installez pas xen. Cela annule mon kvminstallation et mon vms a cessé de fonctionner. quand j'ai enlevé xenback vms a commencé à courir.
Kishor Pawar

0

Pour moi, le cas était que lors de son utilisation, service libvirt-bin statusil était évident que tout fonctionnait bien, même si je ne pouvais pas me connecter comme:

    ● libvirt-bin.service - Virtualization daemon
       Loaded: loaded (/lib/systemd/system/libvirt-bin.service; enabled; vendor preset: enabled)
       Active: active (running) since Do 2016-09-22 13:22:16 CEST; 6min ago
[...]

Il /var/run/libvirt/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 n'apparaissent pas, utilisez service libvirt-bin stop; service libvirt-bin startpour relancer complètement le processus. L'utilisation service libvirt-bin restartn'est pas suffisante et ne recrée pas le socket.

Le libvirt-binservice peut être arrêté en toute sécurité et ne mettra pas les invités hors tension .


0

À partir de la version 17.10 d’Ubuntu, je devais également ajouter le groupe libvirt. J'avais déjà ajouté moi-même à libvirtd et ne me suis pas retiré de ce groupe. Je ne sais pas si les deux sont nécessaires ou non.

Je l’ai fait depuis que j’ai remarqué que le contenu de / var / run / libvirt appartenait à libvirt et non à libvirtd.


Pour être une réponse complète, vous devez dire comment s’ajouter aux groupes supplémentaires.
pbhj


-1

Utilisez Ubuntu Software pour désinstaller le gestionnaire virtuel, vous déconnecter, vous reconnecter, installer le gestionnaire virtuel et l'exécuter normalement sans utiliser sudo ni même utiliser la ligne de commande.


1
Vous pouvez améliorer votre réponse en expliquant pourquoi ces étapes sont nécessaires au lieu d’une simple réinstallation. Ou après l'une des autres réponses. De l'avis
J. Starnes
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.