virt-manager no puede conectarse a libvirt

38

ingrese la descripción de la imagen aquí

Estoy ejecutando Ubuntu 12.04.2 32 bits.

El error no aparece si comienzo gksudo virt-manager.

  • libvirt-bin esta instalado.
  • No sé cómo verificar el demonio.
  • Soy miembro de libvirtd.

Salida 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`

Salida de ls -l /var/run/libvirt/libvirt-sock:

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

Salida de getent group libvirtd:

 libvirtd:x:130:OTHERUSER,MYUSER

Mensaje de error detallado

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
Ese chico brasileño
fuente
El error no aparece si empiezogksudo virt-manager
Ese chico brasileño
¿Cuáles son los contenidos de su /etc/libvirt/libvirtd.confarchivo?
Bruno Pereira
No es el lugar perfecto, pero si estás en el arco como yo e instalado qemuy virt-manager, intenta ejecutar sudo systemctl start libvirtdy, opcionalmente, sudo systemctl enable libvirtdsi quieres que comience al inicio.
Ave

Respuestas:

50

Reiniciar el sistema donde virt-managerestá instalado resolvió el problema.

Ese chico brasileño
fuente
18
¡No es una solución típica de Linux!
Woeitg
1
El 16.04 su libvirt-bin .service no libvirtd .service si te preguntas. Entonces el demonio está ahí.
Bulat M.
1
Por lo general, solo cerrar sesión / iniciar sesión debería ser suficiente en este caso para hacer que los cambios en la membresía del grupo se propaguen a la sesión actual, pero para mí personalmente no hay mucha diferencia entre volver a iniciar sesión y reiniciar (causa una interrupción muy similar, el reinicio tarda aproximadamente 7 segundos más), por lo que Prefiero reiniciar "por si acaso".
Ped7g
"¿Intentaste apagarlo y luego volverlo a encender?"
tisaconundrum
33

Después de instalar KVM, ejecute este comando y luego ese error no volverá a ocurrir.

sudo virt-manager
Abhi Abhishek
fuente
whoa !!! ¿Qué es esto? ¿Cómo funcionó?
Kishor Pawar
Funcionó por sudo. lea la explicación en otra respuesta ask.fedoraproject.org/en/question/45805/…
Kishor Pawar
Debería ser la respuesta aceptada.
Magno C
1
Funciona pero necesitaba root para usar. Quiero usarlo del usuario normal. ¿Qué puedo hacer por ello?
Puneet Dixit
44
Como dice @ andrew-grasso, debe cerrar sesión / iniciar sesión para que se apliquen los cambios de membresía de grupo. El uso sudono se recomienda.
Alex Willison
6

Para mí, el error fue causado porque los cambios en la membresía del grupo no se aplican sin un inicio de sesión (o reinicio). Acababa de instalar KVM y libvirt-bin. El instalador agregó automáticamente mi usuario al grupo libvirtd, había reiniciado el servicio libvirt-bin, pero aún recibía el error.

Simplemente cerrar sesión y volver a iniciarla resolvió el problema aplicando mi nueva membresía de grupo.

Suponiendo que acaba de instalar libvirt-bin y ya confirmó que su usuario actual es miembro del grupo libvirtd como sugiere el mensaje de error, deberá cerrar sesión y volver a iniciar sesión para que se aplique la nueva membresía de grupo.

No cambie los permisos de archivos a 777 No solo ejecute todo como root o sudo para evitar comprender lo que está mal.

Espero que esto ayude a alguien.

Andrew Grasso
fuente
5

Estoy administrando Qemu y Virtualbox en mi máquina Ubuntu 14.02, y después de instalar Virtualbox, libvirt-bin no pudo iniciarse automáticamente. Comprueba si libvirt-bin se está ejecutando:

ps faux | grep libvirt-bin

si no lo ve en la salida ps: comience manualmente, luego ejecute virt-manager:

sudo service libvirt-bin start

Valentin Kantor
fuente
5

En Ubuntu 16.04.3 LTS

systemctl start virtlogd.socket

Fue la única respuesta. El zócalo tiene su propio demonio. Eso es inusual.

mr.zog
fuente
1

Después de instalar todos los paquetes indicados por el operador, puede cerrar sesión y luego volver a iniciarla. Cualquier cosa que lo agregue a grupos de usuarios debe cerrar sesión y volver a ingresar para agregarlo a los nuevos grupos. Es un inconveniente menor, menos de uno que reiniciar.

Esto se marcó como no completado, sin embargo, esto es una regla general para agregar a su usuario a un grupo. Se necesita un nuevo registro, esa fue la parte que falta que no vi aquí.

tuxdalinuxpenguin
fuente
1
Bienvenido a Ask Ubuntu! En su forma actual, su respuesta no es tan buena como podría ser. ¿Podría revisar cómo escribir una buena respuesta y la guía de estilo para preguntas y respuestas ? Podrías aclarar qué paquetes necesitan instalarse.
J. Starnes
1

Una alternativa para reiniciar / cerrar sesión es ejecutar los siguientes comandos desde un terminal:

newgrp libvirt
virt-manager

El newgrpcomando permite al usuario unirse al libvirtgrupo sin cerrar sesión, para los procesos que se inician en el mismo shell después newgrp. Por supuesto, esto solo funciona si el instalador de libvirt lo coloca en el grupo libvirt, lo que puede verificar con:

getent group libvirt
alkisg
fuente
0

El problema se discute en Launchpad y la causa de este problema se puede resolver instalando el xen-utilspaquete ( xen-utils-4.4en Ubuntu 14.04). Anteriormente estaba solucionando este problema a virt-managertravés sudode la línea de comando.

Jay Philips
fuente
xenes similar a kvm wiki.archlinux.org/index.php/KVM , si ya lo ha kvminstalado, no lo instale xen. Anula mi kvminstalación y mi vms dejó de ejecutarse. cuando xeneliminé vms comenzó a ejecutarse.
Kishor Pawar
0

Para mí, el caso fue que, al usarlo service libvirt-bin status, mostró que todo funcionaba bien, aunque no pude conectarme 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
[...]

En /var/run/libvirt/debería haber estos dos archivos:

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

Si los sockets no se muestran, use service libvirt-bin stop; service libvirt-bin startpara reiniciar completamente el proceso. Utilizandoservice libvirt-bin restart no es suficiente y no volverá a crear el socket.

El libvirt-binservicio se puede detener de forma segura y no apagará a los invitados .

Flatron
fuente
0

A partir de Ubuntu 17.10, también tuve que agregarme al grupo libvirt. Ya me había agregado a libvirtd y no me eliminé de ese grupo. No sé si ambos son obligatorios o no.

Hice esto porque noté que el contenido de / var / run / libvirt era propiedad de libvirt en lugar de libvirtd.

K. Gimbel
fuente
Para ser una respuesta completa, necesita decir cómo agregarse a los grupos adicionales.
pbhj
-1

Tuve este mismo problema y en el informe de error detallado habla de falta de permiso para el libvirt-sockarchivo. Cambiar el permiso del archivo /var/run/libvirt/libvirt-socka 777 lo hizo funcionar para mí.

Gebeyew
fuente
3
Cambiar las máscaras de permisos a 0777 es malo . ¡No recomiende acciones potencialmente dañinas sin explicar las consecuencias! -1
David Foerster
-1

use el software Ubuntu para desinstalar el administrador virtual, cerrar sesión, volver a iniciar sesión, instalar el administrador virtual y ejecutarlo normalmente sin usar sudo o incluso usar la línea de comandos.

conocerte
fuente
1
Puede mejorar su respuesta al ampliar por qué estos pasos son necesarios en lugar de simplemente reinstalarlos. O siguiendo una de las otras respuestas. De la opinión
J. Starnes