Re: Automated split-brain resolution

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 08/07/2014 03:06 PM, Niels de Vos wrote:
On Thu, Aug 07, 2014 at 02:05:34PM +0530, 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.
What about automatically healing directories that are in split-brain?

Conservative merge happens when possible while healing directories, but yes gfid split-brain (one brick having a file with gfid-g1 and the other having a directory with the same gfid-g1) won't be resolved with this command. The reason why are not wanting to it right now is resolving such split-brains involves unlinking/rmdir'ing one of the entries and is best when we integrate with trash xlator.
Thanks,
Niels

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

_______________________________________________
Gluster-devel mailing list
Gluster-devel@xxxxxxxxxxx
http://supercolony.gluster.org/mailman/listinfo/gluster-devel




[Index of Archives]     [Gluster Users]     [Ceph Users]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux