virt-manager não pode se conectar ao libvirt

19

Estou executando o Ubuntu 12.04.2 32 bits.

O erro não aparece se eu iniciar gksudo virt-manager .

  • libvirt-bin está instalado.
  • Eu não sei como verificar o daemon.
  • Sou membro de libvirtd .

Saída 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'

Saída de ls -l /var/run/libvirt/libvirt-sock :

  

srwxrwx --- 1 raiz libvirtd 0 Defina 13 15:04 / var / run / libvirt / libvirt-sock

Saída de getent group libvirtd :

 libvirtd:x:130:OTHERUSER,MYUSER

Mensagem de erro detalhada

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
    
por That Brazilian Guy 13.09.2013 / 20:29

11 respostas

33

A reinicialização do sistema operacional host solucionou o problema.

    
por That Brazilian Guy 13.09.2013 / 23:37
16

Depois de instalar o KVM, execute este comando para que o erro não ocorra novamente.

sudo virt-manager
    
por Abhi Abhishek 09.02.2016 / 19:06
5

Estou gerenciando o Qemu e o Virtualbox na minha máquina Ubuntu 14.02, e depois de instalar o Virtualbox, o libvirt-bin falhou ao iniciar automaticamente. Então, verifique se o libvirt-bin está em execução:

ps faux | grep libvirt-bin

se você não o vir na saída do ps - inicie manualmente, então execute o virt-manager:

sudo service libvirt-bin start

    
por Valentin Kantor 16.08.2015 / 16:45
3

Para mim, o erro foi causado porque as alterações na associação de grupo não se aplicam sem um login de logout (ou reinicialização). Eu tinha acabado de instalar o KVM e o libvirt-bin. O instalador automaticamente adicionou meu usuário ao grupo libvirtd, eu tinha reiniciado o serviço libvirt-bin, mas eu ainda estava recebendo o erro.

Basta fazer o logout e voltar a resolver o problema aplicando minha nova associação ao grupo.

Supondo que você acabou de instalar o libvirt-bin e já confirmou que seu usuário atual é um membro do grupo libvirtd como a mensagem de erro sugere, você precisará efetuar logout e voltar para a nova associação ao grupo.

Não altere as permissões de arquivo para 777 Não basta executar tudo como root ou sudo para evitar entender o que está errado.

Espero que isso ajude alguém.

    
por Andrew Grasso 11.11.2016 / 19:07
1

No Ubuntu 16.04.3 LTS

systemctl start virtlogd.socket

foi a única resposta. O socket tem seu próprio daemon. Isso é incomum.

    
por mr.zog 12.11.2017 / 16:41
0

O problema é discutido no Launchpad e a causa disso problema pode ser resolvido instalando o pacote xen-utils ( xen-utils-4.4 no Ubuntu 14.04). Eu anteriormente estava contornando esse problema por virt-manager a sudo na linha de comando.

    
por Jay Philips 13.12.2015 / 16:48
0

Para mim, o caso foi que, ao usar service libvirt-bin status , mostrou que tudo estava funcionando bem, mas não consegui me conectar como:

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

Em /var/run/libvirt/ , deve haver esses dois arquivos:

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

Se os soquetes não estiverem aparecendo, use service libvirt-bin stop; service libvirt-bin start para reiniciar completamente o processo. Usar service libvirt-bin restart não é suficiente e não recriará o soquete.

O libvirt-bin service pode ser parado com segurança e não irá desligar os convidados .

    
por Flatron 22.09.2016 / 13:29
0

Depois de instalar todos os pacotes, você pode efetuar logout e depois fazer o login novamente. Qualquer coisa que adicione você a grupos de usuários, você precisa fazer logout e voltar para ser adicionado aos novos grupos. É um pequeno inconveniente, menos de um que a reinicialização.

    
por tuxdalinuxpenguin 09.01.2018 / 03:16
0

A partir do Ubuntu 17.10, eu também tive que me adicionar ao grupo libvirt. Eu já havia me adicionado à libvirtd e não me removi daquele grupo. Eu não sei se ambos são obrigatórios ou não.

Eu fiz isso, pois notei que o conteúdo do / var / run / libvirt era de propriedade da libvirt, e não da libvirtd.

    
por K. Gimbel 05.03.2018 / 22:46
-1

Eu tive esse mesmo problema e no relatório de erro detalhado ele fala sobre a falta de permissão para o arquivo libvirt-sock . Alterar a permissão do arquivo /var/run/libvirt/libvirt-sock para 777 fez com que funcionasse para mim.

    
por Gebeyew 27.09.2016 / 16:07
-1

use o Ubuntu Software para desinstalar o gerenciador virtual, efetuar logout, efetuar login novamente, instalar o gerenciador virtual e executá-lo normalmente sem usar o sudo ou mesmo usando a linha de comando.

    
por knowyou 20.12.2017 / 03:16