[Gluster-devel] Automated split-brain resolution

Ravishankar N ravishankar at redhat.com
Thu Aug 7 08:35:34 UTC 2014


Manual resolution of split-brains [1] has been a tedious task involving 
understanding and modifying AFR's changelog extended attributes. To 
simplify and to an extent automate this task, we are proposing a new CLI 
command with which the user can  specify  what the source brick/file is, 
and automatically heal the files in the appropriate direction.

Command: gluster volume resolve-split-brain <VOLNAME> {<bigger_file>  |  
source-brick <brick_name> [<file>] }

Breaking up the command into its possible options, we have:

a) gluster volume resolve-split-brain <VOLNAME> <bigger_file>
When this command is executed, AFR will consider the brick having the 
highest file size as the source and heal it to all other bricks 
(including all other sources and sinks) in that replica subvolume. If 
the file size is same in all the bricks, it does *not* heal the file.

b) gluster volume resolve-split-brain <VOLNAME > source-brick 
<brick_name > [<file>]

When this command is executed, if <file> is specified, AFR heals the 
file from the source-brick <brick_name> to all other bricks of that 
replica subvolume. For resolving multiple files, the command must be run 
iteratively, once per file.
If <file> is not specified, AFR heals all the files that have an entry 
in .glusterfs/indices/xattrop *and* are in split-brain. As before, heals 
happen from source-brick <brick_name> to all other bricks.

Future work could also include extending the command to add other 
policies like choosing the file having the latest mtime as the source, 
integration with trash xlator wherein the files deleted from the sink 
are moved to the trash dir etc.

Please give feedback on the above.

Regards,
Ravi

[1] https://github.com/gluster/glusterfs/blob/master/doc/split-brain.md
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://supercolony.gluster.org/pipermail/gluster-devel/attachments/20140807/84190aa6/attachment.html>


More information about the Gluster-devel mailing list