8

我正在尝试使用以下命令使用 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'

我能够在不加载图像文件的情况下创建 vm。

每次配置文件名称不断变化。我尝试停止它并创建虚拟机,但我得到了同样的错误。

任何指针都会非常有帮助。

4

3 回答 3

6

我遇到了同样的问题,原因是我有一个坏主意,将只读 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" />
于 2016-04-19T11:54:24.070 回答
4

这是 libvirt 中的一个错误。见https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/665531

使用“virsh edit domainname”命令编辑虚拟域的 xml 定义。在 xml 定义中将 type='host_device' 替换为 type='raw'。

于 2012-08-28T05:00:09.917 回答
2

这是一种解决方法,但不是正确的方法。使用以下命令将 AppArmor 设置为抱怨模式:

sudo aa-complain /usr/sbin/libvirtd
于 2012-08-25T11:58:20.397 回答