[Sheepdog] [PATCH v2 1/3] sheep: introduce SD_STATUS_HALT

MORITA Kazutaka morita.kazutaka at lab.ntt.co.jp
Sat Oct 15 04:30:24 CEST 2011


At Fri, 14 Oct 2011 18:21:20 +0800,
Liu Yuan wrote:
> 
> On 10/14/2011 06:06 PM, Liu Yuan wrote:
> 
> > On 10/14/2011 05:38 PM, MORITA Kazutaka wrote:
> >>
> >>> Good idea. I am totally fond of this feature, it makes sheepdog more
> >>> symmetrically attractive. IIUC, we need to implement 'sub sheepdog
> >>> cluster' concept.
> >>>
> >>> zone                 0                     1
> >>>                           +                     +
> >>>                            |                      |
> >>> subzone     ------------         -----------
> >>>                      |     |     |          |     |     |
> >>>                     +    +   +        +    +   +
> >>>                     0'   1'    2'        '0    '1   '2
> >>>
> >>> I can not simply guess how hard it is to implement. I'll look at this
> >>> concept after Kazum refactor the membership code, probably after 0.3.0
> >>> release.
> >>> Kazum, any comment for this idea?
> >> I don't yet fully understand the idea.  When we want to have 2 copies
> >> in zone 0 and 1 copy in zone1, how to specify it with subzone?
> >>
> >>
> >> Thanks,
> >>
> >> Kazutaka
> > 
> > Grr, why my drawing get distorted by thunderbird.
> > 
> > how about bellow steps? suppose we only support 2 levels.
> > 
> > three nodes, n0,n1 for zone 0, n2 for zone 1.
> > 
> > top zone                     +
> >                                     |
> >                   ----------------------------
> >                   +                              +
> > subzone     0                              1
> >                    |                               |
> >             ---------------                     -
> >  node   #             #                    #
> >             0              1                    2
> > ============================
> > set it globally:
> > 
> > n0: sheep store -z 0 -sz 0
> > n1: sheep store -z 0 -sz 1
> > n2: sheep store -z 1 -sz 0
> > 
> > one of 3 nodes: collie cluster format --zone_copies 2 --subzone_copies
> > 0,2 --subzone_copies 1,1
> > 
> > ============================
> > or set it at zone level:
> > 
> > n0: sheep store -z 0 -sz 0
> > n1: sheep store -z 0 -sz 1
> > n2: sheep store -z 1 -sz 0
> > 
> > one of n0, n1: collie cluster format --copies 2
> > n2: collie cluster format --copies 1
> > 
> > after all the sub-zones get formated, the top level cluster
> > automatically  begins to work.
> > 
> > Thanks,
> > Yuan
> 
> 
> Okay, resend it for distorted drawing.
> ---
> 
> how about bellow steps? suppose we only support 2 levels.
> 
> three nodes, n0,n1 for zone 0, n2 for zone 1.
> 
> top zone                     +
>                              |
>                   ----------------------------
>                   +                          +
> subzone           0                          1
>                   |                          |
>             ---------------                  -
> node        #             #                  #
>             0             1                  2

This is easy to understand. :)

> 
> ============================
> set it globally:
> 
> n0: sheep store -z 0 -sz 0
> n1: sheep store -z 0 -sz 1
> n2: sheep store -z 1 -sz 0
> 
> one of 3 nodes: collie cluster format --zone_copies 2 --subzone_copies
> 0,2 --subzone_copies 1,1

How about followings?

  sheep -z <zone[/subzone]>
  collie -c <[zone[/subzone]:]copies>

For example:

  n0: sheep store -z 0/0
  n1: sheep store -z 0/1
  n2: sheep store -z 1/0

  one of 3 nodes: collie cluster format -c 2 -c 0:2 -c 1:1

This doesn't hurt exiting users who don't need subzone, and we can
easily extend it to more complicated hierarchies in future.

For example:

  n0: sheep store -z 0/0
  n1: sheep store -z 0/1/0
  n2: sheep store -z 0/1/1/0
  n3: sheep store -z 0/1/1/1
  n4: sheep store -z 0/2
  n5: sheep store -z 1

  collie cluster format -c 2 -c 0:3 -c 0/1:2 -c 0/1/1:2


Thanks,

Kazutaka

> 
> ============================
> or set it at zone level:
> 
> n0: sheep store -z 0 -sz 0
> n1: sheep store -z 0 -sz 1
> n2: sheep store -z 1 -sz 0
> 
> one of n0, n1: collie cluster format --copies 2
> n2: collie cluster format --copies 1
> 
> after all the sub-zones get formated, the top level cluster
> automatically  begins to work.
> 
> Thanks,
> Yuan
> -- 
> sheepdog mailing list
> sheepdog at lists.wpkg.org
> http://lists.wpkg.org/mailman/listinfo/sheepdog



More information about the sheepdog mailing list