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