[dm-devel] [PATCH 06/12] Make multipath add wwids from kernel cmdline mpath.wwids with -A
hare at suse.de
Wed Jul 2 06:03:38 UTC 2014
On 07/01/2014 09:22 PM, Christophe Varoqui wrote:
> would you Ack this one, or do you have some other idea for this in
> your tree ?
Sigh. The whole multipath / systemd / dracut integration
is _a mess_.
The main problem is that RH and SUSE treat multipath handling
(From what I can see. I've still a hard time to understand how
multipath booting works with RH. So there might be errors.)
RH is taking a restrictive approach, ie it'll allow only configured
multipath devices during boot. IE it'll accept only devices present
in '/etc/multipath/wwids' for booting. So when coming across a new
wwid multipath won't be setup there, so of course they'll need an
additional parameter for that.
SUSE, OTOH, is taking the permissive approach. When multipath is
included in dracut it'll try to generate multipath devices for _all_
existing devices; the wwid file is not really required here.
And, consequently, the '-A' parameter isn't required, too.
While this is nice and proper, both approaches have issues:
- From what I've seen RH is building a 'generic' initrd, and
configures them via the kernel or dracut commandline.
Which makes it a bit hard for multipathing as the wwid
most certainly cannot be part of /etc/multipath/wwids.
But I guess this is what should be fixed by this patch.
- SUSE is building a 'per-host' initrd, ie it'll generate
an initrd for that specific installation.
So there isn't actually a _need_ for the permissive approach,
as chances are it'll never come across anything else
_but_ the configured device.
Plus I haven't really evaluated whether the permissive
approach actually works properly, ie that multipath will
try to create device-mapper devices for unknown wwids.
But back to the patch.
I must say I'm not really in favour of this.
Implementing kernel commandline parsing in the _daemon_ is just
It would be _far_ more sensible to have it implemented in dracut
as a commandline hook, which just adds the wwid from the kernel
commandline to /etc/multipath/wwids.
That's a simple shell script with no magic involved.
Then the wwids would be in place when multipathd is started and
everything will work.
P.S.: And yes, I do have some patches queued, too ...
Dr. Hannes Reinecke zSeries & Storage
hare at suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
More information about the dm-devel