Problem mit Virt-Manager

7

Ich habe installiert virt-managerund kann es nicht zum Laufen bringen.

Ich habe einige der zuvor veröffentlichten Antworten ohne Erfolg ausprobiert. Ich habe das überprüft:

  • Das libvirt-binPaket ist installiert
  • Der libvirtdDaemon wurde gestartet
  • Ich bin ein Mitglied der libvirtdGruppe
  • libvirt URI ist: qemu:///system

Dies ist der Fehler, den ich beim Ausführen bekomme virt-manager:

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/connection.py", line 1027, in _open_thread
    self.vmm = self._try_open()
  File "/usr/share/virt-manager/virtManager/connection.py", line 1009, 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
New_to_Linux
quelle
Bitte bearbeiten Sie Ihre Frage, um die Ausgabe von aufzunehmen ls -la /var/run/libvirt/.
Eric Carvalho

Antworten:

5

Möglicherweise müssen Sie sich abmelden und wieder anmelden.

Vorausgesetzt /etc/libvirt/libvirtd.confhat:

# Set the UNIX domain socket group ownership. This can be used to
# allow a 'trusted' set of users access to management capabilities
# without becoming root.
#
# This is restricted to 'root' by default.
unix_sock_group = "libvirtd"

# Set the UNIX socket permissions for the R/O socket. This is used
# for monitoring VM status only
#
# Default allows any user. If setting group ownership, you may want to
# restrict this too.
unix_sock_ro_perms = "0777"

# Set the UNIX socket permissions for the R/W socket. This is used
# for full management of VMs
#
# Default allows only root. If PolicyKit is enabled on the socket,
# the default will change to allow everyone (eg, 0777)
#
# If not using PolicyKit and setting group ownership for access
# control, then you may want to relax this too.
unix_sock_rw_perms = "0770"

Es sollte funktionieren, wenn Ihr Benutzer Mitglied der libvirtdGruppe ist.

Überprüfen Sie, ob Ihr Benutzer in der Gruppe sein soll, Beispielbenutzer vagrant:

$ cat /etc/group|grep $USER
vagrant:x:1000:
libvirtd:x:116:ubuntu,vagrant

Wenn Ihr Benutzer nicht zur Gruppe gehört, müssen Sie ihn hinzufügen:

$ sudo usermod -a -G libvirtd $USER

Wenn Ihr Benutzer bereits in der Gruppe in war /etc/group, überprüfen Sie die Ausgabe von groups:

$ groups
vagrant libvirtd

Wenn Sie dies nicht sehen libvirtd, müssen Sie sich abmelden und erneut anmelden.

Melwitt
quelle
Das hat super geklappt! (nach dem Abmelden / Anmelden). In meinem Fall habe ich libvirtanstelle von libvirtd(ich folgte diesem Artikel)
dance2die
Für mich musste ich neu starten, damit es funktioniert
Alex Punnen
1

Ich hatte das gleiche Problem. Probieren Sie diese Anleitung aus, sie funktioniert bei mir. Vergessen Sie nicht, sich erneut anzumelden, nachdem Sie den Benutzer zur Gruppe 'libvirtd' hinzugefügt haben.

Zipun
quelle
Willkommen bei Ask Ubuntu! Während dies theoretisch die Frage beantworten kann, wäre es vorzuziehen , die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen.
Eric Carvalho
0

Versuchen Sie, diese Zeile hinzuzufügen /etc/libvirt/libvirtd.conf

listen_tls = 0

dann neu starten lirvirtdurch:

/etc/init.d/libvirt-bin restart
Đinh Phạm Duy Hoàng
quelle
0

Ich bin auf dieses Problem gestoßen, weil ich zwei libvirtdGruppen hatte.

Als ich qemu-kvm installiert habe, war die Gruppe libvirtdnicht vorhanden, daher wurde sie mit einer beliebigen Gruppen-ID 121 erstellt:

ls -n /var/run/libvirt/libvirt-sock
srwxrwx--- 1 0 121 0 Oct  1 18:49 /var/run/libvirt/libvirt-sock

Später trat mein Gastgeber NIS bei. Ich bin Mitglied von libvirtd, aber die Gruppen-ID lautet 1046:

id
uid=177(jmcgeheeiv) ...,1046(libvirtd),...

Ich bin kein Mitglied der Gruppe 201, daher kann ich nicht in den Socket schreiben /var/run/libvirt/libvirt-sock.

Das Aktualisieren des Gruppenbesitzes /var/run/libvirt/libvirt-sockauf die richtige Gruppennummer löste mein Problem:

sudo chgrp 1019 /var/run/libvirt/libvirt-sock
ls -n /var/run/libvirt/libvirt-sock
srwxrwx--- 1 0 1019 0 Oct  1 18:49 /var/run/libvirt/libvirt-sock

In diesem Fall müssen Sie sich nicht abmelden und anmelden.

Während das oben genannte das unmittelbare Problem löst, verletzt es die Infrastruktur als Code. Die eigentliche Lösung besteht darin, den Host neu zu erstellen, zuerst eine Gruppe libvirtdmit der Gruppen-ID 1046 in Übereinstimmung mit NIS zu erstellen und dann qemu-kvm zu installieren.

John McGehee
quelle