linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Phil Turmel <philip@turmel.org>
To: Wilson Jonathan <piercing_male@hotmail.com>
Cc: "\"Großkreutz, Julian\"" <Julian.Grosskreutz@med.uni-jena.de>,
	"linux-raid@vger.kernel.org" <linux-raid@vger.kernel.org>,
	"neilb@suse.de" <neilb@suse.de>
Subject: Re: mdadm expanded 8 disk raid 6 fails in new server, 5 original devices show no md superblock
Date: Tue, 14 Jan 2014 13:43:05 -0500	[thread overview]
Message-ID: <52D58539.7090501@turmel.org> (raw)
In-Reply-To: <BLU0-SMTP57BD7000137CADA6A976CA98BF0@phx.gbl>

On 01/14/2014 12:47 PM, Wilson Jonathan wrote:

[trim /]

> I understand the issue of "timeout" on drives that might perform long
> error checking which then causes mdadm, via the device (block?) driver
> issuing a time out, to then kick the drive. In this instance you allow
> some time for a drive to try and fix things at the expense of a hung
> array for a longer period of time.
> 
> I also understand that with scterc the drive gives up (in effect timing
> its self out) when it hits the 7 second, or there about, mark and
> subsequently mdadm kicks the drive out. In this specific instance the
> idea is to kill a drive quickly to that the raid doesn't hang longer
> than a few seconds.

No.  The intent is to fail the read without failing the controller channel.

> However surely these things (bar the amount of time) result in the same
> final result of a drive being kicked out. Even in a non-madam hardware
> raid set up, the drive is either kicked because it didn't return in 7
> seconds, or the drive kicks its self because it gave up before 7
> seconds.

No.  Upon a failed read, MD will obtain/reconstruct the problem sector
from remaining redundancy, then write the correct data back.  Occasional
read errors of this type are normal, and fix themselves when the sector
is written again.  MD will only fail a drive after *multiple* read
errors, not just one.  (Isolated bursts of up to 20, then ~ ten per hour.)

[trim /]

> Surely, unless I'm missing something, rebuilding a failed drive's data
> means that you want the system to not kick if at all possible and having
> scterc enabled or a short timeout (shorter than the drives max time,
> unless that time is indefinite retry) is the last thing you want?

What you are missing is what happens when the controller channel times
out.  The original read is reported failed to MD while the driver tries
to revive the unresponsive drive.  MD proceeds to obtain/reconstruct the
missing data, then write back.  But the device is not communicating--the
driver has reset the channel, and will continue not communicating until
the drive firmware finally gives up on the original read.  So the
*write* fails instantly, kicking the drive out of the array.

When you, the admin, get around to looking, the drive is idle but
apparently fine.  (It gains a "pending" sector, which stays until the
drive is told to write over that spot.)

HTH,

Phil

  reply	other threads:[~2014-01-14 18:43 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-11  6:42 mdadm expanded 8 disk raid 6 fails in new server, 5 original devices show no md superblock Großkreutz, Julian
2014-01-11 17:47 ` Phil Turmel
     [not found]   ` <1389632980.11328.104.camel@achilles.aeskuladis.de>
2014-01-13 18:42     ` Phil Turmel
2014-01-13 20:11       ` Chris Murphy
2014-01-14 10:31       ` Großkreutz, Julian
2014-01-14 13:14         ` Phil Turmel
2014-01-14 14:00           ` AW: " Großkreutz, Julian
2014-01-14 17:47           ` Wilson Jonathan
2014-01-14 18:43             ` Phil Turmel [this message]
2014-01-15 12:50               ` Wilson Jonathan
2014-01-15 13:35                 ` Phil Turmel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52D58539.7090501@turmel.org \
    --to=philip@turmel.org \
    --cc=Julian.Grosskreutz@med.uni-jena.de \
    --cc=linux-raid@vger.kernel.org \
    --cc=neilb@suse.de \
    --cc=piercing_male@hotmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).