Создание виртуальной машины с помощью libvirt ошибка, связанная с AppArmor
Я пытаюсь создать виртуальную машину с помощью libvirt, используя команду:
virsh create file
Содержание "file":
<domain type='qemu' id='3'>
<name>testvm</name>
<memory>100</memory>
<vcpu>1</vcpu>
<os>
<type arch='i686'>hvm</type>
</os>
<devices>
<disk type='file' device='disk'>
<source file='/libtmp/VM-linux.0.2.img'/>
<target dev='hdc'/>
</disk>
</devices>
<on_reboot>restart</on_reboot>
<on_poweroff>preserve</on_poweroff>
<on_crash>restart</on_crash>
</domain>
Вот ошибка, которая происходит.
error: Failed to create domain from file
error: internal error cannot load AppArmor profile 'libvirt-9cb01efc-ed3b-ff8e-4de5-7227d311dd15'
Я могу создать виртуальную машину без загрузки файла образа.
Каждый раз, когда имя профиля продолжает меняться. Я попытался остановить его и создать виртуальную машину, но получил ту же ошибку.
Любые указатели будут очень полезны.
3 ответов:
Это ошибка в libvirt. См. https://bugs.launchpad.net/ubuntu / + источник / libvirt / + ошибка/665531
Измените xml-определение виртуального домена с помощью команды "virsh edit domainname". Заменить host_device тип='' с Type='Raw' в XML-определения.
У меня была та же проблема, и причина заключалась в том, что у меня была плохая идея поместить изображение cdrom только для чтения в /etc следующим образом:
<disk type="file" device="cdrom"> <driver name='qemu' type="raw" /> <source file="/etc/libvirt/qemu/cdrom.iso" /> <target dev='hdb' bus='virtio'/> <readonly/> </disk>Перемещение в /var удаляет сообщение об ошибке и позволяет запустить виртуальную машину. Эта строка:
<source file="/var/lib/libvirt/images/cdrom.iso" />
Это обходной, но не правильный путь. Установите AppArmor в режим жалоб, используя следующую команду:
sudo aa-complain /usr/sbin/libvirtd
Comments