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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.