【问题标题】:libvirt error when trying to 'hot' attach-disk on guest with "Channel qemu-ga"尝试使用“Channel qemu-ga”在客户机上“热”附加磁盘时出现 libvirt 错误
【发布时间】:2015-11-30 14:50:26
【问题描述】:

我有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 并检查了“热添加”功能。它奏效了。

我在其他VMs(CentOSFedoraDebian)上测试了它并看到了相同的结果。

结果:

  1. 如果启用qemu-agent,我将无法使用hot plug
  2. 如果使用“热插拔”,我必须忘记代理。

是我配置错误还是这些功能不能一起使用?

主机操作系统:Ubuntu15.10

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

VMM: 1.3.0

【问题讨论】:

  • 这很可能是一个错误。什么是主机操作系统?它有 AppArmor(我猜是的)。 /etc/libvirt/qemu.conf 中的security_driver 的设置是什么?根据this post 启用调试信息也很好,然后尝试从那里开始,提交错误或在邮件列表中询问。

标签: qemu kvm libvirt virsh


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2014-11-29
    • 2020-04-06
    • 2021-12-11
    • 2015-06-20
    • 2020-10-18
    • 2019-03-20
    • 1970-01-01
    • 2013-09-27
    • 1970-01-01
    相关资源
    最近更新 更多