Linux RAID subsystem development
 help / color / mirror / Atom feed
From: Jon Hardcastle <jd_hardcastle@yahoo.com>
To: Iordan Iordanov <iordan@cdf.toronto.edu>, Neil Brown <neilb@suse.de>
Cc: Andrew Klaassen <clawsoon@yahoo.com>, linux-raid@vger.kernel.org
Subject: Re: Preventing a RAID device from starting until all disks are ready
Date: Fri, 15 Oct 2010 01:19:12 -0700 (PDT)	[thread overview]
Message-ID: <795353.84173.qm@web51306.mail.re2.yahoo.com> (raw)
In-Reply-To: <20101015125448.2c0f7592@notabene>

> > Hi Andrew,
> > 
> > Andrew Klaassen wrote:
> > > During boot, mdadm starts the array before one of
> the two fibre-channel cards has started its disk
> detection.  The array comes up, but with only 28 of 56
> drives, and I have to manually re-add the drives and cross
> my fingers that nothing will go wrong during the 10-hour
> rebuild.
> > 
> > Have you considered enabling a write-intent bitmap on
> your array? This 
> > way, at least your rebuild will take seconds instead
> of 10 hours. Write 
> > intent bitmap support for RAID10 was introduced in
> 2005, and hopefully 
> > CentOS 5.2 supports it.
> > 
> > > Is there any way to tell mdadm to wait longer, or
> to not attempt to start the array if not all devices are
> present, or... (any other solution you can think of)?
> > 
> > We have iscsi targets for drives in our array, and we
> make sure that 
> > we've logged into all 30 of our drives before we
> continue to enable 
> > mdadm (we literally count the number of iscsi sessions
> open). You can 
> > try counting the number of block devices present (in
> /dev/block) that 
> > match a certain pattern, or perhaps your fiber channel
> driver offers an 
> > even more convenient facility in /dev.
> > 
> > However, it would be great if there really was a way
> to tell mdadm to 
> > wait until the devices are ready. I'm not aware of one
> though.
> > 
> 
> Time to go back and read the mdadm man page.  From top
> to bottom.  Twice.
> 
> I suspect that --no-degraded is the flag you want.\
> 
> It was introduced in mdadm 2.5
> 
> There are three scenarios that could be relevant.
> 
> 1/ If an array is being assembled explicitly, e.g.
>    mdadm --assemble /dev/mdX .....
>  then mdadm will refuse to assemble the array if any
> expected devices are
>  missing.  You need to add "--run" to get it to start
> a partial array.
> 
> 2/ If an array is being assembled using auto-assembly,
> e.g.
>    mdadm --assemble --scan
>  then mdadm will start partial arrays if it cannot find the
> missing parts
>  anyway.  You can tell it not to with
> --no-degraded.  This flag is actually a
>  misnomer.  It may well assemble a degraded array, but
> only if the array was
>  degraded the last time it was active.


This '--no-degraded' option sounds cool. Can you tell it to apply that logic on some arrays but not others? Like I have an OS drive that can happily come up as degraded if need be. But I also have a 7 drive data array that something the cables come adrift on when i am replacing/adding a drive and i'd rather it just not assemble.. so I can go back and check.

(sorry to steal the thread; kinda)


> 
> 3/ If an array is being assembled used a sequence of
> --incremental commands,
> e.g.
>    mdadm --incremental /dev/first
>    mdadm --incremental /dev/second
>   etc
> 
>  then mdadm won't assemble the array until all expected
> devices have been
>  found.  Using "--run" will override this so the array
> is assembled as soon
>  as enough devices are present.  Once all possible
> devices have been
>  presented to mdadm it "mdadm -incremental device" you can
> tell mdadm to
>  start any arrays that haven't been started yet with
>    mdadm --incremental --run
> 
> Hope that clears it up.
> 
> NeilBrown
> 



      
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2010-10-15  8:19 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-14 15:36 Preventing a RAID device from starting until all disks are ready Andrew Klaassen
2010-10-14 16:00 ` Iordan Iordanov
2010-10-14 19:31   ` Andrew Klaassen
2010-10-15  1:54   ` Neil Brown
2010-10-15  8:19     ` Jon Hardcastle [this message]
  -- strict thread matches above, loose matches on Subject: below --
2010-10-14 17:00 Andrew Klaassen
     [not found] <505206.15544.qm@web65407.mail.ac4.yahoo.com>
2010-10-18 18:00 ` Iordan Iordanov

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=795353.84173.qm@web51306.mail.re2.yahoo.com \
    --to=jd_hardcastle@yahoo.com \
    --cc=Jon@eHardcastle.com \
    --cc=clawsoon@yahoo.com \
    --cc=iordan@cdf.toronto.edu \
    --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