Determining whether stripe unit and stripe size were detected correctly
Eric Sandeen
sandeen at sandeen.net
Thu Apr 7 15:21:43 CDT 2016
On 4/7/16 3:16 PM, Simpson, John R wrote:
> Greetings,
>
>
>
> I’m in the process of tracking down lower than expected performance and occasional blocked tasks on some internal file servers with XFS datastores. Several sources have pointed out the importance of using the correct stripe unit and stripe size when formatting and mounting XFS filesystems, and that XFS can detect these values for some, but not all, hardware RAID controllers. The servers in question are PowerEdge R510b servers with PERC H700 controllers. Datastores are RAID5 with a 128K stripe.
> Is there any way to determine if the stripe unit and stripe size were detected correctly? These values were not specified when the filesystems were formatted or mounted. If they were not detected, is there any way to determine them programmatically?
> If this is not the correct forum for this question please point me in the right direction.
>
>
>
> Best regards,
> # xfs_info /DS01
>
> meta-data=/dev/sdb1 isize=256 agcount=5, agsize=268435455 blks
> = sectsz=512 attr=2, projid32bit=0
> data = bsize=4096 blocks=1212415488, imaxpct=5
> = sunit=0 swidth=0 blks
sunit == swidth == 0, so no geometry is present on this filesystem.
> naming =version 2 bsize=4096 ascii-ci=0
> log =internal bsize=4096 blocks=521728, version=2
> = sectsz=512 sunit=0 blks, lazy-count=1
> realtime =none extsz=4096 blocks=0, rtextents=0
mkfs.xfs uses values exported by the block device, and can be seen by using
blockdev to query them, i.e.
blockdev --getiomin --getioopt /dev/sdb1
If it returns 0, no geometry is exported by the device, and you'd need to use
your own knowledge of the device to set appropriate values (and to properly
partition on aligned boundaries as well)
-Eric
More information about the xfs
mailing list