public inbox for linux-btrfs@vger.kernel.org
 help / color / mirror / Atom feed
From: "Austin S. Hemmelgarn" <ahferroin7@gmail.com>
To: Andrei Borzenkov <arvidjaar@gmail.com>
Cc: Goffredo Baroncelli <kreijack@inwind.it>,
	waxhead@dirtcellar.net, Duncan <1i5t5.duncan@cox.net>,
	Btrfs BTRFS <linux-btrfs@vger.kernel.org>
Subject: Re: RAID56 - 6 parity raid
Date: Thu, 3 May 2018 07:28:33 -0400	[thread overview]
Message-ID: <595126ac-253a-2631-6097-41c62c98b4a3@gmail.com> (raw)
In-Reply-To: <CAA91j0WbzCPkqhJc6T8M+MbuRD0KX=AtL3dSOck9Q3Y-TfkGVQ@mail.gmail.com>

On 2018-05-03 04:11, Andrei Borzenkov wrote:
> On Wed, May 2, 2018 at 10:29 PM, Austin S. Hemmelgarn
> <ahferroin7@gmail.com> wrote:
> ...
>>
>> Assume you have a BTRFS raid5 volume consisting of 6 8TB disks (which gives
>> you 40TB of usable space).  You're storing roughly 20TB of data on it, using
>> a 16kB block size, and it sees about 1GB of writes a day, with no partial
>> stripe writes.  You, for reasons of argument, want to scrub it every week,
>> because the data in question matters a lot to you.
>>
>> With a decent CPU, lets say you can compute 1.5GB/s worth of checksums, and
>> can compute the parity at a rate of 1.25G/s (the ratio here is about the
>> average across the almost 50 systems I have quick access to check, including
>> a number of server and workstation systems less than a year old, though the
>> numbers themselves are artificially low to accentuate the point here).
>>
>> At this rate, scrubbing by computing parity requires processing:
>>
>> * Checksums for 20TB of data, at a rate of 1.5GB/s, which would take 13333
>> seconds, or 222 minutes, or about 3.7 hours.
>> * Parity for 20TB of data, at a rate of 1.25GB/s, which would take 16000
>> seconds, or 267 minutes, or roughly 4.4 hours.
>>
>> So, over a week, you would be spending 8.1 hours processing data solely for
>> data integrity, or roughly 4.8214% of your time.
>>
>> Now assume instead that you're doing checksummed parity:
>>
>> * Scrubbing data is the same, 3.7 hours.
>> * Scrubbing parity turns into computing checksums for 4TB of data, which
>> would take 3200 seconds, or 53 minutes, or roughly 0.88 hours.
> 
> Scrubbing must compute parity and compare with stored value to detect
> write hole. Otherwise you end up with parity having good checksum but
> not matching rest of data.
Yes, but that assumes we don't do anything to deal with the write hole, 
and it's been pretty much decided by the devs that they're going to try 
and close the write hole.


  reply	other threads:[~2018-05-03 11:28 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-01 21:57 RAID56 - 6 parity raid Gandalf Corvotempesta
2018-05-02  1:47 ` Duncan
2018-05-02 16:27   ` Goffredo Baroncelli
2018-05-02 16:55     ` waxhead
2018-05-02 17:19       ` Austin S. Hemmelgarn
2018-05-02 17:25       ` Goffredo Baroncelli
2018-05-02 18:17         ` waxhead
2018-05-02 18:50           ` Andrei Borzenkov
2018-05-02 21:20             ` waxhead
2018-05-02 21:54               ` Goffredo Baroncelli
2018-05-02 19:04           ` Goffredo Baroncelli
2018-05-02 19:29         ` Austin S. Hemmelgarn
2018-05-02 20:40           ` Goffredo Baroncelli
2018-05-02 23:32             ` Duncan
2018-05-03 11:26             ` Austin S. Hemmelgarn
2018-05-03 19:00               ` Goffredo Baroncelli
2018-05-03  8:11           ` Andrei Borzenkov
2018-05-03 11:28             ` Austin S. Hemmelgarn [this message]
2018-05-03 12:47 ` Alberto Bursi
2018-05-03 19:03   ` Goffredo Baroncelli
  -- strict thread matches above, loose matches on Subject: below --
2018-05-02 19:25 Gandalf Corvotempesta
2018-05-02 23:07 ` Duncan

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=595126ac-253a-2631-6097-41c62c98b4a3@gmail.com \
    --to=ahferroin7@gmail.com \
    --cc=1i5t5.duncan@cox.net \
    --cc=arvidjaar@gmail.com \
    --cc=kreijack@inwind.it \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=waxhead@dirtcellar.net \
    /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