virt-manager non può connettersi a libvirt


38

inserisci qui la descrizione dell'immagine

Sto eseguendo Ubuntu 12.04.2 a 32 bit.

L'errore non viene visualizzato se inizio gksudo virt-manager.

  • libvirt-bin è installato.
  • Non so come controllare il demone.
  • Sono membro di libvirtd.

Uscita di 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`

Uscita di ls -l /var/run/libvirt/libvirt-sock:

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

Uscita di getent group libvirtd:

 libvirtd:x:130:OTHERUSER,MYUSER

Messaggio di errore dettagliato

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'errore non si presenta se iniziogksudo virt-manager
Quel ragazzo brasiliano il

Quali sono i contenuti del tuo /etc/libvirt/libvirtd.conffile?
Bruno Pereira,

Non è il posto perfetto, ma se sei su arco come me e installato qemue virt-manager, prova a correre sudo systemctl start libvirtde facoltativamente sudo systemctl enable libvirtdse vuoi che inizi all'avvio.
Ave,

Risposte:


50

Il riavvio del sistema su cui virt-managerè installato ha risolto il problema.


18
non è una tipica soluzione Linux!
Woeitg,

1
Il 16.04 è libvirt-bin .service non libvirtd .service se ti chiedi. Quindi il demone è lì.
Bulat M.

1
In genere, in questo caso, il solo logout / login dovrebbe essere sufficiente per far sì che le modifiche all'appartenenza al gruppo si propaghino nella sessione corrente, ma per me personalmente non c'è molta differenza tra riaccedere e riavviare (provoca un'interruzione molto simile, il riavvio richiede solo circa 7 secondi in più), quindi Ho piuttosto usato il riavvio "per ogni evenienza".
Ped7g,

"hai provato a spegnerlo e riaccenderlo?"
tisaconundrum,

33

Dopo aver installato KVM, esegui questo comando quindi l'errore non si verificherà più.

sudo virt-manager

whoa !!! Cos'è, come ha funzionato?
Kishor Pawar,

Ha funzionato a causa di sudo. leggi la spiegazione in un'altra risposta ask.fedoraproject.org/en/question/45805/…
Kishor Pawar,

Dovrebbe essere la risposta accettata.
Magno C,

1
Funziona ma ha bisogno di root da usare. Voglio usarlo da un utente normale. Cosa posso fare per questo?
Puneet Dixit,

4
Come afferma @ andrew-grasso, è necessario disconnettersi / accedere per applicare le modifiche all'appartenenza al gruppo. L'uso sudonon è raccomandato.
Alex Willison,

6

Per me, l'errore è stato causato perché le modifiche all'appartenenza al gruppo non si applicano senza un logout-login (o il riavvio). Avevo appena installato KVM e libvirt-bin. Il programma di installazione ha aggiunto automaticamente il mio utente al gruppo libvirtd, avevo riavviato il servizio libvirt-bin, ma continuavo a ricevere l'errore.

Disconnettersi e riconnettersi risolveva il problema applicando la mia nuova iscrizione al gruppo.

Supponendo di aver appena installato libvirt-bin e di aver già confermato che l'utente corrente è un membro del gruppo libvirtd come suggerisce il messaggio di errore, sarà necessario disconnettersi e riconnettersi per applicare la nuova appartenenza al gruppo.

Non modificare le autorizzazioni per i file su 777 Non eseguire semplicemente tutto come root o sudo per evitare di capire cosa c'è che non va.

Spero che questo aiuti qualcuno.


5

Sto gestendo sia Qemu che Virtualbox sul mio computer Ubuntu 14.02 e dopo l'installazione di Virtualbox libvirt-bin non è riuscito ad avviarsi automaticamente. Quindi controlla se libvirt-bin è in esecuzione:

ps faux | grep libvirt-bin

se non lo vedi nell'output ps - avvia manualmente, quindi esegui virt-manager:

sudo service libvirt-bin start


5

Su Ubuntu 16.04.3 LTS

systemctl start virtlogd.socket

era l'unica risposta. Il socket ha il suo demone. È insolito.


1

Dopo aver installato tutti i pacchetti indicati dall'op, è possibile disconnettersi e riconnettersi. Tutto ciò che si aggiunge ai gruppi di utenti è necessario disconnettersi e riconnettersi per essere aggiunti ai nuovi gruppi. È un piccolo inconveniente, meno di uno rispetto al riavvio.

Questo è stato contrassegnato come non completo, tuttavia ciò vale come regola generale per l'aggiunta dell'utente a un gruppo. È necessaria una registrazione, quella era la parte mancante che non ho visto qui.


1
Benvenuti in Ask Ubuntu! Nella sua forma attuale la tua risposta non è buona come potrebbe essere. Potresti rivedere come scrivere una buona risposta e una guida di stile per domande e risposte . È possibile chiarire quali pacchetti devono essere installati.
J. Starnes

1

Un'alternativa al riavvio / logout è eseguire i seguenti comandi da un terminale:

newgrp libvirt
virt-manager

Il newgrpcomando consente all'utente di unirsi al libvirtgruppo senza disconnettersi, per i processi che vengono avviati nella stessa shell dopo newgrp. Naturalmente questo funziona solo se il programma di installazione di libvirt ti inserisce nel gruppo libvirt, che puoi verificare con:

getent group libvirt

0

Il problema viene discusso su Launchpad e la causa di questo problema può essere risolta installando il xen-utilspacchetto ( xen-utils-4.4su Ubuntu 14.04). In precedenza stavo risolvendo questo problema virt-managerpassando sudodalla riga di comando.


xenè simile a kvm wiki.archlinux.org/index.php/KVM , se hai già kvminstallato non installare xen. kvmSovrascrive la mia installazione e il mio VMS ha smesso di funzionare. quando ho rimosso xenback vms ha iniziato a funzionare.
Kishor Pawar,

0

Per me il caso era che quando service libvirt-bin statuslo usavo mostrava che tutto funzionava bene anche se non riuscivo a connettermi come:

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

Nel /var/run/libvirt/ci dovrebbe essere questi due file:

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

Se i socket non vengono visualizzati, utilizzare service libvirt-bin stop; service libvirt-bin startper riavviare completamente il processo. L'uso service libvirt-bin restartnon è sufficiente e non ricrea il socket.

Il libvirt-binservizio può essere arrestato in modo sicuro e non spegnerà gli ospiti .


0

A partire da Ubuntu 17.10, ho dovuto aggiungermi al gruppo libvirt. Mi ero già aggiunto a libvirtd e non mi ero rimosso da quel gruppo. Non so se entrambi siano richiesti o meno.

L'ho fatto da quando ho notato che i contenuti di / var / run / libvirt erano di proprietà di libvirt invece che di libvirtd.


Per essere una risposta completa, devi dire come aggiungerti ai gruppi extra.
pbhj


-1

utilizzare il software Ubuntu per disinstallare Virtual Manager, disconnettersi, riconnettersi, installare Virtual Manager ed eseguirlo normalmente senza usare sudo o anche usando la riga di comando.


1
Puoi migliorare la tua risposta espandendo il motivo per cui questi passaggi sono necessari anziché semplicemente reinstallare. O seguendo una delle altre risposte. Dalla recensione
J. Starnes il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.