![libvirt/kvm 客户机因 ApparmorProfile 中的问题而失败](https://linux22.com/image/1157931/libvirt%2Fkvm%20%E5%AE%A2%E6%88%B7%E6%9C%BA%E5%9B%A0%20ApparmorProfile%20%E4%B8%AD%E7%9A%84%E9%97%AE%E9%A2%98%E8%80%8C%E5%A4%B1%E8%B4%A5.png)
为什么我的客户端由于此 apparmor 配置文件错误而无法启动/无法连接设备。
开始:
error: Failed to start domain c
error: internal error: cannot load AppArmor profile 'libvirt-8763795d-f056-4373-9d57-3d3bad391e5a'
附加设备:
error: Failed to attach device from disk.xml
error: internal error: cannot update AppArmor profile 'libvirt-8763795d-f056-4373-9d57-3d3bad391e5a'
这个 libvirt-8763795d-f056-4373-9d57-3d3bad391e5a 东西在哪里?是什么?
答案1
在这个特定情况下,我的文件名中包含一些无法映射到 apparmor 规则的字符,这些规则无法阻止来宾逃脱。在日志中我发现:
virt-aa-helper: error: skipped restricted file
virt-aa-helper: error: invalid VM definition
因为我的文件名称(这次很明显)不正确。
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/break,^*[]", foo"me.qcow'/>
<target dev='vdd' bus='virtio'/>
</disk>
有一个关于AppArmor 与 libvirt/KVM 相关它解释了如何获取日志以及如何在这些情况下调整配置。
该页面还涵盖了更常见的情况,例如不常见的图像路径和通过 libvirt 使用 qemu:commandline。
PS 如果您认为 wiki 页面上缺少常见案例,请告诉我,以便我们可以一起扩展它。