아래 설명에 따라 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 파일에서 이 가상 머신을 배포하는 데 성공적으로 사용했기 때문에 점화 파일이 작동 중입니다.
답변1
저도 같은 문제가 있었고 시작하기 팁에 따르면 chcon 명령을 실행해야 할 수도 있습니다.
SELinux가 활성화된 상태에서 실행하는 경우 액세스를 허용하도록 Ignition 파일의 레이블을 변경해야 할 수도 있습니다: chcon -t svirt_home_t path/to/example.ign
답변2
AppArmor 문제일 가능성이 높습니다. 동일한 문제가 발생하여 다음과 같은 가능한 모든 파일 권한 해결 방법을 시도했지만 setfacl -m u:libvirt-qemu:rx
결국 chcon -t
AppArmor 프로필 제한이 발생했습니다.
이 문제를 해결하려면 /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
나중에 가상 머신의 모든 Ignition 구성을 구성하기로 결정한 경우 예로 glob을 추가할 것입니다.
그래서 당신은 그것을 사용할 수 있습니다 virt-install
.
옵션으로 설정을 통해 Qemu의 AppArmor를 비활성화할 수 있지만 security_driver = "none"
그렇게 /etc/libvirt/qemu.conf
하지 않는 것이 좋습니다.
답변3
virt-install
libvirt에 의해 시작된 가상 머신은 루트로 실행 중인지 여부에 관계없이 qemu:///system
이 qemu
사용자를 사용할 수 있습니다. 예를 들어, qemu
사용자에게 /home/test에 대한 검색+읽기 액세스 권한이 없을 수 있습니다. 파일을 /tmp
수정할 수 있는 곳으로 이동하거나 /home/test
전체 파일 경로에 대한 권한을 열어주세요.
답변4
최신 버전을 사용하세요가상 관리자(6.5) 및라이브러리 가상 머신(3.0), 이제 사용할 수 있습니다
virt-install \
--sysinfo type=fwcfg,entry0.name=opt/com.coreos/config,entry0.file=${IGNITION_CONFIG} \
...
이렇게 하면 점화 파일의 태그가 올바르게 설정됩니다.