RE: Determining whether stripe unit and stripe size were detected correctly

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: xfs-bounces@xxxxxxxxxxx [mailto:xfs-bounces@xxxxxxxxxxx] On Behalf
> Of Eric Sandeen
> Sent: Thursday, April 07, 2016 4:22 PM
> To: xfs@xxxxxxxxxxx
> 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@xxxxxxxxxxx
> http://oss.sgi.com/mailman/listinfo/xfs

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs



[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux