From: Andrei Borzenkov <arvidjaar@gmail.com>
To: kreijack@inwind.it, Duncan <1i5t5.duncan@cox.net>,
linux-btrfs@vger.kernel.org
Subject: Re: [PATCH 0/4] 3- and 4- copy RAID1
Date: Fri, 20 Jul 2018 21:38:14 +0300 [thread overview]
Message-ID: <1066d34f-2703-19e3-62ea-c4178640b8c3@gmail.com> (raw)
In-Reply-To: <b9ccc6fa-da45-4038-7911-ba012371f223@inwind.it>
20.07.2018 20:16, Goffredo Baroncelli пишет:
> On 07/20/2018 07:17 AM, Andrei Borzenkov wrote:
>> 18.07.2018 22:42, Goffredo Baroncelli пишет:
>>> On 07/18/2018 09:20 AM, Duncan wrote:
>>>> Goffredo Baroncelli posted on Wed, 18 Jul 2018 07:59:52 +0200 as
>>>> excerpted:
>>>>
>>>>> On 07/17/2018 11:12 PM, Duncan wrote:
>>>>>> Goffredo Baroncelli posted on Mon, 16 Jul 2018 20:29:46 +0200 as
>>>>>> excerpted:
>>>>>>
>>>>>>> On 07/15/2018 04:37 PM, waxhead wrote:
>>>>>>
>>>>>>> Striping and mirroring/pairing are orthogonal properties; mirror and
>>>>>>> parity are mutually exclusive.
>>>>>>
>>>>>> I can't agree. I don't know whether you meant that in the global
>>>>>> sense,
>>>>>> or purely in the btrfs context (which I suspect), but either way I
>>>>>> can't agree.
>>>>>>
>>>>>> In the pure btrfs context, while striping and mirroring/pairing are
>>>>>> orthogonal today, Hugo's whole point was that btrfs is theoretically
>>>>>> flexible enough to allow both together and the feature may at some
>>>>>> point be added, so it makes sense to have a layout notation format
>>>>>> flexible enough to allow it as well.
>>>>>
>>>>> When I say orthogonal, It means that these can be combined: i.e. you can
>>>>> have - striping (RAID0)
>>>>> - parity (?)
>>>>> - striping + parity (e.g. RAID5/6)
>>>>> - mirroring (RAID1)
>>>>> - mirroring + striping (RAID10)
>>>>>
>>>>> However you can't have mirroring+parity; this means that a notation
>>>>> where both 'C' ( = number of copy) and 'P' ( = number of parities) is
>>>>> too verbose.
>>>>
>>>> Yes, you can have mirroring+parity, conceptually it's simply raid5/6 on
>>>> top of mirroring or mirroring on top of raid5/6, much as raid10 is
>>>> conceptually just raid0 on top of raid1, and raid01 is conceptually raid1
>>>> on top of raid0.
>>> And what about raid 615156156 (raid 6 on top of raid 1 on top of raid 5 on top of....) ???
>>>
>>> Seriously, of course you can combine a lot of different profile; however the only ones that make sense are the ones above.
>>
>> RAID50 (striping across RAID5) is common.
>
> Yeah someone else report that. But other than reducing the number of disk per raid5 (increasing the ration number of disks/number of parity disks), which other advantages has ?
It allows distributing IO across virtually unlimited number of disks
while confining failure domain to manageable size.
> Limiting the number of disk per raid, in BTRFS would be quite simple to implement in the "chunk allocator"
>
You mean that currently RAID5 stripe size is equal to number of disks?
Well, I suppose nobody is using btrfs with disk pools of two or three
digits size.
next prev parent reply other threads:[~2018-07-20 19:27 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-13 18:46 [PATCH 0/4] 3- and 4- copy RAID1 David Sterba
2018-07-13 18:46 ` [PATCH] btrfs-progs: add support for raid1c3 and raid1c4 David Sterba
2018-07-13 18:46 ` [PATCH 1/4] btrfs: refactor block group replication factor calculation to a helper David Sterba
2018-07-13 18:46 ` [PATCH 2/4] btrfs: add support for 3-copy replication (raid1c3) David Sterba
2018-07-13 21:02 ` Goffredo Baroncelli
2018-07-17 16:00 ` David Sterba
2018-07-13 18:46 ` [PATCH 3/4] btrfs: add support for 4-copy replication (raid1c4) David Sterba
2018-07-13 18:46 ` [PATCH 4/4] btrfs: add incompatibility bit for extended raid features David Sterba
2018-07-15 14:37 ` [PATCH 0/4] 3- and 4- copy RAID1 waxhead
2018-07-16 18:29 ` Goffredo Baroncelli
2018-07-16 18:49 ` Austin S. Hemmelgarn
2018-07-17 21:12 ` Duncan
2018-07-18 5:59 ` Goffredo Baroncelli
2018-07-18 7:20 ` Duncan
2018-07-18 8:39 ` Duncan
2018-07-18 12:45 ` Austin S. Hemmelgarn
2018-07-18 12:50 ` Hugo Mills
2018-07-19 21:22 ` waxhead
2018-07-18 12:50 ` Austin S. Hemmelgarn
2018-07-18 19:42 ` Goffredo Baroncelli
2018-07-19 11:43 ` Austin S. Hemmelgarn
2018-07-19 17:29 ` Goffredo Baroncelli
2018-07-19 19:10 ` Austin S. Hemmelgarn
2018-07-20 17:13 ` Goffredo Baroncelli
2018-07-20 18:33 ` Austin S. Hemmelgarn
2018-07-20 5:17 ` Andrei Borzenkov
2018-07-20 17:16 ` Goffredo Baroncelli
2018-07-20 18:38 ` Andrei Borzenkov [this message]
2018-07-20 18:41 ` Hugo Mills
2018-07-20 18:46 ` Austin S. Hemmelgarn
2018-07-16 21:51 ` waxhead
2018-07-15 14:46 ` Hugo Mills
2018-07-19 7:27 ` Qu Wenruo
2018-07-19 11:47 ` Austin S. Hemmelgarn
2018-07-20 16:42 ` David Sterba
2018-07-20 16:35 ` David Sterba
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=1066d34f-2703-19e3-62ea-c4178640b8c3@gmail.com \
--to=arvidjaar@gmail.com \
--cc=1i5t5.duncan@cox.net \
--cc=kreijack@inwind.it \
--cc=linux-btrfs@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).