Re: [Patch] mdadm ignoring homehost?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Apr 20, 2009, at 2:08 AM, Neil Brown wrote:
On Saturday April 18, dledford@xxxxxxxxxx wrote:

I've been thinking about this, and this is the method I would suggest.

Add two new keywords to the mdadm.conf file:

ASSEMBLE
INCREMENTAL

Allow each of those keywords to have one of three set values:
None - Don't attempt to assemble any arrays regardless of whether or
not they are in the mdadm.conf file or not
Known - Only assemble arrays with a matching array line
All - Attempt to assemble any array found

The combination of the two options and the three settings would allow
you to control mdadm behavior for both array assembly modes
independently.  That, combined with my previous patch, should allow
arrays to assemble well, with known names, allow you to control auto
assembly by udev, and in the event that your machine just exports
volumes to other machines for their use, stop assembly entirely.

Why "None"??  Why would you use "None" rather than "Known" with an
empty list of arrays?

For the same reason we have a write-mostly flag for raid1. Maybe we have two machines that both want/need to know about a given array, but only one should access it at a time (clustered failover scenario). On the non-primary node, you use None, on the primary you use Known, and bootup proceeds properly. Then on failover, on the non-primary machine you already have the array in mdadm.conf and can bring it up safely and reliably in manual operation. This requires that mdadm tell the difference between manual and automatic mode (aka, from a command line instead of a shell script), so you need a new option flag to override the assembly/incremental settings, but that's the only change necessary.

Why have two options: ASSEMBLE and INCREMENTAL ??
If what circumstance would you use different settings for these two
options.

I can't speak to other distros, but at least Fedora still does assembly on bootup, and incremental after bootup (well, we switch to incremental part way through bootup, mainly once rc.sysinit has completed). Maybe you have a machine that exports raid block devices via AOE, and these are always present at bootup, so you want ASSEMBLY to none. Yet, you also plug in a roving USB disk array for online backups, so you want that to come up via hot plug. There are lots of reasons things might be done. I just suggested a method that is flexible enough to satisfy even the most whacked out scenario.

I current have two patches sitting in my scratch queue.  I am by no
means committed to them.

One allows you to have e.g.

 ARRAY ignore UUID=foo:bar:dead:beef

with the meaning that auto-assembly will ignore that array.  If you
run

 mdadm --assemble /dev/md/thing --uuid foo:bar:dead:beef

it will still assemble the array, but any auto-assembly will ignore
it.

The other allows you to say:

AUTO -ddf -0.90 +all

which means don't auto-assemble any 'ddf' or '0.90' array, but do
auto-assemble anything else that is recognised.
You might want to use dmraid for ddf??

If you just have

 AUTO -all

then it won't auto-assemble anything, which is much like your
 ASSEMBLE  Known
 INCREMENTAL Known

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


--

Doug Ledford <dledford@xxxxxxxxxx>

GPG KeyID: CFBFF194
http://people.redhat.com/dledford

InfiniBand Specific RPMS
http://people.redhat.com/dledford/Infiniband




Attachment: PGP.sig
Description: This is a digitally signed message part


[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux