* Determining whether stripe unit and stripe size were detected correctly
@ 2016-04-07 20:16 Simpson, John R
2016-04-07 20:21 ` Eric Sandeen
0 siblings, 1 reply; 3+ messages in thread
From: Simpson, John R @ 2016-04-07 20:16 UTC (permalink / raw)
To: xfs@oss.sgi.com
[-- Attachment #1.1: Type: text/plain, Size: 3182 bytes --]
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,
John Simpson
Format command: mkfs.xfs /dev/sdb1
Fstab entry: /dev/sdb1 /DS01 xfs defaults,logbufs=8 1 2
# uname -a
Linux reyqa-ribs001 2.6.32-573.12.1.el6.x86_64 #1 SMP Tue Dec 15 21:19:08 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
# cat /etc/redhat-release
CentOS release 6.7 (Final)
# rpm -qi xfsprogs
Name : xfsprogs Relocations: (not relocatable)
Version : 3.1.1 Vendor: CentOS
Release : 16.el6 Build Date: Wed 15 Oct 2014 10:16:05 AM EDT
Install Date: Wed 25 Feb 2015 11:46:11 AM EST Build Host: c6b8.bsys.dev.centos.org
Group : System Environment/Base Source RPM: xfsprogs-3.1.1-16.el6.src.rpm
Size : 3325667 License: GPL+ and LGPLv2+
Signature : RSA/SHA1, Fri 17 Oct 2014 04:00:19 PM EDT, Key ID 0946fca2c105b9de
Packager : CentOS BuildSystem <http://bugs.centos.org>
URL : http://oss.sgi.com/projects/xfs/
Summary : Utilities for managing the XFS filesystem
Description :
A set of commands to use the XFS filesystem, including mkfs.xfs.
XFS is a high performance journaling filesystem which originated
on the SGI IRIX platform. It is completely multi-threaded, can
support large files and large filesystems, extended attributes,
variable block sizes, is extent based, and makes extensive use of
Btrees (directories, extents, free space) to aid both performance
and scalability.
Refer to the documentation at http://oss.sgi.com/projects/xfs/
for complete details. This implementation is on-disk compatible
with the IRIX version of XFS.
# 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
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
John Simpson
[-- Attachment #1.2: Type: text/html, Size: 11361 bytes --]
[-- Attachment #2: Type: text/plain, Size: 121 bytes --]
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Determining whether stripe unit and stripe size were detected correctly
2016-04-07 20:16 Determining whether stripe unit and stripe size were detected correctly Simpson, John R
@ 2016-04-07 20:21 ` Eric Sandeen
2016-04-07 20:49 ` Simpson, John R
0 siblings, 1 reply; 3+ messages in thread
From: Eric Sandeen @ 2016-04-07 20:21 UTC (permalink / raw)
To: xfs
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
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 3+ messages in thread
* RE: Determining whether stripe unit and stripe size were detected correctly
2016-04-07 20:21 ` Eric Sandeen
@ 2016-04-07 20:49 ` Simpson, John R
0 siblings, 0 replies; 3+ messages in thread
From: Simpson, John R @ 2016-04-07 20:49 UTC (permalink / raw)
To: Eric Sandeen, xfs@oss.sgi.com
> -----Original Message-----
> From: xfs-bounces@oss.sgi.com [mailto:xfs-bounces@oss.sgi.com] On Behalf
> Of Eric Sandeen
> Sent: Thursday, April 07, 2016 4:22 PM
> To: xfs@oss.sgi.com
> Subject: Re: Determining whether stripe unit and stripe size were
> detected correctly
>
>
>
> 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
>
Thank you, I was hoping sunit == swidth == 0 meant 'auto-detected' but suspected that wasn't the case. It looks like blockdev is reporting 0 for getioopt so we'll have to calculate and supply sunit and swidth. I believe the partition is properly aligned, I used the following. Any suggested improvements are appreciated.
parted --align optimal --script $device mklabel gpt mkpart -- primary 1 -1
Blockdev reports:
# blockdev --getiomin --getioopt /dev/sdb1
512
0
Is there a way, other than testing, to determine the potential performance improvement gained by providing the geometry?
John
> _______________________________________________
> xfs mailing list
> xfs@oss.sgi.com
> http://oss.sgi.com/mailman/listinfo/xfs
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-04-07 20:49 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-07 20:16 Determining whether stripe unit and stripe size were detected correctly Simpson, John R
2016-04-07 20:21 ` Eric Sandeen
2016-04-07 20:49 ` Simpson, John R
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox