virt-manager nie może połączyć się z libvirt


38

wprowadź opis zdjęcia tutaj

Używam Ubuntu 12.04.2 32 bity.

Błąd nie pojawi się, jeśli zacznę gksudo virt-manager.

  • libvirt-bin jest zainstalowane.
  • Nie wiem, jak sprawdzić demona.
  • Jestem członkiem libvirtd.

Wyjście 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`

Wyjście ls -l /var/run/libvirt/libvirt-sock:

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

Wyjście getent group libvirtd:

 libvirtd:x:130:OTHERUSER,MYUSER

Szczegółowy komunikat o błędzie

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

Błąd nie pojawi się, jeśli zacznęgksudo virt-manager
Ten Brazylijczyk

Jaka jest zawartość twojego /etc/libvirt/libvirtd.confpliku?
Bruno Pereira,

Nie jest to idealne miejsce, ale jeśli jesteś na łuku jak ja i zainstalowane qemui virt-managerspróbuj uruchomić sudo systemctl start libvirtdi ewentualnie sudo systemctl enable libvirtd, jeśli chcesz go uruchomić przy starcie.
Ave

Odpowiedzi:


50

Ponowne uruchomienie systemu, w którym virt-managerjest zainstalowany, rozwiązało problem.


18
nie typowe rozwiązanie dla Linuksa!
Woeitg

1
16.04 jego libvirt-bin .service nie libvirtd .service, jeśli się zastanawiasz. Więc demon tam jest.
Bulat M.

1
Zwykle wystarczy wylogowanie / zalogowanie w tym przypadku, aby zmiany członkostwa w grupie zostały przeniesione do bieżącej sesji, ale dla mnie osobiście nie ma dużej różnicy między ponownym zalogowaniem a ponownym uruchomieniem (powoduje bardzo podobne zakłócenia, ponowne uruchomienie zajmuje około 7 sekund dłużej), więc Raczej użyłem restartu „na wszelki wypadek”.
Ped7g

„Czy próbowałeś go wyłączyć, a następnie włączyć ponownie?”
tisaconundrum

33

Po zainstalowaniu KVM uruchom tę komendę, aby błąd nie wystąpił ponownie.

sudo virt-manager

whoa !!! Co to jest? Jak to działa?
Kishor Pawar,

Działa z powodu sudo. przeczytaj wyjaśnienie w innej odpowiedzi ask.fedoraproject.org/en/question/45805/…
Kishor Pawar

Powinna być zaakceptowana odpowiedź.
Magno C

1
Działa, ale potrzebny jest root. Chcę go używać od zwykłego użytkownika. Co mogę na to zrobić?
Puneet Dixit

4
Jak stwierdza @ andrew-grasso, musisz się wylogować / zalogować, aby zastosować zmiany członkostwa w grupie. Używanie sudonie jest zalecane.
Alex Willison

6

Dla mnie błąd został spowodowany, ponieważ zmiany członkostwa w grupie nie mają zastosowania bez wylogowania (lub ponownego uruchomienia). Właśnie zainstalowałem KVM i libvirt-bin. Instalator automatycznie dodał mojego użytkownika do grupy libvirtd, zrestartowałem usługę libvirt-bin, ale wciąż pojawia się błąd.

Po prostu wylogowanie się i ponowne rozwiązanie rozwiązało problem przez zastosowanie nowego członkostwa w grupie.

Zakładając, że właśnie zainstalowałeś libvirt-bin i już potwierdziłeś, że twój bieżący użytkownik jest członkiem grupy libvirtd, jak sugeruje komunikat o błędzie, musisz się wylogować i zalogować ponownie, aby zastosować nowe członkostwo w grupie.

Nie zmieniaj uprawnień do plików na 777 Nie uruchamiaj wszystkiego jako root lub sudo, aby uniknąć zrozumienia, co jest nie tak.

Mam nadzieję, że to komuś pomoże.


5

Zarządzam zarówno Qemu, jak i Virtualbox na moim komputerze Ubuntu 14.02, a po zainstalowaniu Virtualvir libvirt-bin nie udało się automatycznie uruchomić. Sprawdź, czy libvirt-bin jest uruchomiony:

ps faux | grep libvirt-bin

jeśli nie widzisz go w danych wyjściowych ps - uruchom ręcznie, a następnie uruchom virt-manager:

sudo service libvirt-bin start


5

Na Ubuntu 16.04.3 LTS

systemctl start virtlogd.socket

była jedyna odpowiedź. Gniazdo ma własnego demona. To niespotykane.


1

Po zainstalowaniu wszystkich pakietów podanych przez op możesz się wylogować, a następnie zalogować się ponownie. Wszystko, co dodaje Cię do grup użytkowników, musisz się wylogować i zalogować ponownie, aby zostać dodanym do nowych grup. Jest to niewielka niedogodność, mniej niż jedna po ponownym uruchomieniu.

Oznaczono to jako niekompletne, ale jest to ogólna zasada dodawania użytkownika do grupy. Potrzebny jest ponowny rejestr, czyli brakująca część, której tu nie widziałem.


1
Witamy w Ask Ubuntu! W obecnej formie twoja odpowiedź nie jest tak dobra, jak mogłaby być. Czy mógłbyś przeczytać, jak napisać dobrą odpowiedź oraz przewodnik po stylach dla pytań i odpowiedzi . Możesz wyjaśnić, które pakiety wymagają instalacji.
J. Starnes,

1

Alternatywą dla ponownego uruchomienia / wylogowania jest uruchomienie następujących poleceń z terminala:

newgrp libvirt
virt-manager

newgrpPolecenie to umożliwia użytkownikowi przystąpienie do libvirtgrupy bez wylogowania do procesów, które są uruchamiane w taki sam powłoki po newgrp. Oczywiście działa to tylko wtedy, gdy instalator libvirt umieści cię w grupie libvirt, którą możesz sprawdzić za pomocą:

getent group libvirt

0

Problem jest omawiany na Launchpadzie, a przyczynę tego problemu można rozwiązać, instalując xen-utilspakiet ( xen-utils-4.4na Ubuntu 14.04). Wcześniej omawiałem ten problem za virt-managerpośrednictwem sudowiersza polecenia.


xenjest podobny do kvm wiki.archlinux.org/index.php/KVM , jeśli już kvmzainstalowałeś, nie instaluj xen. Zastępuje moją kvminstalację i mój vms przestał działać. kiedy usunąłem z xenpowrotem vms zaczął działać.
Kishor Pawar,

0

Dla mnie sprawa polegała na tym, że użycie service libvirt-bin statusgo pokazało, że wszystko działało dobrze, chociaż nie mogłem się połączyć w następujący sposób:

    ● 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
[...]

W /var/run/libvirt/nie powinny być te dwa pliki:

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

Jeśli gniazda nie są wyświetlane, użyj przycisku, service libvirt-bin stop; service libvirt-bin startaby całkowicie zrestartować proces. Za pomocąservice libvirt-bin restart nie jest wystarczające i nie spowoduje odtworzenia gniazda.

libvirt-binUsługa może być bezpiecznie zatrzymany i nie będzie poweroff gości .


0

Począwszy od Ubuntu 17.10 musiałem również dodać się do libvirt grupy. Już dodałem się do libvirtd i nie usunąłem się z tej grupy. Nie wiem, czy oba są wymagane, czy nie.

Zrobiłem to, ponieważ zauważyłem, że zawartość / var / run / libvirt była własnością libvirt zamiast libvirtd.


Aby uzyskać pełną odpowiedź, musisz powiedzieć, jak dodać się do dodatkowych grup.
pbhj


-1

użyj oprogramowania Ubuntu do odinstalowania wirtualnego menedżera, wylogowania, zalogowania się ponownie, zainstalowania wirtualnego menedżera i uruchomienia go normalnie bez użycia sudo lub nawet wiersza poleceń.


1
Możesz poprawić swoją odpowiedź, wyjaśniając, dlaczego te kroki są konieczne zamiast zwykłej ponownej instalacji. Lub podążając za jedną z pozostałych odpowiedzi. Z recenzji
J. Starnes,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.