virt-manager가 libvirt에 연결할 수 없습니다


37

여기에 이미지 설명을 입력하십시오

우분투 12.04.2 32 비트를 실행 중입니다.

시작하면 오류가 표시되지 않습니다 gksudo virt-manager.

  • libvirt-bin 설치되어 있습니다.
  • 데몬을 확인하는 방법을 모르겠습니다.
  • 의 회원입니다 libvirtd.

출력 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`

출력 ls -l /var/run/libvirt/libvirt-sock:

srwxrwx --- 1 루트 libvirtd 0 세트 13 15:04 / var / run / libvirt / libvirt-sock

출력 getent group libvirtd:

 libvirtd:x:130:OTHERUSER,MYUSER

자세한 오류 메시지

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

내가 시작하면 오류가 표시되지 않습니다gksudo virt-manager
그 브라질 가이

/etc/libvirt/libvirtd.conf파일 내용은 무엇입니까 ?
Bruno Pereira

완벽한 장소는 아니지만, 나처럼 설치 qemu하고 설치하는 것처럼 아치에 있다면 virt-manager달리기를 시도 sudo systemctl start libvirtd하고 선택적 sudo systemctl enable libvirtd으로 시작시 시작하려는 경우.
Ave

답변:


49

virt-manager설치된 시스템을 재부팅하면 문제가 해결되었습니다.


16
전형적인 리눅스 솔루션이 아닙니다!
Woeitg

1
16.04에서는 libvirt-bin .service가 궁금하다면 libvirtd .service가 아닙니다. 그래서 데몬이 있습니다.
Bulat M.

1
이 경우 일반적으로 로그 아웃 / 로그인만으로도 그룹 멤버쉽 변경 사항이 현재 세션으로 전파 될 수 있지만 개인적으로 재 로그인과 재부팅 사이에는 큰 차이가 없습니다. 오히려 "경우에 따라"재부팅을 사용했습니다.
Ped7g

"전원을 껐다가 다시 켜 보셨습니까?"
tisaconundrum

33

KVM을 설치 한 후이 명령을 실행하면 해당 오류가 다시 발생하지 않습니다.

sudo virt-manager

우와 !!! 이것이 무엇입니까, 어떻게 작동 했습니까?
Kishor Pawar

때문에 작동했습니다 sudo. 다른 답변으로 설명을 읽으십시오 ask.fedoraproject.org/en/question/45805/…
Kishor Pawar

받아 들여지는 대답이어야합니다.
Magno C

1
작동하지만 사용하려면 루트가 필요합니다. 일반 사용자가 사용하고 싶습니다. 내가 무엇을 할 수 있습니까?
Puneet Dixit

4
@ andrew-grasso가 말했듯이 그룹 멤버쉽 변경 사항을 적용하려면 로그 아웃 / 로그인해야합니다. 사용 sudo하지 않는 것이 좋습니다.
Alex Willison

5

Ubuntu 14.02 시스템에서 Qemu와 Virtualbox를 모두 관리하고 있으며 Virtualbox를 설치 한 후 libvirt-bin이 자동 시작되지 못했습니다. 따라서 libvirt-bin이 실행 중인지 확인하십시오.

ps faux | grep libvirt-bin

ps 출력에 표시되지 않으면 수동으로 시작한 다음 virt-manager를 실행하십시오.

sudo service libvirt-bin start


5

나를 위해, 로그 아웃 로그인 (또는 재부팅)없이 그룹 멤버십 변경이 적용되지 않기 때문에 오류가 발생했습니다. KVM과 libvirt-bin을 설치했습니다. 설치 프로그램이 자동으로 사용자를 libvirtd 그룹에 추가했는데 libvirt-bin 서비스를 다시 시작했지만 여전히 오류가 발생했습니다.

로그 아웃했다가 다시 로그인하면 새 그룹 멤버십을 적용하여 문제를 해결할 수 있습니다.

libvirt-bin을 설치하고 오류 메시지에서 알 수 있듯이 현재 사용자가 libvirtd 그룹의 구성원임을 이미 확인했다고 가정하면 새 그룹 멤버십을 적용하려면 로그 아웃 한 후 다시 로그인해야합니다.

파일 권한을 777로 변경하지 마십시오. 모든 것을 루트 또는 sudo로 실행하여 무엇이 잘못되었는지 이해하지 마십시오.

나는 이것이 누군가를 돕기를 바랍니다.


5

우분투 16.04.3 LTS에서

systemctl start virtlogd.socket

유일한 대답이었습니다. 소켓에는 자체 데몬이 있습니다. 특이한 일입니다.


1

op에 명시된 모든 패키지를 설치 한 후에는 로그 아웃했다가 다시 로그인 할 수 있습니다. 사용자 그룹에 추가하는 모든 항목은 로그 아웃 한 후 다시 로그인하여 새 그룹에 추가해야합니다. 재부팅보다 덜 불편한 사소한 불편입니다.

완료되지 않은 것으로 표시되었지만 사용자를 그룹에 추가하는 일반적인 규칙으로 사용됩니다. 재 로그가 필요합니다. 그것은 내가 여기서 보지 못한 부분이었습니다.


1
Ask Ubuntu에 오신 것을 환영합니다! 현재 형태로는 귀하의 답변이 가능한 한 좋지 않습니다. 좋은 답변을 작성하는 방법질문과 답변에 대한 스타일 가이드를 검토 할 수 있습니까 ? 어떤 패키지를 설치해야하는지 확인할 수 있습니다.
J. Starnes

1

reboot / logout의 대안은 터미널에서 다음 명령을 실행하는 것입니다.

newgrp libvirt
virt-manager

newgrp명령을 통해 사용자 libvirt는 이후 동일한 셸에서 시작된 프로세스에 대해 로그 아웃하지 않고 그룹 에 가입 할 수 있습니다 newgrp. 물론 이것은 libvirt 설치 프로그램이 libvirt 그룹에 당신을 넣었을 때만 작동합니다.

getent group libvirt

0

런치 패드 에서 문제에 대해 설명 하고 xen-utils패키지 를 설치하여이 문제의 원인을 해결할 수 있습니다 ( xen-utils-4.4Ubuntu 14.04). 나는 이전에 커맨드 라인 virt-manager을 통해이 문제를 해결하고 sudo있었습니다.


xen이미 설치하지 않은 경우 kvm wiki.archlinux.org/index.php/KVM 과 유사합니다 . 설치를 무시 하고 vms 실행이 중지되었습니다. VMS를 제거하면 실행이 시작 되었습니다 . kvmxenkvmxen
키쇼 파와 르

0

저에게 있어서는 사용할 때 service libvirt-bin status모든 것이 제대로 작동하고 있음을 보여주었습니다.

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

에서 /var/run/libvirt/이 두 파일이 있어야합니다 :

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

소켓이 표시되지 않으면을 사용 service libvirt-bin stop; service libvirt-bin start하여 프로세스를 완전히 다시 시작하십시오. 사용 service libvirt-bin restart하기에 충분하지 않으며 소켓을 다시 만들지 않습니다.

libvirt-bin서비스를 안전하게 정지 할 수 있고, 손님 전원을 차단할 수 없습니다 .


0

우분투 17.10부터 libvirt 그룹에 자신을 추가해야했습니다. 나는 이미 libvirtd에 자신을 추가했고 그 그룹에서 자신을 제거하지 않았습니다. 둘 다 필요한지 모르겠습니다.

/ var / run / libvirt의 내용이 libvirtd가 아닌 libvirt가 소유하고 있음을 알았 으므로이 작업을 수행했습니다.


완전한 답변을 얻으려면 자신을 추가 그룹에 추가하는 방법을 말해야합니다.
pbhj


-1

Ubuntu 소프트웨어를 사용하여 가상 관리자를 제거하고, 로그 아웃하고, 다시 로그인하고, 가상 관리자를 설치하고, sudo 또는 명령 줄을 사용하지 않고 정상적으로 실행하십시오.


1
당신은 할 수 개선 이 단계를 대신 단순히 다시 설치 필요한 이유에 확대하여 답을. 또는 다른 답변 중 하나를 따르십시오. 검토에서
J. Starnes
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.