[Gluster-devel] clustered afr

Anand Babu ab at zresearch.com
Mon Mar 12 23:08:18 UTC 2007


Daniel van Ham Colchete writes:

> Krishna,
> 
> in all the messages I'm seeing here at the list I only see 2 AFR sub
> volumes working. Is there any meaning is having 3 or more sub
> volumes at the AFR translator?  In Tibor's config, shouldn't the
> translator create files at all three bricks? Shouldn't it use the
> third brick at least when the seconds was offline?
It is incorrect to fail over to the next brick. If a brick is
down, when it comes back online, it will restored by the self-heal
functionality (1.4 version). AFR has to preserve the natural
order. Redundancy is already handled by the other online brick.

> I know we will always have only half the total space available when
> we use AFR making two copies of each file, but I think that the
> advantage of distributing the file's copies over different servers,
> like three in one AFR, is the fact that the failed server load
> average will also be distributed over the other 3 servers, instead
> of to just one that was designed to mirror the failed.

Load balancing is handled by Unify's Scheduler. You need to combine
Unify with AFR for this purpose. 

> The disadvantage of having 3 or more is that it's more complicated
> get a server back on-line after one fails. I think it's more
> complicated because when you have only 2 server it's easy know
> exactly witch files should be copied and you can use a simple rsync
> to copy them But, when you have 3 or more servers, you have to check
> on every server to see witch files only have one copy of it. My
> second question is: how will the AFR FSCK deal with this situations?

FSCK will be part of self-heal functionality in 1.4 version. Each
translator will implement an extra function to recover from
errors. When a brick goes down, it will keep a log of missed
operations and recover when the failed brick comes back online. 

Recovering from 3 or more is handled this way. Directory listing from
all the three volumes are compared against each other. Missing ones
are synced. 

Typically if we are maintaining a log, it is a seamless process to
recover. But if we want to force a thorough check, then the AFR's
check function will first compare and create the log of missing files
and then issue sync in parallel.

This is a 3 brick recovery example:
check I - 1 to 2 & 3:
1 2 3    1 2 3
--------------
A X X    A A A    
B X B -> B B B
X C C    X C C
X X D    X X D

check II - 2 to 3 & 1:
2 3 1    2 3 1
--------------
A A A    A A A
B B B -> B B B
C C X    C C C  
X D X    X D X

check III - 3 to 1 & 2:
3 1 2    3 1 2
--------------
A A A    A A A
B B B -> B B B
C C C    C C C  
D X X    D D D

-- 
Anand Babu 
GPG Key ID: 0x62E15A31
Blog [http://ab.freeshell.org]              
The GNU Operating System [http://www.gnu.org]  






More information about the Gluster-devel mailing list