From: Philipp Reisner <philipp.reisner@linbit.com>
To: drbd-dev@linbit.com
Subject: Re: [Drbd-dev] [RFC] (CRM and) DRBD (0.8) states and transistions, recovery strategies
Date: Mon, 27 Sep 2004 16:52:10 +0200 [thread overview]
Message-ID: <200409271652.10284.philipp.reisner@linbit.com> (raw)
In-Reply-To: <yZEXPsg2gvkm1jq9tjYKNcg=lge@web.de>
Am Freitag, 24. September 2004 16:29 schrieb Lars Ellenberg:
[...]
> Currently this covers only the states, and outlines the transitions. It
> should help to define the actions to be taken on every possible "input"
> to the DRBD internal "state machine".
>
While reading through this giant e-mail I lost my confidence that it
could be a good idea to have a "central" state switching function in
DRBD, but of course I will see what this discussions gives...
We have a huge space of possible cominations of these attributes, but
a lot of those are impossible/invalid... etc. Currently these constraints
are expressed by the code ...
The question is, what is easier to read/understand/code/get right.
[...]
>
> Allowed node state transition "inputs" or "reactions" are
>
> * up or down the node
>
> * add/remove the disk (by administrative request or in response to io
> error)
>
> if it was the last accessible good data, should this result in
> suicide, or block all further io, or just fail all further io?
>
> if this lost the meta-data storage at the same time (meta-data
> internal), do we handle this differently?
I guess this is a question we can not answer here for all of our users,
some one might want this, the others that... etc.. If it is a question
you can not answer, it probabely needs to be configurable.
> * fail meta-data storage
>
> should result in suicide.
>
> * establish or lose the connection; quit/start retrying to establish
> a connection.
>
> * promote to active / demote to non-active
>
> To promote an unconnected inconsistent non-active node you need
> brute force. Similar if it thinks it is outdated.
>
> Promoting an unconnected diskless node is not possible. But those
> should have been mapped to a "down" node, anyways.
>
Hmmm ?
Just had a look at what we are currently doing. Probabely we should
drop the DISKLESS bit and replace this by an enum
dstate: inconsistent,
outdated (known to be outdated -- happens via drbdadm outdate and
in data was consistent negotiation's outcome was this this
is old data and sync is Paused),
consistent (this reflects the meta-data meaning of consistent i.e.
might be outdated),
na (=diskless),
uptodate
and display this in /proc/drbd "ld:"
> * start/finish synchronization
>
> One must not request a running and up-to-date active node to become
> target of synchronization.
>
> * block/unblock all io requests
>
> This is in response to drbdadm suspend/resume, or a result of an
> "execption handler".
>
> * commit suicide
>
> This is our last resort emergency handler. It should not be
> implemented as "panic", though currently it is.
>
> Again, this is important, please double check: Did I miss something?
>
I think everything is there... (and reading it is quite inspiring)
-Philipp
next prev parent reply other threads:[~2004-09-27 14:52 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-09-24 14:29 [Drbd-dev] [RFC] (CRM and) DRBD (0.8) states and transistions, recovery strategies Lars Ellenberg
2004-09-24 21:11 ` [Drbd-dev] Re: [Linux-ha-dev] " Lars Marowsky-Bree
2004-09-24 23:04 ` Lars Ellenberg
2004-09-25 8:54 ` Lars Marowsky-Bree
2004-09-25 9:50 ` Lars Ellenberg
2004-09-25 9:59 ` Lars Marowsky-Bree
2004-09-26 18:40 ` Andrew Beekhof
2004-09-27 12:19 ` Lars Ellenberg
2004-09-27 12:38 ` Andrew Beekhof
2004-09-27 14:52 ` Philipp Reisner [this message]
2004-09-29 12:58 ` [Drbd-dev] " Philipp Reisner
2004-09-29 17:07 ` Lars Ellenberg
2004-10-06 11:55 ` Philipp Reisner
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=200409271652.10284.philipp.reisner@linbit.com \
--to=philipp.reisner@linbit.com \
--cc=drbd-dev@linbit.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.