I have a simple gluster setup where 4 servers each have 1 brick. I'd like to take two servers out of action and simply have 2 servers with replicated data.
I've tried gluster volume remove-brick gv0 machine1:/export/brick1 machine2:/export/brick1
however I get the error volume remove-brick commit force: failed: Bricks not from same subvol for replica
How do I go about this?
FYI gluster volume info gv0
Volume Name: gv0 Type: Distributed-Replicate Volume ID: 75a37568-67e7-4bf9-8b74-fabfa8487e97 Status: Started Number of Bricks: 2 x 2 = 4 Transport-type: tcp Bricks: Brick1: machine3:/export/brick1 Brick2: machine2:/export/brick1 Brick3: machine1:/export/brick1 Brick4: machine4:/export/brick1
Thanks
While removing/adding the gluster brick you should provide the correct replica number within the remove/add command, ie, while adding new brick provide replica number as N+1 , ie, N is the number of bricks that exists, and while removing replica number will be N-1. Then it'll work.
here, we have 4 number of bricks, and from that we are going to remove 2, so new replica number will be 4-2=2. and provide 'force' option at the end.
gluster volume remove-brick gv0 replica 2 machine1:/export/brick1 machine2:/export/brick1 force
or as two seperate commands.
gluster volume remove-brick gv0 replica 3 machine1:/export/brick1 force
gluster volume remove-brick gv0 replica 2 machine2:/export/brick1 force