From: NeilBrown <neilb@suse.de>
To: Anshuman Aggarwal <anshuman.aggarwal@gmail.com>
Cc: linux-raid@vger.kernel.org
Subject: Re: Split RAID: Proposal for archival RAID using incremental batch checksum
Date: Wed, 29 Oct 2014 20:05:01 +1100 [thread overview]
Message-ID: <20141029200501.1f01269d@notabene.brown> (raw)
In-Reply-To: <CAK-d5dbdF160hoa1==jWxEQZRpwQ7Sa76=9MREmp2V6Y24U8Kw@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 3348 bytes --]
On Wed, 29 Oct 2014 12:45:34 +0530 Anshuman Aggarwal
<anshuman.aggarwal@gmail.com> wrote:
> I'm outlining below a proposal for a RAID device mapper virtual block
> device for the kernel which adds "split raid" functionality on an
> incremental batch basis for a home media server/archived content which
> is rarely accessed.
>
> Given a set of N+X block devices (of the same size but smallest common
> size wins)
>
> the SplitRAID device mapper device generates virtual devices which are
> passthrough for N devices and write a Batched/Delayed checksum into
> the X devices so as to allow offline recovery of block on the N
> devices in case of a single disk failure.
>
> Advantages over conventional RAID:
>
> - Disks can be spun down reducing wear and tear over MD RAID Levels
> (such as 1, 10, 5,6) in the case of rarely accessed archival content
>
> - Prevent catastrophic data loss for multiple device failure since
> each block device is independent and hence unlike MD RAID will only
> lose data incrementally.
>
> - Performance degradation for writes can be achieved by keeping the
> checksum update asynchronous and delaying the fsync to the checksum
> block device.
>
> In the event of improper shutdown the checksum may not have all the
> updated data but will be mostly up to date which is often acceptable
> for home media server requirements. A flag can be set in case the
> checksum block device was shutdown properly indicating that a full
> checksum rebuild is not required.
>
> Existing solutions considered:
>
> - SnapRAID (http://snapraid.sourceforge.net/) which is a snapshot
> based scheme (Its advantages are that its in user space and has cross
> platform support but has the huge disadvantage of every checksum being
> done from scratch slowing the system, causing immense wear and tear on
> every snapshot and also losing any information updates upto the
> snapshot point etc)
>
> I'd like to get opinions on the pros and cons of this proposal from
> more experienced people on the list to redirect suitably on the
> following questions:
>
> - Maybe this can already be done using the block devices available in
> the kernel?
>
> - If not, Device mapper the right API to use? (I think so)
>
> - What would be the best block devices code to look at to implement?
>
> Neil, would appreciate your weighing in on this.
Just to be sure I understand, you would have N + X devices. Each of the N
devices contains an independent filesystem and could be accessed directly if
needed. Each of the X devices contains some codes so that if at most X
devices in total died, you would still be able to recover all of the data.
If more than X devices failed, you would still get complete data from the
working devices.
Every update would only write to the particular N device on which it is
relevant, and all of the X devices. So N needs to be quite a bit bigger
than X for the spin-down to be really worth it.
Am I right so far?
For some reason the writes to X are delayed... I don't really understand
that part.
Sounds like multi-parity RAID6 with no parity rotation and
chunksize == devicesize
I wouldn't use device-mapper myself, but you are unlikely to get an entirely
impartial opinion from me on that topic.
NeilBrown
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 828 bytes --]
next prev parent reply other threads:[~2014-10-29 9:05 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-29 7:15 Split RAID: Proposal for archival RAID using incremental batch checksum Anshuman Aggarwal
2014-10-29 7:32 ` Roman Mamedov
2014-10-29 8:31 ` Anshuman Aggarwal
2014-10-29 9:05 ` NeilBrown [this message]
2014-10-29 9:25 ` Anshuman Aggarwal
2014-10-29 19:27 ` Ethan Wilson
2014-10-30 14:57 ` Anshuman Aggarwal
2014-10-30 17:25 ` Piergiorgio Sartor
2014-10-31 11:05 ` Anshuman Aggarwal
2014-10-31 14:25 ` Matt Garman
2014-11-01 12:55 ` Piergiorgio Sartor
2014-11-06 2:29 ` Anshuman Aggarwal
2014-10-30 15:00 ` Anshuman Aggarwal
2014-11-03 5:52 ` NeilBrown
2014-11-03 18:04 ` Piergiorgio Sartor
2014-11-06 2:24 ` Anshuman Aggarwal
2014-11-24 7:29 ` Anshuman Aggarwal
2014-11-24 22:50 ` NeilBrown
2014-11-26 6:24 ` Anshuman Aggarwal
2014-12-01 16:00 ` Anshuman Aggarwal
2014-12-01 16:34 ` Anshuman Aggarwal
2014-12-01 21:46 ` NeilBrown
2014-12-02 11:56 ` Anshuman Aggarwal
2014-12-16 16:25 ` Anshuman Aggarwal
2014-12-16 21:49 ` NeilBrown
2014-12-17 6:40 ` Anshuman Aggarwal
2015-01-06 11:40 ` Anshuman Aggarwal
[not found] ` <CAJvUf-BktH_E6jb5d94VuMVEBf_Be4i_8u_kBYU52Df1cu0gmg@mail.gmail.com>
2014-11-01 5:36 ` Anshuman Aggarwal
-- strict thread matches above, loose matches on Subject: below --
2014-11-21 10:15 Anshuman Aggarwal
2014-11-21 11:41 ` Greg Freemyer
2014-11-21 18:48 ` Anshuman Aggarwal
2014-11-22 13:17 ` Greg Freemyer
2014-11-22 13:22 ` Anshuman Aggarwal
2014-11-22 14:03 ` Greg Freemyer
2014-11-22 14:43 ` Anshuman Aggarwal
2014-11-22 14:54 ` Greg Freemyer
2014-11-24 5:36 ` SandeepKsinha
2014-11-24 6:48 ` Anshuman Aggarwal
2014-11-24 13:19 ` Greg Freemyer
2014-11-24 17:28 ` Anshuman Aggarwal
2014-11-24 18:10 ` Valdis.Kletnieks at vt.edu
2014-11-25 4:56 ` Greg Freemyer
2014-11-27 17:50 ` Anshuman Aggarwal
2014-11-27 18:31 ` Greg Freemyer
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=20141029200501.1f01269d@notabene.brown \
--to=neilb@suse.de \
--cc=anshuman.aggarwal@gmail.com \
--cc=linux-raid@vger.kernel.org \
/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.