From: Bill Davidsen <davidsen@tmr.com>
To: NeilBrown <neilb@suse.de>
Cc: lrhorer@satx.rr.com, 'Linux RAID' <linux-raid@vger.kernel.org>
Subject: Re: Starting RAID 5
Date: Wed, 20 May 2009 15:45:47 -0400 [thread overview]
Message-ID: <4A145DEB.2080602@tmr.com> (raw)
In-Reply-To: <bd12c2abf38ab775bf40fd52654daa36.squirrel@neil.brown.name>
NeilBrown wrote:
> On Tue, May 19, 2009 1:13 am, Bill Davidsen wrote:
>
>> NeilBrown wrote:
>>
>>> On Fri, May 15, 2009 12:15 pm, Leslie Rhorer wrote:
>>>
>>>
>>>> OK, I've torn down the LVM backup arraqy and am rebuilding it as a RAID
>>>> 5.
>>>> I've had problems with this before, and I'm having them, again. I
>>>> created
>>>> the array with:
>>>>
>>>> mdadm --create /dev/md0 --raid-devices=7 --metadata=1.2 --chunk=256
>>>> --level=5 /dev/sd[a-g]
>>>>
>>>> whereupon it creates the array and then immediately removes /dev/sdg
>>>> and
>>>> makes it a spare. I think I may have read where this is normal
>>>> behavior.
>>>>
>>>>
>>> Correct. Maybe you read it in the mdadm man page.
>>>
>>>
>>>
>>>
>> While I know about that, I have never understood why that was desirable,
>> or even acceptable, behavior. The array sits half created doing nothing
>> until the system tries to use the array, at which time it's slow because
>> it's finally getting around to actually getting the array into some
>> sensible state. Is there some benefit to wasting time so the array can
>> be slow when needed?
>>
>
> Is the "that" which you refer to the content of the previous paragraph,
> or the following paragraph.
>
>
The problem in the following paragraph is caused by the behavior in the
first. I don't understand what benefit there is to bringing up the array
with a spare instead of N elements needing a rebuild. Is adding a spare
in place of the failed device the best (or only) way to kick off a resync?
> The content of your comment suggests the following paragraph which,
> as I hint, is a misfeature that should be fixed by having mdadm
> "poke it out of that" (i.e. set the array to read-write if it is
> read-mostly).
>
> But the positioning of your comment makes it seem to refer to
> the previous paragraph which is totally unrelated to your complaint,
> but I will explain anyway.
>
> When a raid5 performs a 'resync' it reads every block, tests parity,
> then if the parity is wrong, it writes out the correct parity block.
> For an array with mostly correct parity, this involves sequential
> reads across all devices in parallel and so is as fast as possible.
> For an array with mostly incorrect parity (as is quite likely at
> array creation) there will be many writes to parity block as well
> as the reads, which will take a lot longer.
>
> If we instead make one drive a spare then raid5 will perform recovery
> which involves reading N-1 drives and writing to the Nth drive.
> All sequential IOs. This should be as fast as resync on a mostly-clean
> array, and much faster than resync on a mostly-dirty array.
>
It's not the process I question, just leaving the resync until the array
is written by the user rather than starting it at once so the create
actually results in a fully functional array. I have the feeling that
raid6 did that, but I haven't hardware to test today.
--
bill davidsen <davidsen@tmr.com>
CTO TMR Associates, Inc
"You are disgraced professional losers. And by the way, give us our money back."
- Representative Earl Pomeroy, Democrat of North Dakota
on the A.I.G. executives who were paid bonuses after a federal bailout.
next prev parent reply other threads:[~2009-05-20 19:45 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-15 2:15 Starting RAID 5 Leslie Rhorer
2009-05-15 2:34 ` NeilBrown
2009-05-15 3:58 ` Leslie Rhorer
2009-05-18 15:13 ` Bill Davidsen
2009-05-18 21:36 ` NeilBrown
2009-05-20 19:45 ` Bill Davidsen [this message]
2009-05-20 22:28 ` Neil Brown
2009-05-21 18:27 ` Bill Davidsen
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=4A145DEB.2080602@tmr.com \
--to=davidsen@tmr.com \
--cc=linux-raid@vger.kernel.org \
--cc=lrhorer@satx.rr.com \
--cc=neilb@suse.de \
/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).