[libvirt-users] Locking without virtlockd (nor sanlock)?
Gionatan Danti
g.danti at assyoma.it
Fri Jan 3 13:56:50 UTC 2020
Il 03-01-2020 11:26 Daniel P. Berrangé ha scritto:
> virtlockd also uses fcntl(), however, it doesn't have to acquire locks
> on
> the file/block device directly. It can use a look-aside file for
> locking.
> For example a path under /var/lib/libvirt/lock. This means that locks
> on
> block devices for /dev/sda1 would be held as
> /var/lib/libvirt/lock/$HASH(/dev/sda1)
>
> If you mount /var/lib/libvirt/lock on NFS, these locks now apply across
> all machines which use the same block devices. This is useful when your
> block device storage is network based (iSCSI, RBD, etc).
Hi Daniel,
if I understand the docs correctly, this locking scheme is really useful
for raw block devices, right?
Now that Qemu automatically locks file-based vdisks, what is the main
advantage of virtlockd locking?
> There are some issues with libvirt's locking though where we haven't
> always released/re-acquired locks at the correct time when dealing
> with block jobs. As long as your not using snapshots, block rebase,
> block mirror APIs, it'll be ok though.
While I am not an heavy user of external snapshot and other
block-related operation, I occasionally use them (and, in these cases, I
found them very useful).
Does it means that I should avoid relying on virtlockd for locking?
Should I rely on Qemu locks only?
Thanks.
--
Danti Gionatan
Supporto Tecnico
Assyoma S.r.l. - www.assyoma.it
email: g.danti at assyoma.it - info at assyoma.it
GPG public key ID: FF5F32A8
More information about the libvirt-users
mailing list