Libvirt includes a framework for ensuring mutual exclusion between virtual machines using host resources. Typically this is used to prevent two VM processes from having concurrent write access to the same disk image, as this would result in data corruption if the guest was not using a cluster aware filesystem.
The lock manager framework has a pluggable architecture, to allow different locking technologies to be used.
nop
lockd
virtlockd
daemon
to manage locks using the POSIX fcntl() advisory locking
capability. As such it requires a shared filesystem of
some kind be accessible to all hosts which share the
same image storage.sanlock