This site best when viewed with a modern standards-compliant browser. We recommend Firefox Get Firefox!.

Linux-HA project logo
Providing Open Source High-Availability Software for Linux and other OSes since 1999.

USA Flag UK Flag

Japanese Flag

Homepage

About Us

Contact Us

Legal Info

How To Contribute

Security Issues

This web page is no longer maintained. Information presented here exists only to avoid breaking historical links.
The Project stays maintained, and lives on: see the Linux-HA Reference Documentation.
To get rid of this notice, you may want to browse the old wiki instead.

1 February 2010 Hearbeat 3.0.2 released see the Release Notes

18 January 2009 Pacemaker 1.0.7 released see the Release Notes

16 November 2009 LINBIT new Heartbeat Steward see the Announcement

Last site update:
2017-12-15 01:16:10

Distributed Lock Manager

A distributed lock manager (DLM) is a common component of many clustering filesystems and databases.

DLMs provide cluster-wide locking services which are fault-tolerant and scaleable.

In a typical DLM, mastery (ownership) of locks is distributed to different nodes in the cluster, so that the locking resource burden is distributed across all the nodes in the cluster.

One node is assigned the job of keeping track of which nodes master which locks, so that if a node does not know where a lock is being mastered, it can find that out. To minimize this extra overhead, each node keeps a cache of lock location information it has obtained from the lock location service.

One of the key issues in DLM implementation is recovery. When a node dies, all locks it was holding are released, and the state of all locks it was mastering have to be recovered.

As a result, each node in the cluster has to keep track of all the locks it is holding so that it can provide this information to the new lock master when recovering the state of locks mastered by the nodes(s) which left the cluster.

Some DLM implementations will migrate lock mastery (management) to a new node if that new node is performing the majority of the lock operations on a particular lock.