O virt-manager não pode se conectar ao libvirt


38

insira a descrição da imagem aqui

Estou executando o Ubuntu 12.04.2 32 bits.

O erro não aparece se eu começar gksudo virt-manager.

  • libvirt-bin está instalado.
  • Não sei como verificar o daemon.
  • Eu sou um 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 Conjunto 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

O erro não aparece se eu começargksudo virt-manager
Aquele cara brasileiro

Qual é o conteúdo do seu /etc/libvirt/libvirtd.confarquivo?
Bruno Pereira

Não é o lugar perfeito, mas se você estiver em arco como eu sou e instalado qemue virt-manager, tente executar sudo systemctl start libvirtde, opcionalmente, sudo systemctl enable libvirtdse você quer que ele inicie na inicialização.
Ave

Respostas:


50

A reinicialização do sistema em que virt-managerestá instalado resolveu o problema.


18
não é uma solução típica do Linux!
Woeitg

1
No 16.04, seu libvirt-bin .service não libvirtd .service se você se perguntar. Então o daemon está lá.
Bulat M.

1
Normalmente, apenas o logout / login deve ser suficiente neste caso para fazer com que as alterações na associação ao grupo se propaguem para a sessão atual, mas para mim, pessoalmente, não há muita diferença entre efetuar logon e reinicializar (causa uma interrupção muito semelhante, a reinicialização leva apenas 7s a mais), então Eu usei a reinicialização "apenas por precaução".
Ped7g

"você tentou desligá-lo e ligá-lo novamente?"
tisaconundrum

33

Após a instalação do KVM, execute este comando para que o erro não ocorra novamente.

sudo virt-manager

Uau!!! O que é isso, como isso funcionou?
Kishor Pawar #

Funcionou por causa de sudo. leia explicação em outra resposta ask.fedoraproject.org/en/question/45805/...
Kishor Pawar

Deve ser a resposta aceita.
Magno C

1
Ele funciona, mas precisava de raiz para usar. Eu quero usá-lo do usuário normal. O que posso fazer por isso?
Puneet Dixit

4
Como @ andrew-grasso afirma, você precisa fazer logout / login para que as alterações na associação ao grupo sejam aplicadas. O uso sudonão é recomendado.
precisa

6

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

Simplesmente sair 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 é membro do grupo libvirtd, conforme a mensagem de erro sugere, será necessário efetuar logout e logon novamente para que a nova associação do grupo seja aplicada.

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

Espero que isso ajude alguém.


5

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

ps faux | grep libvirt-bin

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

sudo service libvirt-bin start


5

No Ubuntu 16.04.3 LTS

systemctl start virtlogd.socket

foi a única resposta. O soquete possui seu próprio daemon. Isso é incomum.


1

Depois de instalar todos os pacotes declarados pelo op, você pode sair e fazer login novamente. Qualquer coisa que o adicionar aos grupos de usuários, você precisará sair e fazer login novamente para ser adicionado aos novos grupos. É um pequeno inconveniente, menos do que reiniciar.

Isso foi marcado como incompleto, no entanto, é uma regra geral para adicionar seu usuário a um grupo. Um relog é necessário, essa foi a parte que faltava que eu não vi aqui.


1
Bem-vindo ao Ask Ubuntu! Em sua forma atual, sua resposta não é tão boa quanto poderia ser. Você poderia consultar o guia Como escrever uma boa resposta e o Estilo para perguntas e respostas . Você pode esclarecer quais pacotes precisam ser instalados.
1911 J. Starnes

1

Uma alternativa à reinicialização / logout é executar os seguintes comandos em um terminal:

newgrp libvirt
virt-manager

O newgrpcomando permite que o usuário ingresse no libvirtgrupo sem logout, para processos iniciados no mesmo shell depois newgrp. Claro que isso só funciona se o instalador da libvirt o colocar no grupo libvirt, com o qual você pode verificar:

getent group libvirt

0

O problema é discutido no Launchpad e a causa desse problema pode ser resolvida instalando o xen-utilspacote ( xen-utils-4.4no Ubuntu 14.04). Eu já estava contornando esse problema virt-manageratravés sudoda linha de comando.


xené semelhante ao kvm wiki.archlinux.org/index.php/KVM , se você já kvminstalou, não instale xen. Substituiu minha kvminstalação e meus vms pararam de funcionar. quando eu removi xenvolta vms começou a correr.
Kishor Pawar

0

Para mim, o caso foi que, ao usá- service libvirt-bin statuslo, mostrou que tudo estava funcionando bem, embora eu não pudesse 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
[...]

No /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 startpara reiniciar completamente o processo. O uso service libvirt-bin restartnão é suficiente e não recriará o soquete.

O libvirt-binserviço pode ser interrompido com segurança e não desligará os convidados .


0

No Ubuntu 17.10, eu também tinha que me adicionar ao grupo libvirt. Eu já havia me incluído no libvirtd e não me removi desse grupo. Não sei se ambos são necessários ou não.

Eu fiz isso desde que notei que o conteúdo de / var / run / libvirt pertencia à libvirt em vez da libvirtd.


Para ser uma resposta completa, você precisa dizer como se adicionar aos grupos extras.
Pbhj


-1

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


1
Você pode melhorar sua resposta expandindo por que essas etapas são necessárias em vez de simplesmente reinstalar. Ou seguindo uma das outras respostas. Da avaliação
J. Starnes
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.