[Linux-cluster] defragmentation.....

Alan Brown ajb2 at mssl.ucl.ac.uk
Thu Jun 2 10:47:32 UTC 2011

Steven Whitehouse wrote:

> The thing to check is what size the extents are...

filefrag doesn't show this.

> the on-disk layout is
> designed so that you should have a metadata block separating each data
> extent at exactly the place where we would need to read a new metadata
> block in order to continue reading the file in a streaming fashion.
> That means on a 4k block size filesystem, the data extents are usually
> around 509 blocks in length, and if you see a number of these with
> (mostly) a single metadata block between them (sometimes more if the
> height of the metadata tree grows) then that is the expected layout.

4k*509 = 2024k - most of these files are 800-1010k (there isn't a file 
on this FS larger than 2Mb)

I've just taken one directory (225 entries, all 880-900k), copied each 
file and moved the copy back to the original spot.

Filefrag says they're now 1-3 extents (50% 1 extent, 30% 2 extents)

This filesystem is 700G and was originally populated in a single rsync pass.

Filesystem            Size  Used Avail Use% Mounted on
                       700G  660G   41G  95% /stage/sarch01

Filesystem            Inodes   IUsed   IFree IUse% Mounted on
                      13072686 2542375 10530311   20% /stage/sarch01

I'd understand if the last files written were like this, but it's right 
across the entire FS.

More information about the Linux-cluster mailing list