For existing "replica 2" setup to be converted into "replica 3 arbiter 1" it is necessary to create new volume and copy data to it. However, it is quite complex for large production setup with terabytes of data. In discussion held with GlusterFS developers in IRC channel it was stated that arbiter brick hotplug should be the feature that is easy to implement. It would be nice to see such a feature to be implemented for 3.7.x.
REVIEW: http://review.gluster.org/14126 (cli/glusterd: Extend add-brick for arbiter volumes) posted (#1) for review on master by Ravishankar N (ravishankar)
REVIEW: http://review.gluster.org/14126 (cli/glusterd: Extend add-brick for arbiter volumes) posted (#2) for review on master by Ravishankar N (ravishankar)
REVIEW: http://review.gluster.org/14126 (cli/glusterd: add/remove brick fixes for arbiter volumes) posted (#3) for review on master by Ravishankar N (ravishankar)
REVIEW: http://review.gluster.org/14126 (cli/glusterd: add/remove brick fixes for arbiter volumes) posted (#4) for review on master by Ravishankar N (ravishankar)
REVIEW: http://review.gluster.org/14126 (cli/glusterd: add/remove brick fixes for arbiter volumes) posted (#5) for review on master by Ravishankar N (ravishankar)
REVIEW: http://review.gluster.org/14126 (cli/glusterd: add/remove brick fixes for arbiter volumes) posted (#6) for review on master by Ravishankar N (ravishankar)
REVIEW: http://review.gluster.org/14126 (cli/glusterd: add/remove brick fixes for arbiter volumes) posted (#7) for review on master by Ravishankar N (ravishankar)
COMMIT: http://review.gluster.org/14126 committed in master by Atin Mukherjee (amukherj) ------ commit 61c1b2cee973b11897a37d508910012e616033bc Author: Ravishankar N <ravishankar> Date: Fri Apr 29 17:41:18 2016 +0530 cli/glusterd: add/remove brick fixes for arbiter volumes 1.Provide a command to convert replica 2 volumes to arbiter volumes. Existing self-heal logic will automatically heal the file hierarchy into the arbiter brick, the progress of which can be monitored using the heal info command. Syntax: gluster volume add-brick <VOLNAME> replica 3 arbiter 1 <HOST:arbiter-brick-path> 2. Add checks when removing bricks from arbiter volumes: - When converting from arbiter to replica 2 volume, allow only arbiter brick to be removed. - When converting from arbiter to plain distribute volume, allow only if arbiter is one of the bricks that is removed. 3. Some clean-up: - Use GD_MSG_DICT_GET_SUCCESS instead of GD_MSG_DICT_GET_FAILED to log messages that are not failures. - Remove unused variable `brick_list` - Move 'brickinfo->group' related functions to glusted-utils. Change-Id: Ic87b8c7e4d7d3ab03f93e7b9f372b314d80947ce BUG: 1318289 Signed-off-by: Ravishankar N <ravishankar> Reviewed-on: http://review.gluster.org/14126 Smoke: Gluster Build System <jenkins.com> CentOS-regression: Gluster Build System <jenkins.com> NetBSD-regression: NetBSD Build System <jenkins.org> Reviewed-by: Atin Mukherjee <amukherj>