libvirt VM 之间的共享磁盘
Shared disk among libvirt VM
所以,我正在尝试在两个 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.
所有硬盘默认设置为独占访问,只允许CDROM介质被多个VM共享。要覆盖此默认行为,您需要在 <disk>...</disk>
配置中设置 <shareable/>
元素。 https://libvirt.org/formatdomain.html#elementsDisks
中有关于磁盘设置的更多文档
可共享标志导致 SELinux/AppArmor 策略允许共享访问,并告知 libvirt 和 QEMU 锁管理器使用共享锁。
注意,这仅适用于由原始卷支持的磁盘。您永远不能将 qcow2 映像用于共享写入磁盘,因为它会导致 qcow2 元数据损坏。
所以,我正在尝试在两个 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.
所有硬盘默认设置为独占访问,只允许CDROM介质被多个VM共享。要覆盖此默认行为,您需要在 <disk>...</disk>
配置中设置 <shareable/>
元素。 https://libvirt.org/formatdomain.html#elementsDisks
可共享标志导致 SELinux/AppArmor 策略允许共享访问,并告知 libvirt 和 QEMU 锁管理器使用共享锁。
注意,这仅适用于由原始卷支持的磁盘。您永远不能将 qcow2 映像用于共享写入磁盘,因为它会导致 qcow2 元数据损坏。