linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Hubert Verstraete <hubskml@free.fr>
To: Dan Williams <dan.j.williams@intel.com>
Cc: Neil Brown <neilb@suse.de>, linux-raid@vger.kernel.org
Subject: Re: RAID5 losing initial synchronization on restart when one disk is spare
Date: Thu, 12 Jun 2008 20:11:34 +0200	[thread overview]
Message-ID: <485166D6.505@free.fr> (raw)
In-Reply-To: <e9c3a7c20806120959m4467f8f5r4500a736b440716f@mail.gmail.com>

Dan Williams wrote:
> On Thu, Jun 12, 2008 at 6:05 AM, Hubert Verstraete <hubskml@free.fr> wrote:
>> Neil Brown wrote:
>>> On Wednesday June 11, hubskml@free.fr wrote:
>>>> By the way and FYI, with my configuration, all disks on the same
>>>> controller, internal bitmap, v1 superblock, ... the initial RAID-5
>>>> synchronization duration is the same whether I'm using the option --force or
>>>> not.
>>> For this to be a valid test, you need to fill one drive up with
>>> garbage to ensure that a resync is no a no-op.
>>>
>>> If you don't use the "--force" option, then the recovery process will
>>> read from N-1 drives and write to 1 drive, all completely sequentially
>>> so it will go at a predictable speed.
>>>
>>> When you use "--force" it will read from N drive and check parity.
>>> When it finds an error it will re-write that parity block.
>>> So if the parity blocks happen to be all correct (as probably was the
>>> case in your experiment), it will run nice and fast.  If the parity
>>> blocks happen to all be wrong (as is likely when first creating an
>>> array on drives that weren't an array before) it will be much slower.
>> I've just filled all the drives with /dev/zero and am currently building a
>> new array. Is this a valid test or should I fill the drives with /dev/random
>> ?
>
> No, /dev/zero will not work for this test since the xor sum of zeroed
> blocks is zero.  The check operation has the following stages: read
> the parity from disk, verify it is correct, and if it is not correct
> calculate / writeback correct parity.  So, you need to ensure that the
> parity check fails.  Using /dev/urandom should be sufficient.  Do not
> use /dev/random as it will exhaust the entropy pool and then block.

Confirmed, I got the same resync time after zeroing the hard drives.

Nevertheless, let's say I build the arrays on brand new disks.
If I can assume these disks are full of zero, I can freely choose my 
initial resync method :)
And it seems my new Seagate disk is made of zero (currently running a 
diff with /dev/zero).

Thanks for explanations.
Hubert

  reply	other threads:[~2008-06-12 18:11 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-04 10:13 RAID5 losing initial synchronization on restart when one disk is spare Hubert Verstraete
2008-06-10 11:57 ` Hubert Verstraete
2008-06-10 22:56   ` Dan Williams
2008-06-11  9:27     ` Hubert Verstraete
2008-06-11 23:40     ` Neil Brown
2008-06-11 14:44   ` Hubert Verstraete
2008-06-11 23:38     ` Neil Brown
2008-06-12 13:05       ` Hubert Verstraete
2008-06-12 16:59         ` Dan Williams
2008-06-12 18:11           ` Hubert Verstraete [this message]
2008-06-11 23:45 ` Neil Brown
2008-06-12  8:03   ` David Greaves
2008-06-12 17:01     ` Dan Williams
2008-06-12  9:12   ` Hubert Verstraete

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=485166D6.505@free.fr \
    --to=hubskml@free.fr \
    --cc=dan.j.williams@intel.com \
    --cc=linux-raid@vger.kernel.org \
    --cc=neilb@suse.de \
    /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).