[Gluster-users] shrinking volume
Brian Cipriano
bcipriano at zerovfx.com
Thu Jun 21 17:07:12 UTC 2012
Ah, great! Thanks Harry!
Time to upgrade to 3.3 :)
- brian
On 6/21/12 12:43 PM, harry mangalam wrote:
> In 3.3, this is exactly what 'remove-brick' does. It migrates the data
> off an active volume, and when it's done, allows the removed brick to be
> upgraded, shut down, killed off etc.
>
> gluster volume remove-brick<vol> server:/brick start
>
> (takes a while to start up, but then goes fairly rapidly.)
>
> following is the result of a recent remove-brick I did with 3.3
>
> % gluster volume remove-brick gl bs1:/raid1 status
> Node Rebalanced-files size scanned failures
> status
> --------- ----------- ----------- ----------- -----------
> ------------
> localhost 2 10488397779 12 0 in
> progress
> bs2 0 0 0 0 not
> started
> bs3 0 0 0 0 not
> started
> bs4 0 0 0 0 not
> started
>
> (time passes )
>
> $ gluster volume remove-brick gl bs1:/raid2 status
> Node Rebalanced-files size
> scanned failures status
> --------- ----------- -----------
> ----------- ----------- ------------
> localhost 952 26889337908
> 8306 0 completed
>
>
>
> Note that once the 'status' says completed, you need to issue the
> remove-brick command again to actually finalize the operation.
>
> And that 'remove-brick' command will not clear the dir structure on the
> removed brick.
>
>
> On Thu, 2012-06-21 at 12:29 -0400, Brian Cipriano wrote:
>> 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
>>
>>
>> _______________________________________________
>> Gluster-users mailing list
>> Gluster-users at gluster.org
>> http://gluster.org/cgi-bin/mailman/listinfo/gluster-users
More information about the Gluster-users
mailing list