[Gluster-users] shrinking volume

Brian Cipriano bcipriano at zerovfx.com
Thu Jun 21 16:29:12 UTC 2012

Hi all - is there a safe way to shrink an active gluster volume without 
losing files?

I've used remove-brick before, but this causes the files on that brick 
to be removed from the volume. Which is fine for some situations.

But I'm trying to remove a brick without losing files. This is because 
our file usage can grow dramatically over short periods. During those 
times we add a lot of buffer to our gluster volume, to keep it at about 
50% usage. After things settle down and file usage isn't changing as 
much, we'd like to remove some bricks in order to keep usage at about 
80%. (These bricks are AWS EBS volumes - we want to remove the bricks to 
save a little $ when things are slow.)

So what I'd like to do is the following. This is a simple distributed 
volume, no replication.

* Let gluster know I want to remove a brick
* No new files will go to that brick
* Gluster starts copying files from that brick to other bricks, 
essentially rebalancing the data
* Once all files have been duplicated onto other bricks, the brick is 
marked as "removed" and I can do a normal remove-brick
* Over the course of this procedure the files are always available 
because there's always at least one active copy of every file

This procedure seems very similar to replace-brick, except the goal 
would be to evenly distribute to all other active bricks (without 
interfering with pre-exiting files), not one new brick.

Is there any way to do this?

I *could* just do my remove-brick, then manually distribute the files 
from that old brick back onto the volume, but that would cause those 
files to become unavailable for some amount of time.

Many thanks for all your help,

- brian

More information about the Gluster-users mailing list