libvirt VM

时间:2018-12-03 08:48:18

标签: virtual-machine qemu kvm libvirt

因此,我正在尝试在两个libvirt VM之间共享磁盘。我使用qemu-img create创建了一个磁盘,然后使用virsh attach-disk将该磁盘连接到VM。现在,我也想将同一磁盘附加到另一个VM。当我尝试连接到下一个VM时,出现以下错误:

error: Failed to attach disk
error: internal error: unable to execute QEMU command 'device_add': Failed to get "write" lock

有可能吗?如果没有,还有其他更好的选择吗? TIA。

1 个答案:

答案 0 :(得分:1)

默认情况下,所有硬盘均设置为独占访问,只有CDROM介质被允许由多个VM共享。要覆盖此默认行为,您需要在<shareable/>配置中设置<disk>...</disk>元素。在https://libvirt.org/formatdomain.html#elementsDisks

上有关于磁盘设置的更多文档。

sharedable标志使SELinux / AppArmor策略允许共享访问,并告诉libvirt&QEMU锁管理器使用共享锁。

NB,这仅适用于由原始卷支持的磁盘。您永远不能将qcow2映像用于共享写入磁盘,因为它将导致qcow2元数据损坏。