[Gluster-users] small files and cluster/stripe

Jeff Anderson-Lee jonah at eecs.berkeley.edu
Fri May 14 01:39:31 UTC 2010


On 5/13/2010 6:24 PM, Craig Carl wrote:
> Jeff -
>     Thanks for your email, I think I've got a grasp of your 
> environment now and I understand the problem. If we create a 
> "/gluster/small_files" and a "/gluster/large_files" your users are 
> unlikely to respect distinction, plus it is a management nightmare, 
> right?
> If you have time I'd like your help writing a feature request that 
> would implement what you need.  Something like -
>
> Gluster should provide the option of distributing files based on size 
> to different volumes.
> This distribution should be transparent to users.
> This distribution only needs to happen the first time a file is written.
> The Gluster administrator should have the ability to provide a file 
> size range for each volume.
> The different volumes could be different types; mirror, stripe, mirror 
> & distribute, etc.
>
> What have I missed?
>
> Craig

That would be one solution.  I would target another that I suspecr is 
probably simpler:

Gluster should provide the option of pseudo-randomizing the distribution 
of file stripes across volumes, so that all small files do not end up on 
the same subvolume of a cluster/stripe.
This distribution should be transparent to users.
This distribution only needs to happen the first time a file is written 
and may be based on the file name hash (a la cluster/distribute).

The net behavior could be such that small files (less that the 
block-size) would have the same data distribution pattern as they would 
have with cluster/distribute, while larger files (greater than the 
stripe block-size) would have their upper blocks ditributed in a 
round-robin from that starting place.

Given that the code already exists for distributing files based on 
namehash in cluster/distribute I think this could be an easier feature 
to add.

Jeff



More information about the Gluster-users mailing list