[Drbd-dev] Re: [Linux-ha-dev] [RFC] (CRM and) DRBD (0.8) states and transistions, recovery strategies

Lars Ellenberg Lars.Ellenberg at linbit.com
Mon Sep 27 14:19:54 CEST 2004


/ 2004-09-26 20:40:36 +0200
\ Andrew Beekhof:
> 
> On Sep 24, 2004, at 11:11 PM, Lars Marowsky-Bree wrote:
> 
> >On 2004-09-24T16:29:25,
> >   Lars Ellenberg <Lars.Ellenberg at linbit.com> said:
> >
> >>some of this applies to replicated resources in general,
> >>so Andrew may have some ideas to generalize it...
> >
> >I think the modelling we have so far (with the recent addendum) 
> >captures
> >this quite nicely for the time being. But of course, it'll help us to
> >verify this.
> 
> right.  i also be thinking more about this in the coming days when I 
> start on the incarnations.
> 
> >
> >>    Some of the attributes depend on others, and the information 
> >>about the
> >>    node status could be easily encoded in one single letter.
> >>
> >>    But since HA is all about redundancy, we will encode the node 
> >>status
> >>    redundantly in *four* letters, to make it more obvious to human 
> >>readers.
> >>
> >>     _        down,
> >>     S        up, standby (non-active, but ready to become active)
> >>     s        up, not-active, but target of sync
> >>     i        up, not-active, unconnected, inconsistent
> >>     o        up, not-active, unconnected, outdated
> >>     d        up, not-active, diskless
> >>     A        up, active
> >>     a        up, active, but target of sync
> >>     b        up, blocking, because unconnected active and 
> >>inconsistent
> >>                            (no valid data available)
> >>     B        up, blocking, because unconnected active and diskless
> >>                            (no valid data available)
> >>     D        up, active, but diskless (implies connection to good 
> >>data)
> >>      M       meta-data storage available
> >>      _       meta-data storage unavailable
> >>       *      backing storage available
> >>       o      backing storage consistent but outdated
> >>              (refuses to become active)
> >>       i      backing storage inconsistent (unfinished sync)
> >>       _      diskless
> >>        :     unconnected, stand alone
> >>        ?     unconnected, looking for peer
> >>        -     connected
> >>>    connected, sync source
> >>        <     connected, sync target
> >
> >I'd structure this somewhat differently into the node states (Up, 
> >Down),
> >our assumption about the other node (up, down, fenced), Backing Store
> >states (available, outdated, inconsistent, unavailable), the connection
> >(up or down) and the relationship between the GCs (higher, lower,
> >equal).
> >
> >(Whether we are syncing and in what direction seems to be a function of
> >that, same whether or not we are blocking or not.)
> >
> >It's essentially the same as your list, but it seems to be more
> >accessible to me. But, it's late ;-)
> 
> I agree here... restricting the attributes to true inputs (rather than 
> derived values) helps stop my brain going into meltdown trying to 
> absorb the matrix :)  I could also imagine that it makes your life 
> easier if you decide to change how you decide something like syncing 
> direction later on.

ok.
I'll try again, and maybe create a dot file while I'm at it :)

even though my "states" are not actually "derived".
but maybe only "obvious" to the "insider" (me).

so, for the time being, could you please have a look at
 http://wiki.trick.ca/linux-ha/DRBD/StateMachine

and maybe comment it.

	lge


More information about the drbd-dev mailing list