Hi,
Currently the lock manager infrastructure has implementation of nop, sanlock
and lockd. The first do nothing, while sanlock and lockd all requires
the share
stroage, and lockd is not provided fence mechanism, sanlock would force to
restart OS when stopping daemon.
The first half of 2017, QEMU introduced the `share-rw` and `file.locking` to
handle a problem:
https://bugzilla.redhat.com/show_bug.cgi?id=1080152 ,
someone
said:
There is also scope for creating new plugins for libvirt to use other
mechanism if someone comes up with other ideas.
So what about dlm-corosync?
DLM(distributed lock manage) is implemented by kernel, it provides some
userspace
API by "libdlm" to lock/unlock resource, using these API need a daemon named
dlm_controld. "Corosync" is cluster messager layer using TCP or UDP,
responsible
for members management in cluster. dlm_controld and corosync are formed
a kind of
lock which could be used in cluster. And there is another component
named "sbd"
providing fence mechanism, it's not necessary, `dlm_controld -f 0` would
disable it.
As for implement, I think we could make use of virtlockd daemon, just
add some
RPC callback in micro-on.
-- Regards River