cluster-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
From: Steven Whitehouse <swhiteho@redhat.com>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] [PATCH 5/5] gfs2: dlm based recovery coordination
Date: Mon, 09 Jan 2012 17:02:12 +0000	[thread overview]
Message-ID: <1326128532.2690.55.camel@menhir> (raw)
In-Reply-To: <20120109164626.GA9956@redhat.com>

Hi,

On Mon, 2012-01-09 at 11:46 -0500, David Teigland wrote:
> On Mon, Jan 09, 2012 at 04:36:30PM +0000, Steven Whitehouse wrote:
> > On Thu, 2012-01-05 at 10:46 -0600, David Teigland wrote:
> > > This new method of managing recovery is an alternative to
> > > the previous approach of using the userland gfs_controld.
> > > 
> > > - use dlm slot numbers to assign journal id's
> > > - use dlm recovery callbacks to initiate journal recovery
> > > - use a dlm lock to determine the first node to mount fs
> > > - use a dlm lock to track journals that need recovery
> > 
> > I've just been looking at this again, and a question springs to mind...
> > how does this deal with nodes which are read-only or spectator mounts?
> > In the old system we used to propagate that information to gfs_controld
> > but I've not spotted anything similar in the patch so far, so I'm
> > wondering whether it needs to know that information or not,
> 
> The dlm allocates a "slot" for all lockspace members, so spectator mounts
> (like readonly mounts) would be given a slot/jid.  In gfs_controld,
> spectator mounts are not be given a jid (that came from the time when
> adding a journal required extending the device+fs.)  These days, there's
> probably no meaningful difference between spectator and readonly mounts.
> 

The issue is more related to recovery time, though. For spectator
mounts, we don't have to care about recovery at all, and if one fails,
it does not need to be recovered at the fs level. Spectator mounts can
check the journals, but cannot recover any, so as the first mounter of
the filesystem, they must fail to mount if any journals are left dirty.

For read only, it is less clear... the first read only mounter of the fs
must recover all journals. After that, currently, read-only nodes do not
perform recovery, although we could change that - it isn't clear what
the correct path is here, so we need to pick one and stick with it. If a
read-only node fails, we do not need to recover it, since there is
nothing to do (as per spectator).

What I want to avoid is having a cluster of read-only mounted nodes,
have one fail, and then the rest of the cluster is stuck because its
trying to recover the journal for the failed node and there are no nodes
which are able to perform that recovery left in the cluster.

If assigning a slot to spectator mounts means that spectator mounts now
have (effectively) a journal id assigned to them, even if they never
touch it, then that is a change we need to be careful to document in
case someone has a small filesystem with a number of spectator mounters
sharing it, and is thus unable to create more journals when they upgrade
to the new system.

Steve.




  parent reply	other threads:[~2012-01-09 17:02 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-05 16:46 [Cluster-devel] [PATCH 5/5] gfs2: dlm based recovery coordination David Teigland
2012-01-05 16:58 ` Steven Whitehouse
2012-01-05 17:13   ` David Teigland
2012-01-09 16:36 ` Steven Whitehouse
2012-01-09 16:46   ` David Teigland
2012-01-09 17:00     ` David Teigland
2012-01-09 17:04       ` Steven Whitehouse
2012-01-09 17:02     ` Steven Whitehouse [this message]
  -- strict thread matches above, loose matches on Subject: below --
2011-12-16 22:03 David Teigland
2011-12-19 13:07 ` Steven Whitehouse
2011-12-19 17:47   ` David Teigland
2011-12-20 10:39     ` Steven Whitehouse
2011-12-20 19:16       ` David Teigland
2011-12-20 21:04         ` David Teigland
2011-12-21 10:45           ` Steven Whitehouse
2011-12-21 15:40             ` David Teigland
2011-12-22 21:23     ` David Teigland
2011-12-23  9:19       ` Steven Whitehouse
2011-12-19 15:17 ` Steven Whitehouse
2012-01-05 15:08 ` Bob Peterson
2012-01-05 15:21   ` David Teigland
2012-01-05 15:40     ` Steven Whitehouse
2012-01-05 16:16       ` David Teigland
2012-01-05 16:45 ` Bob Peterson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1326128532.2690.55.camel@menhir \
    --to=swhiteho@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).