Re: [PATCH 1b/7] dlm: core locking

Lars Marowsky-Bree
2005-04-27T13:43:58Z

On 2005-04-27T11:02:17, David Teigland <teigland@redhat.com> wrote:

Let me chime in here, because defining the properties of the membership
events delivered to the DLM is really important to figure out if/how it
can be integrated with other stacks.

> > In this case the order of lock messages with the membership changes is
> > important.
> I think this might help clarify: no membership change is applied to the
> lockspace on any nodes until the lockspace has first been suspended on
> all. Suspending means no locking activity is processed. The lockspace on
> all nodes is then told the new membership and does recovery. Locking is
> then resumed.

So in effect, the delivery of the suspend/membership distribution/resume
events are three cluster-wide barriers?

I can see how that simplifies the recovery algorithm.

And, I assume that the delivery of a "node down" membership event
implies that said node also has been fenced.

So we can't deliver it raw membership events. Noted.

> I know you're more familiar with those details than I am. What I keep
> trying to explain is that the dlm is in a different, simpler category.

Agreed. This is something I noticed when I looked at how the DLM fits
into the global cluster resource management architecture, too.

For example, if you talk to Stephen ;), you'll be told that every
cluster resource is essentially a lock. But, our resources have complex
dependencies, start/stop ordering etc; a DLM which tried to map these
would blow up completely.

So, we have the "top-level" "lock manager", our CRM, which manages these
complex "locks". However, it's also worth noting that there's rather few
of them to manage, and they don't change very often.

Now, the DLM has simpler locking semantics, but it manages magnitudes
more of them, and faster so.

If you want to think about this in terms of locking hierarchy, it's the
high-level feature rich sophisticated aka bloated lock manager which
controls the "lower level" faster and more scalable "sublockspace" and
coordinates it in terms of the other complex objects (like fencing,
applications, filesystems etc).

Just some food for thought how this all fits together rather neatly.

Sincerely,
Lars Marowsky-Brée <lmb@suse.de>

--
High Availability & Clustering
SUSE Labs, Research and Development
SUSE LINUX Products GmbH - A Novell Business