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: 28+ 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
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 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).