如何解决CoreOS Image无法通过libvirt加载点火文件权限被拒绝
我正在使用VM测试新的网络配置,并在系统上安装了libvirt和qemu。遵循Fedora CoreOS的文档以帮助入门。
已采取的步骤
- 我已将用户更新为 kvm 和 libvirt 组的成员
data
- 创建点火YAML并导出到JSON .ign文件
> groups [ .. ] video kvm fuse libvirt
- 直接使用文档运行kvm命令可以正常工作。我可以进入系统
- libvirt能够使用原始CoreOS文档(https://coreos.com/os/docs/latest/booting-with-libvirt.html#virtual-machine-startup)中附带qemu命令的步骤生成XML。
{"ignition":{"version":"3.1.0"},"passwd":{"users":[{ ...
- 尝试将点火文件的权限设置为“ kvm”和“ libvirt”,而没有更改。当前所有使用libvirt的文件:
... <qemu:commandline xmlns:qemu="http://libvirt.org/schemas/domain/qemu/1.0"> <qemu:arg value="-fw_cfg"/> <qemu:arg value="name=opt/com.coreos/config,file=/var/lib/libvirt/machine/main.ign"/> </qemu:commandline>
- 机器已加载并显示在virt-manager中
$ ls -l /var/lib/libvirt/machine/ total 8 -rw-r--r-- 1 root libvirt 2242 Sep 20 17:16 domain.xml -rwxr-xr-x 1 root libvirt 658 Sep 20 17:15 main.ign
唯一的问题是该计算机无法在virt-manager或virsh中运行:
$ virsh list --all
Id Name State
-----------------------------
- machine shut off
现在对做什么的想法已经不存在了。有人有主意吗?
解决方法
改为尝试
# mv main.ign /var/lib/libvirt/images/
# restorecon /var/lib/libvirt/images/main.ign
/var/lib/libvirt/images
已获得适当许可,并标记了selinux以供VM访问。 /var/lib/libvirt/machines
不是标准的libvirt目录,因此根据您创建它的方式,qemu进程可能无法访问。同样在Fedora上,qemu进程以“ qemu”用户而不是“ kvm”或“ libvirt”用户身份启动,因此也可能是由于该原因,但是如果文件位于/ var / lib / libvirt / images中并且具有全局读取权限那么我认为就足够了
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。