[libvirt] RFC: Introduce a dlm-corosync for Lock manager plugin

Fu.Lin lfu at suse.com
Wed Dec 20 07:11:48 UTC 2017


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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20171220/ef9196de/attachment-0001.htm>


More information about the libvir-list mailing list