[Gluster-devel] Feature review: Improved rebalance performance

Xavier Hernandez xhernandez at datalab.es
Mon Jun 30 09:00:01 UTC 2014


Hi Shyam,

On Thursday 26 June 2014 14:41:13 Shyamsundar Ranganathan wrote:
> It also touches upon a rebalance on access like mechanism where we could
> potentially, move data out of existing bricks to a newer brick faster, in
> the case of brick addition, and vice versa for brick removal, and heal the
> rest of the data on access.
> 
Will this "rebalance on access" feature be enabled always or only during a 
brick addition/removal to move files that do not go to the affected brick 
while the main rebalance is populating or removing files from the brick ?

I like all the proposed ideas. I think they would improve the performance of 
the rebalance operation considerably. Probably we will need to define some 
policies to limit the amount of bandwidth that rebalance is allowed to use and 
at which hours, but this can be determined later.

I would also consider using index or changelog xlators to track renames and 
let rebalance consume it. Currently a file or directory rename makes that 
files correctly placed in the right brick need to be moved to another brick. A 
full rebalance crawling all the file system seems too expensive for this kind 
of local changes (the effects of this are orders of magnitude smaller than 
adding or removing a brick). Having a way to list pending moves due to rename 
without scanning all the file system would be great.

Another thing to consider for future versions is to modify the current DHT to 
a consistent hashing and even the hash value (using gfid instead of a hash of 
the name would solve the rename problem). The consistent hashing would 
drastically reduce the number of files that need to be moved and already 
solves some of the current problems. This change needs a lot of thinking 
though.

Xavi



More information about the Gluster-devel mailing list