virsh: 사용자로 하이퍼바이저에 연결하지 못했습니다.

virsh: 사용자로 하이퍼바이저에 연결하지 못했습니다.

현재 RHEL 7.7 운영 체제를 실행하고 있습니다.

kvm2 드라이버를 사용하여 minkube 환경을 설정하려고 했더니 minikube가 정상적으로 시작되지만 시작 중에 오류가 발생합니다.

오류는 다음과 같습니다.

'kvm2' driver reported an issue: /bin/virsh domcapabilities --virttype kvm failed:
error: failed to connect to the hypervisor
error: Cannot recv data: Connection reset by peer

그래서 조사를 시작하고 먼저 동일한 오류가 발생하는 명령줄에서 virsh 명령을 실행하려고 시도했습니다. 그래서 두 번째로 시도한 것은 sudo로 이 명령을 실행하는 것이었고 이 경우에는 작동했습니다.

그래서 권한 문제인 것 같지만 여전히 이 문제를 해결하지 못하고 있습니다. (Sudo를 사용하지 않고 사용자로 minikube를 시작하고 싶습니다.)

내가 지금까지 시도한 것 :

  1. libvirt 그룹에 내 사용자 추가 - 여전히 실패
  2. 그룹에 내 사용자 추가: kvmuser qemu 및 kvm - 여전히 실패
  3. 다음 구성으로 libvirtd.conf 파일을 업데이트했습니다.
unix_sock_group = "libvirt"
unix_sock_ro_perms = "0777"
unix_sock_rw_perms = "0770"
unix_sock_dir = "/var/run/libvirt"

  1. 이 콘텐츠에 이미 존재하는 정책 키트 규칙을 확인했습니다.
polkit.addRule(function(action, subject) {
    if (action.id == "org.libvirt.unix.manage"
            && subject.local
            && subject.active
            && subject.isInGroup("wheel")) {
        return polkit.Result.YES;
    }
});

그래서 휠 그룹에 내 사용자를 추가하려고 했지만 여전히 같은 문제가 발생했습니다.

  1. systemd-network에도 내 사용자를 추가했습니다. (여기서는 무작위로 시작했습니다. ㅋㅋㅋ :D) 같은 문제입니다.
  2. 비활성화된 selinux - 같은 문제입니다.

그래서 여기저기 찾아보았지만 내 문제에 대한 해결책을 찾을 수 없었습니다. 누군가 문제를 해결할 수 있었을까요?

일반 사용자로 vish 명령을 실행하고 싶습니다.

답변1

그래서 모든 어려움을 겪은 후에도(그리고 아마도 올바른 그룹에 사용자를 추가하는 것이 올바른 구성의 일부였을 것입니다), 사용자로 작동하도록 하는 데 여전히 한 가지가 누락되었습니다.

분명히 내보내려면 다음 환경 변수가 필요합니다.

export LIBVIRT_DEFAULT_URI=qemu:///system

내보내기 후에 사용자가 libvirt에 대해 허용된 그룹에 있으면 모든 명령이 작동하기 시작합니다.

답변2

나는 편리한 rhel libvirt 가능 호스트가 없지만 다음 지침에 따라 fedora 31을 사용합니다.libvirt dbus 문서 페이지휠 멤버 사용자로 실행할 수 있습니다.

$ cat /etc/dbus-1/system.d/org.libvirt.conf 
<?xml version="1.0"?>
<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">

<busconfig>

  <policy group="wheel">
    <allow send_destination="org.libvirt"/>
  </policy>

</busconfig>

$ id
uid=1000(natxo) gid=1000(natxo) groups=1000(natxo),10(wheel) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
$ virsh domcapabilities --virttype kvm
<domainCapabilities>
  <path>/usr/bin/qemu-system-x86_64</path>
  <domain>kvm</domain>
  <machine>pc-i440fx-4.1</machine>
  <arch>x86_64</arch>
  <vcpu max='255'/>
  <iothreads supported='yes'/>
  <os supported='yes'>
    <enum name='firmware'>
      <value>efi</value>
    </enum>
...

libvirtd를 다시 시작해야 할 수도 있습니다.

관련 정보