[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt-users] Locking without virtlockd (nor sanlock)?



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 assyoma it - info assyoma it
GPG public key ID: FF5F32A8



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]