尝试使用“频道qemu-ga”在guest上“热”附加磁盘时出现libvirt错误

时间:2015-11-30 14:50:26

标签: qemu kvm libvirt virsh

我有KVM个虚拟机正在运行CentOS 7作为访客OS。我正在尝试使用此命令在运行时附加一个额外的磁盘(不关闭它):

$ sudo virsh attach-disk centos --source /var/lib/libvirt/images/newdisk.img --target sdb --persistent

但收到错误:

error: Failed to attach disk
error: internal error: cannot update AppArmor profile 'libvirt-d2e7bbb8-c7b3-44ec-b0ea-27539e0df732'

如果我对Debian来宾做同样的事情 - 一切正常。

有什么区别,如何解决?

更新

我有评论!

我比较了两个VM的xml,并看到CentOS在他的配置中有QEMU-agent

<channel type="unix">
    <source mode="bind" path="/var/lib/libvirt/qemu/channel/target/centos_auto.org.qemu.guest_agent.0"></source>
    <target name="org.qemu.guest_agent.0" type="virtio"></target>
    <address bus="0" controller="0" port="1" type="virtio-serial"></address>
</channel>

然后我删除了“频道qemu-ga”,重新启动了VM并选中了“热添加”功能。它奏效了。

我在其他VMCentOSFedoraDebian上对其进行了测试,并看到了同样的情况。

结果:

  1. 如果启用qemu-agent我无法使用hot plug
  2. 如果使用“热插拔”,我必须忘记代理。
  3. 这是我在配置中的错误还是这些功能无法一起工作?

    主机操作系统:Ubuntu 15.10

    QEMU模拟器:现在2.4.92(已测试2.32.4.1

    VMM:1.3.0

1 个答案:

答案 0 :(得分:0)

这是libvirt的apparmor安全驱动程序中的一个明显错误。 XML中QEMU来宾代理配置的存在应该对将磁盘热插拔到guest虚拟机的能力没有影响。这个bug应该报告给libvirt上游或Ubuntu bug跟踪器。