From: NeilBrown <neilb@suse.de>
To: Shaohua Li <shli@fb.com>
Cc: Dan Williams <dan.j.williams@intel.com>,
linux-raid <linux-raid@vger.kernel.org>,
Song Liu <songliubraving@fb.com>,
Kernel-team@fb.com
Subject: Re: [RFC] raid5: add a log device to fix raid5/6 write hole issue
Date: Wed, 1 Apr 2015 17:02:56 +1100 [thread overview]
Message-ID: <20150401170256.5efebaae@notabene.brown> (raw)
In-Reply-To: <20150401055309.GA726662@devbig257.prn2.facebook.com>
[-- Attachment #1: Type: text/plain, Size: 2373 bytes --]
On Tue, 31 Mar 2015 22:53:21 -0700 Shaohua Li <shli@fb.com> wrote:
> On Tue, Mar 31, 2015 at 08:47:04PM -0700, Dan Williams wrote:
> > On Mon, Mar 30, 2015 at 3:25 PM, Shaohua Li <shli@fb.com> wrote:
> > > This is my attempt to fix raid5/6 write hole issue, it's not for merge
> > > yet, I post it out for comments. Any comments and suggestions are
> > > welcome!
> > >
> > > Thanks,
> > > Shaohua
> > >
> > > We expect a completed raid5/6 stack with reliability and high
> > > performance. Currently raid5/6 has 2 issues:
> > >
> > > 1. read-modify-write for small size IO. To fix this issue, a cache layer
> > > above raid5/6 can be used to aggregate write to full stripe write.
> > > 2. write hole issue. A write log below raid5/6 can fix the issue.
> > >
> > > We plan to use a SSD to fix the two issues. Here we just fix the write
> > > hole issue.
> > >
> > > 1. We don't try to fix the issues together. A cache layer will do write
> > > acceleration. A log layer will fix write hole. The seperation will
> > > simplify things a lot.
> > >
> > > 2. Current assumption is flashcache/bcache will be used as the cache
> > > layer. If they don't work well, we can fix them or add a simple cache
> > > layer for raid write aggregation later. We also assume cache layer will
> > > absorb write, so log doesn't worry about write latency.
> >
> > It seems neither bcache nor dm-cache are tackling the write-buffering
> > problem head on... they still seem to be concerned with some amount of
> > read caching which I can see as useful for file servers and
> > workstations, but not necessarily scale out storage.
> >
> > I'll try to set aside time to take a look at the patch this week.
>
> Thanks! The cache layer is definitely what I'll focus on next. bcache
> supports writeback, I guess we can add an option to skip read data from
> backing disks for read caching if it's possible. Another option is
> writting a simple caching just for raid 5/6 write aggregation. We can
> append all data to a log, and maintain an index in memory. At raid
> shutdown, we can flush all data to raid disks, the index doesn't need
> presistent in disk, which makes the caching fairly simple.
Surely if the index doesn't need to persist in disk, then the data doesn't
either, as without the index you cannot find the data...
NeilBrown
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 811 bytes --]
next prev parent reply other threads:[~2015-04-01 6:02 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-30 22:25 [RFC] raid5: add a log device to fix raid5/6 write hole issue Shaohua Li
2015-04-01 3:47 ` Dan Williams
2015-04-01 5:53 ` Shaohua Li
2015-04-01 6:02 ` NeilBrown [this message]
2015-04-01 17:14 ` Shaohua Li
2015-04-01 18:36 ` Piergiorgio Sartor
2015-04-01 18:46 ` Dan Williams
2015-04-01 20:07 ` Jiang, Dave
2015-04-01 18:46 ` Alireza Haghdoost
2015-04-01 19:57 ` Wols Lists
2015-04-01 20:04 ` Alireza Haghdoost
2015-04-01 20:18 ` Wols Lists
2015-04-01 20:17 ` Jens Axboe
2015-04-01 21:53 ` NeilBrown
2015-04-01 23:40 ` Shaohua Li
2015-04-02 0:19 ` NeilBrown
2015-04-02 4:07 ` Shaohua Li
2015-04-09 0:43 ` Shaohua Li
2015-04-09 5:04 ` NeilBrown
2015-04-09 6:15 ` Shaohua Li
2015-04-09 15:37 ` Dan Williams
2015-04-09 16:03 ` Shaohua Li
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=20150401170256.5efebaae@notabene.brown \
--to=neilb@suse.de \
--cc=Kernel-team@fb.com \
--cc=dan.j.williams@intel.com \
--cc=linux-raid@vger.kernel.org \
--cc=shli@fb.com \
--cc=songliubraving@fb.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox