NFS 풀에 액세스하는 동안 Virt-manager 권한이 거부되었습니다.

NFS 풀에 액세스하는 동안 Virt-manager 권한이 거부되었습니다.

현재 이 오류가 발생합니다.
여기에 이미지 설명을 입력하세요.

NFS 공유에 가상 머신을 설치하려고 할 때. virt-manager의 스토리지 풀에 NFS 공유(FreeNAS의)를 추가했습니다.여기에 이미지 설명을 입력하세요.

또 다른 문제는 다른 NFS 공유에서 ISO 파일을 읽을 수 없는 것 같습니다. 이 문제를 해결할 수 있기를 바랍니다.

나는 다음을 시도했습니다 :

  • qemu.conf - 사용자의 주석 처리를 해제하여 루트 사용자를 강제합니다.
  • mapall 사용자는 내 freenas 공유의 루트입니다(모든 사용자는 루트 권한을 얻습니다).

답변1

가장 가능성이 높은 문제는 Freenas nfs 권한과 관련이 없고 오히려 호스트의 selinux(또는 Ubuntu를 사용하는 경우 의류) 구성과 관련이 있습니다.

libvirt 문서에 따르면http://libvirt.org/drvqemu.html#securityselinux

SELinux 기본 제한 QEMU 가상 머신의 기본 SELinux 보호는 가상 머신 프로세스의 손상으로부터 호스트 운영 체제를 보호하도록 설계되었습니다. 손님 사이에는 보호 장치가 없습니다.

기본 모델에서 모든 QEMU 가상 머신은 제한된 도메인 루트:system_r:qemu_t에서 실행됩니다. QEMU 가상 머신에 할당된 모든 디스크 이미지에는 system_u:object_r:virt_image_t 태그가 지정되어야 합니다. 기본 배포에서 패키지 공급업체/배포자는 일반적으로 /var/lib/libvirt/images 디렉터리에 이 레이블이 있는지 확인하여 이 디렉터리에 생성된 모든 디스크 이미지가 자동으로 올바른 레이블을 상속하도록 합니다. 디스크 이미지를 다른 곳에서 사용하려는 경우 사용자/관리자는 디렉터리에 이 필수 레이블이 지정되었는지 확인해야 합니다. 마찬가지로 물리적 블록 장치는 system_u:object_r:virt_image_t로 표시되어야 합니다.

모든 파일 시스템에서 개별 파일에 태그를 지정할 수 있는 것은 아닙니다. 특히 NFS, VFat 및 NTFS는 태그를 지원하지 않습니다. 이러한 경우 관리자는 파일 시스템을 마운트할 때 "context" 옵션을 사용하여 기본 레이블을 system_u:object_r:virt_image_t로 설정해야 합니다. NFS의 경우 virt_use_nfs SELinux 부울을 활성화하는 대체 옵션이 있습니다.

올바른 레이블이 존재하는지 확인하려면 ls -Z가상 머신 이미지가 저장된 디렉토리에서 작업을 수행하십시오.

가상 머신에 대한 nfs 액세스를 활성화하려면 다음을 사용해야 합니다.

setsebool virt_use_nfs on

관련 정보