[Gluster-devel] Automated split-brain resolution

Ravishankar N ravishankar at redhat.com
Thu Aug 7 08:50:06 UTC 2014


On 08/07/2014 02:09 PM, Pranith Kumar Karampuri wrote:
>
> On 08/07/2014 02:05 PM, Ravishankar N wrote:
>>
>> 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>] }
> enclosing <> means the user will have to provide the input. And <file> 
> option should be there for both policies I guess.
> So the command should probably be:
> gluster volume resolve-split-brain <VOLNAME> {bigger-file |  
> source-brick <brick_name>} [<file>]


Yes, that makes sense. So the combinations would be
a) gluster volume resolve-split-brain <VOLNAME> bigger-file [<file>]
b) gluster volume resolve-split-brain <VOLNAME > source-brick 
<brick_name > [<file>]


> Pranith
>>
>> 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
>>
>>
>> _______________________________________________
>> Gluster-devel mailing list
>> Gluster-devel at gluster.org
>> http://supercolony.gluster.org/mailman/listinfo/gluster-devel
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://supercolony.gluster.org/pipermail/gluster-devel/attachments/20140807/e7c21b5e/attachment.html>


More information about the Gluster-devel mailing list