Virt-install 오류: 점화 파일을 로드할 수 없습니다.

Virt-install 오류: 점화 파일을 로드할 수 없습니다.

여기에 설명된 대로 virt-install을 사용하여 Fedora CoreOS를 설치하려고 합니다. https://docs.fedoraproject.org/en-US/fedora-coreos/getting-started/

내가 실행 중인 정확한 명령은 다음과 같습니다.virt-install --connect qemu:///system -n fcos -r 2048 --os-variant=fedora31 --import --graphics=none --disk size=10,backing_store=fedora-coreos-31.20200310.3.0-qemu.x86_64.qcow2 --qemu-commandline="-fw_cfg name=opt/com.coreos/config,file=/home/test/Downloads/example.ign"

이 오류를 반환합니다:

Allocating 'fcos.qcow2'                                                                                              |  10 GB  00:00:00     
ERROR    internal error: qemu unexpectedly closed the monitor: 2020-04-05T14:52:47.919380Z qemu-system-x86_64: -fw_cfg name=opt/com.coreos/config,file=/home/test/Downloads/example.ign: can't load /home/test/Downloads/example.ign
Removing disk 'fcos.qcow2'                                                                                           |    0 B  00:00:00     
Domain installation does not appear to have been successful.

이 명령을 루트로 실행하고 있습니다. iso 파일에서 이 VM을 배포하는 데 성공적으로 사용했기 때문에 점화 파일이 작동하고 있습니다.

답변1

시작하기 팁에 따르면 동일한 문제가 발생하여 chcon 명령을 실행해야 할 수도 있습니다.

SELinux가 활성화된 상태에서 실행하는 경우 액세스를 허용하도록 Ignition 파일의 레이블을 변경해야 할 수도 있습니다: chcon -t svirt_home_t path/to/example.ign

답변2

아마도 AppArmor 문제일 가능성이 높습니다. 동일한 문제가 발생하여 다음과 같은 가능한 모든 파일 권한 해결 방법을 시도했지만 setfacl -m u:libvirt-qemu:rx결국 chcon -tAppArmor 프로필 제한이 발생했습니다.

/etc/apparmor.d/libvirt/TEMPLATE.qemu점화 구성 경로를 포함하도록 변경하여 문제를 해결하려면 다음을 수행하십시오 .

#
# This profile is for the domain whose UUID matches this file.
#

#include <tunables/global>

profile LIBVIRT_TEMPLATE flags=(attach_disconnected) {
  #include <abstractions/libvirt-qemu>
  /home/test/Downloads/example.ign rk,
  /etc/ignition/**.ign rk,
}

/etc/ignition/**.ign나중에 VM에 대한 모든 Ignition 구성을 구성하기로 결정한 경우 예로 glob을 추가했습니다 .

이렇게 하면 .NET Framework를 사용하여 CoreOS VM을 생성할 수 있습니다 virt-install.

옵션으로 설정하여 Qemu용 AppArmor를 비활성화할 수 있지만 security_driver = "none"이는 /etc/libvirt/qemu.conf권장되지 않습니다.

답변3

루트로 실행하는지 여부에 관계없이 virt-installlibvirt가 시작한 VM은 사용자 qemu:///system를 사용하고 있을 가능성이 높습니다 qemu. 예를 들어 해당 qemu사용자는 /home/test에 대한 검색+읽기 액세스 권한이 없을 수 있습니다. 파일을 이동하면 문제가 해결되거나 전체 파일 경로 /tmp에 대한 권한이 열립니다./home/test

답변4

최신 버전 사용가상 관리자(6.5) 및libvirt(3.0), 이제 사용할 수 있습니다

virt-install \
    --sysinfo type=fwcfg,entry0.name=opt/com.coreos/config,entry0.file=${IGNITION_CONFIG} \
    ...

그러면 점화 파일의 라벨이 올바르게 설정됩니다.

관련 정보