From: Jim Paris <jim@jtan.com>
To: Guy <bugzilla@watkins-home.com>
Cc: 'Neil Brown' <neilb@cse.unsw.edu.au>,
"'H. Peter Anvin'" <hpa@zytor.com>,
linux-raid@vger.kernel.org
Subject: Re: RAID-6: help wanted
Date: Fri, 29 Oct 2004 14:15:14 -0400 [thread overview]
Message-ID: <20041029181514.GA8346@jim.sh> (raw)
In-Reply-To: <200410291256.i9TCuIN13270@www.watkins-home.com>
> I just posted a similar email, but I could not think of a good example, or a
> bad example. :)
It's hard coming up with specific examples. The RAID5-on-RAID1 is
probably the best one I can think of. But there are other cases:
let's say I have a small RAID1 partition used for booting my system,
always mounted read-only, and to back it up, I do a "dd" of the entire
/dev/md0 (since exact block positions matter to boot-loaders). If
uninitialized areas of the disk change every time I read them, my
scripts might conclude that the backups have changed and need to get
burned to CD when nothing actually changed on the array.
> But it does not require any failures to corrupt data.
Right. Having uninitialized portions appear to randomly change
violates assumptions that other drivers (like raid5) and applications
(like my fictional backup script) make about a block device.
> If you insist to add this feature, please make it an option that
> defaults to sync everything.
For now, to force RAID6 to sync, start it with n-2 disks and add 1,
rather than starting with n-1 disks:
mdadm --create /dev/md1 -l 6 -n 6 missing missing /dev/hd[gikm]2
mdadm --add /dev/md1 /dev/hdo2
> You say RAID6 requires 100% of the stripe to be read to modify the strip.
> Is this due to the math of RAID6, or was it done this way because it was
> easier?
I think they can both be updated with read-modify-write:
P' = P + D_n + D_n'
Q' = Q + g^n * D_n + g^n * D_n'
However, the multiplications by g^n for computing Q' could be killer
on your CPU, so it's a tradeoff. Since we're updating e.g. 128k at
once for a single value of n, it's possible that it could be done
in such a way that it's not too intensive (or cache-thrashing).
Or perhaps you have so many disks that it really is worth the time
to do the computation rather than read from all of them.
-jim
next prev parent reply other threads:[~2004-10-29 18:15 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-10-23 23:46 RAID-6: help wanted H. Peter Anvin
2004-10-24 5:26 ` Brad Campbell
2004-10-24 6:46 ` Jim Paris
[not found] ` <417B546C.3050706@zytor.com>
2004-10-24 7:09 ` H. Peter Anvin
2004-10-24 7:17 ` H. Peter Anvin
2004-10-24 7:18 ` Brad Campbell
2004-10-25 5:41 ` Neil Brown
2004-10-25 6:20 ` Jim Paris
2004-10-25 6:24 ` Neil Brown
2004-10-25 6:33 ` Jim Paris
2004-10-25 14:23 ` H. Peter Anvin
2004-10-27 3:38 ` Neil Brown
2004-10-27 5:23 ` H. Peter Anvin
2004-10-27 6:00 ` Jim Paris
2004-10-27 6:03 ` H. Peter Anvin
2004-10-28 1:17 ` H. Peter Anvin
2004-10-28 16:00 ` Jim Paris
2004-10-28 17:48 ` H. Peter Anvin
2004-10-28 17:49 ` H. Peter Anvin
2004-10-29 0:43 ` Neil Brown
2004-10-29 11:48 ` Jim Paris
2004-10-29 12:56 ` Guy
2004-10-29 18:15 ` Jim Paris [this message]
2004-10-29 19:04 ` H. Peter Anvin
2004-10-29 19:21 ` Jim Paris
2004-10-29 19:33 ` H. Peter Anvin
2004-10-29 20:28 ` Guy
2004-10-29 20:32 ` H. Peter Anvin
2004-10-29 21:21 ` Guy
2004-10-29 21:33 ` H. Peter Anvin
2004-10-29 12:29 ` Guy
2004-10-27 5:56 ` H. Peter Anvin
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=20041029181514.GA8346@jim.sh \
--to=jim@jtan.com \
--cc=bugzilla@watkins-home.com \
--cc=hpa@zytor.com \
--cc=linux-raid@vger.kernel.org \
--cc=neilb@cse.unsw.edu.au \
/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).