xfs
[Top] [All Lists]

Re: Issue with RHEL6 mkfs.xfs (3.1.1+), HP P420 RAID, and MySQL replicat

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: Issue with RHEL6 mkfs.xfs (3.1.1+), HP P420 RAID, and MySQL replication
From: Hogan Whittall <whittalh@xxxxxxxxxxxxx>
Date: Fri, 10 Jul 2015 23:15:04 +0000 (UTC)
Cc: "xfs@xxxxxxxxxxx" <xfs@xxxxxxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/simple; d=yahoo-inc.com; s=cobra; t=1436570148; bh=sbycTRnsgHLxYMMwlp4FHm9/V+oWQ98sBtiE1O1gcxg=; h=Date:From:To:Cc:In-Reply-To:References:Subject; b=EznTSB5r0T0R4vVk6cneNGATnEiIMxGhIUijkZo9pdO1v0ap7UMXD7dpTG03FDW5A s29arLwbX2jFEwIxX6lj+gCMk421Rpt8rGtTFEgI5nHb/3M4PR2Ybqw43/lVxryjP/ 69GVwMZqYGj93C/z7+PGwC1I0wX/tKpUYEvTaHY0=
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo-inc.com; s=ginc1024; t=1436570147; bh=YQCk9M0FCQC8RKWLdX3kL0zPWa9xK2ikDbUMSuSBw54=; h=Date:From:To:Cc:Message-ID:In-Reply-To:References:Subject:MIME-Version:Content-Type:Content-Transfer-Encoding; b=CGVHrGlvu+6zbBI5G711tbRgScS5BhbWVzRg1mNTplVkCOqwx35qp4OPfhUqX+4f+dbzb0yQpxjIsp4ovJ0iGw9EgtgE9DITFoWE6siFFWcI8wzD2V7TQcilqDYijeijsfKj/6oMgofAKPl85KARPHx5GPfdb58Ja1g3sk/xLqY=
In-reply-to: <20150710224231.GL3902@dastard>
References: <110866563.1804043.1436463170539.JavaMail.yahoo@xxxxxxxxxxxxxx> <20150709230222.GD7943@dastard> <1741803883.2585541.1436543988567.JavaMail.yahoo@xxxxxxxxxxxxxx> <20150710224231.GL3902@dastard>
The issue isn't random small I/O being sent to disk and the disks maxing out 
IOPS, it's this particular workload created by MySQL replication and the XFS 
options that trigger something bad to happen on the controller.  I can run disk 
I/O tests at the same time that replication is choking and see perfectly fine 
throughput and response time.  Yeah, it's weird.

As for the noalign option, that would be great to have but it does not exist in 
version 3.1.1 which RHEL6 uses.  It sounds like not having it in previous 3.x 
versions was enough of an issue that it was added in 3.2.x, which is great.  I 
can probably work with this and get our ramdisks used for cloning updated with 
a stable 3.2.x since that would be more desirable than reverting back to 2.x.x.

Thanks again for your help, now I have a fix that doesn't involve using an old 
version of mkfs.xfs.

-Hogan

----- Original Message -----
From: Dave Chinner <david@xxxxxxxxxxxxx>
To: Hogan Whittall <whittalh@xxxxxxxxxxxxx>
Cc: "xfs@xxxxxxxxxxx" <xfs@xxxxxxxxxxx>
Sent: Friday, July 10, 2015 5:42 PM
Subject: Re: Issue with RHEL6 mkfs.xfs (3.1.1+), HP P420 RAID, and MySQL 
replication

On Fri, Jul 10, 2015 at 03:59:48PM +0000, Hogan Whittall wrote:
> Hi Dave,
> 
> Thanks for the reply, we can certainly try with the smaller log,
> but IIRC the performance hit wasn't because the disks were busy,
> it was the controller itself trying to determine what changed and
> then write that to disk.

That makes no sense to me - the controller is almost never the IO
limitation in a hardware RAID when random small IO is being issued
by the host.

> Smaller anything should help the
> controller be able to cope better, but that's not really a
> solution.
> 
> Doing disk write performance tests on these systems produce very
> different results, they are capable of much more I/O than what was
> being triggered with this issue.
> 
> Back to why I think this should be considered a bug, by 2.9.6
> setting 0 as the default for sunit/swidth and 3.1.1 having no way
> to set 0 for sunit/swidth the newer versions behave differently

False:

# man mkfs.xfs
....
    noalign
        This  option  disables  automatic geometry detection
        and creates the filesystem without stripe geometry
        alignment even if the underlying storage device
        provides this information.

IOWs:

# mkfs.xfs -d noalign ....

Will do exactly what you want.  Or alternatively:

# mkfs.xfs -d sunit=0,swidth=0 ....

Or perhaps just turning of log stripe unit alignment will be enough:

# mkfs.xfs -l sunit=1 ....


Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

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