xfs
[Top] [All Lists]

Re: fragmentation question

To: Eric Sandeen <sandeen@xxxxxxxxxxx>
Subject: Re: fragmentation question
From: Brady Chang <bchang@xxxxxxxxxxxxx>
Date: Thu, 9 Sep 2010 14:59:47 -0700
Accept-language: en-US
Acceptlanguage: en-US
Cc: "xfs@xxxxxxxxxxx" <xfs@xxxxxxxxxxx>
In-reply-to: <4C88EB62.5060000@xxxxxxxxxxx>
Thread-index: ActQKRhSV4LV0TVbQHCtgeqspo03HwAQTjul
Thread-topic: fragmentation question
thanks guys for the feedback.
iostat shows balanced io between two filesystems.
testing with RHEL 54, no issues there. seems to be happening on RHEL 55 only.
I do not have the latest 55 kernel. I'm going to upgrade to the latest 55 kernel and rerun the test.



On 9/9/10 7:12 AM, "Eric Sandeen" <sandeen@xxxxxxxxxxx> wrote:

Brady Chang wrote:
> Hello All,
> I have an issue with fragmentation on a particular device
> thanks for any advice.
>
> -Brady
>
> I have a Dell r510 with 12 disks
> 2xraid 5 (6 disks each)
> raid group1:
> 48 GB   carved out for os mounted as /
> remaining space  2.7 TB for xfs mounted as /data1
> raid group2:
> 48 GB  for swap
> remaining space 2.7 TB for xfs mounted as /data2
>
> The strange thing is that /data1 never gets fragmented where as /data2
> is badly fragmented.
> I believe increase allocsize would help, but not sure how to explain why
> /data2(/dev/sdd) always gets fragmented and not /data1(/dev/sdb)
>
> It's a data warehouse application.  the I/O is balanced between /data1
> and /data2:
> output of xfs_db
> [root@sdw4 data1]# xfs_db -c frag -r /dev/sdb
> actual 14353, ideal 13702, fragmentation factor 4.54%
> [root@sdw4 data1]# xfs_db -c frag -r /dev/sdd
> actual 408674, ideal 13719, fragmentation factor 96.64%

so each file has 30 extents on average (actual/ideal)

> df output
> /dev/sdb              2.7T  967G  1.8T  36% /data1
> /dev/sdd              2.7T  1.1T  1.7T  39% /data2

1.1T/408674 extents is ~3M per extent, not so good.

How many files are on each fs?

> LABEL=/data1        /data1     xfs
>     allocsize=1048576,logbufs=8,noatime,nodiratime 0 0
> LABEL=/data2        /data2     xfs
>     allocsize=1048576,logbufs=8,noatime,nodiratime 0 0

Everything but the first option is default, BTW.

Is xfs_info output on the 2 filesystems the same?

Otherwise Emmanuel's idea is a good one, maybe it's not
as balanced as you think it is, or maybe they have aged
differently and have different amounts of freespace
(see the freesp command in xfs_db)

> By the way, the os is RHEL 5.5 kernel 2.6.18-194.11.1.el5

Was Red Hat support not helpful?

-Eric


<Prev in Thread] Current Thread [Next in Thread>