From: NeilBrown <neilb@suse.de>
To: stan@hardwarefreak.com
Cc: David Brown <david.brown@hesbynett.no>,
James Plank <plank@cs.utk.edu>, Ric Wheeler <rwheeler@redhat.com>,
Andrea Mazzoleni <amadvance@gmail.com>,
"H. Peter Anvin" <hpa@zytor.com>,
linux-raid@vger.kernel.org, linux-btrfs@vger.kernel.org,
David Smith <creamyfish@gmail.com>
Subject: Re: Triple parity and beyond
Date: Sat, 23 Nov 2013 09:59:53 +1100 [thread overview]
Message-ID: <20131123095953.18858e89@notabene.brown> (raw)
In-Reply-To: <528F812D.8020105@hardwarefreak.com>
[-- Attachment #1: Type: text/plain, Size: 2241 bytes --]
On Fri, 22 Nov 2013 10:07:09 -0600 Stan Hoeppner <stan@hardwarefreak.com>
wrote:
> On 11/22/2013 2:13 AM, Stan Hoeppner wrote:
> > Hi David,
> >
> > On 11/21/2013 3:07 AM, David Brown wrote:
> ...
> >> I don't see that there needs to be any changes to the existing md code
> >> to make raid15 work - it is merely a raid 5 made from a set of raid1
> >> pairs.
> >
> > The sole purpose of the parity layer of the proposed RAID 15 is to
> > replace sectors lost due to UREs during rebuild. AFAIK the current RAID
> > 5 and RAID 1 drivers have no code to support each other in this manner.
>
> Minor self correction here-- obviously this isn't the 'sole' purpose of
> the parity layer. It also allows us to recover from losing an entire
> mirror, which is a big upshot of the proposed RAID 15. Thinking this
> through a little further, more code modification would be needed for
> this scenario.
>
> In the event of a double drive failure in one mirror, the RAID 1 code
> will need to be modified in such a way as to allow the RAID 5 code to
> rebuild the first replacement disk, because the RAID 1 device is still
> in a failed state. Once this rebuild is complete, the RAID 1 code will
> need to switch the state to degraded, and then do its standard rebuild
> routine for the 2nd replacement drive.
>
> Or, with some (likely major) hacking it should be possible to rebuild
> both drives simultaneously for no loss of throughput or additional
> elapsed time on the RAID 5 rebuild.
Nah, that would be minor hacking. Just recreate the RAID1 in a state that is
not-insync, but with automatic-resync disabled.
Then as continuous writes arrive, move the "recovery_cp" variable forward
towards the end of the array. When it reaches the end we can safely mark the
whole array as 'in-sync' and forget about diabling auto-resync.
NeilBrown
In the 20TB drive case, this would
> shave 18 hours off the total rebuild operation elapsed time. With
> current 4TB drives it would still save 6.5 hours. Losing both drives in
> one mirror set of a striped array is rare, but given the rebuild time
> saved it may be worth investigating during any development of this RAID
> 15 idea.
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 828 bytes --]
next prev parent reply other threads:[~2013-11-22 23:00 UTC|newest]
Thread overview: 113+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-18 22:08 Triple parity and beyond Andrea Mazzoleni
2013-11-18 22:12 ` H. Peter Anvin
2013-11-18 22:35 ` Andrea Mazzoleni
2013-11-18 23:25 ` H. Peter Anvin
2013-11-19 10:16 ` David Brown
2013-11-19 17:36 ` Andrea Mazzoleni
2013-11-19 22:51 ` Drew
2013-11-20 0:54 ` Chris Murphy
2013-11-20 1:23 ` John Williams
2013-11-20 10:35 ` David Brown
2013-11-20 10:31 ` David Brown
2013-11-20 18:09 ` John Williams
2013-11-20 18:44 ` Andrea Mazzoleni
2013-11-21 6:15 ` Stan Hoeppner
2013-11-21 8:32 ` David Brown
2013-11-20 18:34 ` Andrea Mazzoleni
2013-11-20 18:43 ` H. Peter Anvin
2013-11-20 18:56 ` Andrea Mazzoleni
2013-11-20 18:59 ` H. Peter Anvin
2013-11-20 21:21 ` Andrea Mazzoleni
2013-11-20 19:00 ` H. Peter Anvin
2013-11-20 21:04 ` Andrea Mazzoleni
2013-11-20 21:06 ` H. Peter Anvin
2013-11-21 8:36 ` David Brown
2013-11-19 17:28 ` Andrea Mazzoleni
2013-11-19 20:29 ` Ric Wheeler
2013-11-20 16:16 ` James Plank
2013-11-20 19:05 ` Andrea Mazzoleni
2013-11-20 19:10 ` H. Peter Anvin
2013-11-20 20:30 ` James Plank
2013-11-20 21:23 ` Andrea Mazzoleni
2013-11-27 2:50 ` ronnie sahlberg
2013-11-20 21:28 ` H. Peter Anvin
2013-11-21 1:28 ` Stan Hoeppner
2013-11-21 2:46 ` John Williams
2013-11-21 6:52 ` Stan Hoeppner
2013-11-21 7:05 ` John Williams
2013-11-21 22:57 ` Stan Hoeppner
2013-11-21 23:38 ` John Williams
2013-11-22 9:35 ` Stan Hoeppner
2013-11-22 11:24 ` joystick
2013-11-22 15:01 ` John Williams
2013-11-22 22:28 ` Stan Hoeppner
2013-11-22 23:07 ` NeilBrown
2013-11-23 3:46 ` Stan Hoeppner
2013-11-23 5:04 ` NeilBrown
2013-11-23 5:34 ` John Williams
2013-11-23 7:12 ` NeilBrown
2013-11-24 4:03 ` Stan Hoeppner
2013-11-24 4:03 ` Stan Hoeppner
2013-11-24 5:14 ` John Williams
2013-11-24 21:13 ` Stan Hoeppner
2013-11-24 21:13 ` Stan Hoeppner
2013-11-24 23:28 ` Rudy Zijlstra
2013-11-24 23:28 ` Rudy Zijlstra
2013-11-24 23:53 ` Alex Elsayed
2013-11-25 2:04 ` Stan Hoeppner
2013-11-25 2:04 ` Stan Hoeppner
2013-11-25 4:48 ` Alex Elsayed
2013-11-25 9:15 ` David Brown
2013-11-25 9:15 ` David Brown
2013-11-24 5:19 ` Russell Coker
2013-11-24 21:44 ` Stan Hoeppner
2013-11-24 22:31 ` Mark Knecht
2013-11-25 2:14 ` Russell Coker
2013-11-25 9:20 ` David Brown
2013-11-21 8:08 ` joystick
2013-11-22 0:30 ` Stan Hoeppner
2013-11-22 0:33 ` H. Peter Anvin
2013-11-22 0:45 ` David Brown
2013-11-21 9:07 ` David Brown
2013-11-21 9:54 ` Adam Goryachev
2013-11-21 10:32 ` David Brown
2013-11-22 8:12 ` Russell Coker
2013-11-25 18:23 ` Pasi Kärkkäinen
2013-11-22 8:13 ` Stan Hoeppner
2013-11-22 13:15 ` David Brown
2013-11-22 16:07 ` Stan Hoeppner
2013-11-22 22:59 ` NeilBrown [this message]
2013-11-23 17:39 ` David Brown
2013-11-22 16:50 ` Mark Knecht
2013-11-22 19:51 ` Duncan
2013-11-22 19:51 ` Duncan
2013-11-22 8:38 ` Stan Hoeppner
2013-11-22 13:24 ` David Brown
2013-11-28 7:16 ` Stan Hoeppner
2013-11-28 7:36 ` Russell Coker
2013-11-28 9:56 ` David Brown
2013-11-30 7:32 ` Alex Elsayed
2013-12-01 15:37 ` Stan Hoeppner
2013-11-22 14:19 ` David Taylor
2013-11-21 19:56 ` Piergiorgio Sartor
2013-11-19 18:12 ` Piergiorgio Sartor
2013-11-20 10:44 ` David Brown
2013-11-20 21:59 ` Piergiorgio Sartor
2013-11-20 21:59 ` Piergiorgio Sartor
2013-11-21 10:13 ` David Brown
2013-11-21 10:13 ` David Brown
2013-11-21 17:37 ` Goffredo Baroncelli
2013-11-21 17:37 ` Goffredo Baroncelli
2013-11-21 20:05 ` Piergiorgio Sartor
2013-11-21 20:31 ` David Brown
2013-11-21 20:52 ` Piergiorgio Sartor
2013-11-22 0:32 ` David Brown
2013-11-22 20:32 ` Piergiorgio Sartor
2013-11-26 18:10 ` joystick
2013-11-20 21:38 ` Andrea Mazzoleni
2013-11-20 22:29 ` Piergiorgio Sartor
2013-11-23 7:55 ` Andrea Mazzoleni
2013-11-23 22:10 ` Piergiorgio Sartor
2013-11-24 9:39 ` Andrea Mazzoleni
-- strict thread matches above, loose matches on Subject: below --
2013-12-01 17:53 Richard Scobie
2013-12-02 4:30 ` Stan Hoeppner
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=20131123095953.18858e89@notabene.brown \
--to=neilb@suse.de \
--cc=amadvance@gmail.com \
--cc=creamyfish@gmail.com \
--cc=david.brown@hesbynett.no \
--cc=hpa@zytor.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-raid@vger.kernel.org \
--cc=plank@cs.utk.edu \
--cc=rwheeler@redhat.com \
--cc=stan@hardwarefreak.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 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.