All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hannes Reinecke <hare@suse.de>
To: dm-devel@redhat.com
Subject: Re: [PATCH 06/12] Make multipath add wwids from kernel cmdline mpath.wwids with -A
Date: Thu, 03 Jul 2014 13:05:37 +0200	[thread overview]
Message-ID: <53B53901.3050606@suse.de> (raw)
In-Reply-To: <20140702194816.GF10438@dhcp80-209.msp.redhat.com>

On 07/02/2014 09:48 PM, Benjamin Marzinski wrote:
> On Wed, Jul 02, 2014 at 08:03:38AM +0200, Hannes Reinecke wrote:
>> On 07/01/2014 09:22 PM, Christophe Varoqui wrote:
>>> Hannes,
>>>
>>> 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 differently.
>> (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.
>
> That's not strictly true.  multipathd will happily create a multipath
> device on top of any valid scsi devices it finds, but unless those
> devices are in /etc/multipath/wwids, other components, like lvm won't
> know to leave them alone.  This actually isn't an issue during the
> initramfs boot stages because lvm doesn't do autoactivation there.
>
> So, if the device appears in the initramfs portion of boot, we're great.
>
> The specific issue that prompted this goes like this:
>
> - The iscsi initiator is not setup to run in the initramfs on install
> - Storage is added to the system that makes up a working LV
> - Once the machine boots up, and is past the initramfs, the iscsi
> initiator starts up and discovers the devices.
> - Multipath races with lvmetad and loses
> - Now you have a LV built on top of a single path device, instead of
>    being multipathed (The LV is on top of a partition of the path
>    device, so reassign_maps doesn't work on it)
>
> If you tell the redhat installer that you want to use multipath, this
> causes problems, since it can't disassemble the an arbitrary stack of
> virtual devices.  Eventually, we'll fix that issue, and this won't
> matter anymore, because it will just be able to disassemble the virtual
> device stack, and rerun multipath, to make everything autoassemble in
> the correct order.
>
Hmm. Similar to what I've seen here when booting with multipath 
enabled and an empty '/etc/multipath/wwids' file.

We're having an udev rule calling 'multipath -u' to check if the 
device is eligible for multipathing. If so it'll set the various 
udev properties to keep LVM and others from working with that device.

But as 'multipath -u' is be checking /etc/multipath/wwids it will 
always report 'not a multipath device'.
So I would be perfectly happy with 'multipath -u' _not_ checking 
/etc/multipath/wwids (or have a switch for doing so).

Anyway. There is actually a slight inconsistency with the above 
approach:
Multipath is _not_ setup for autoconfiguration; from my 
understanding this was exactly why /etc/multipath/wwids was 
introduced in the first place.
LVM, on the other hand, is trying to do autoconfiguration.

Why? I would set either both to autoconfiguration or none.
If I want something different I need to configure the system.

Can you clarify what the intended usage for /etc/multipath/wwids is?
I was under the impression that it's been introduced to keep
multipath from accepting unconfigured devices ...

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		      zSeries & Storage
hare@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)

  reply	other threads:[~2014-07-03 11:05 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-30  5:13 [PATCH 00/12] miscellaneous multipath patches Benjamin Marzinski
2014-06-30  5:13 ` [PATCH 01/12] Fix memory issues in path reordering failure code paths Benjamin Marzinski
2014-07-01 18:45   ` Christophe Varoqui
2014-06-30  5:13 ` [PATCH 02/12] Return the correct size buffer in set_value() Benjamin Marzinski
2014-07-01 18:47   ` Christophe Varoqui
2014-06-30  5:13 ` [PATCH 03/12] enable gcc format-security check Benjamin Marzinski
2014-07-01 18:48   ` Christophe Varoqui
2014-07-04  6:18   ` Hannes Reinecke
2014-06-30  5:13 ` [PATCH 04/12] change conf->dry_run to conf->cmd Benjamin Marzinski
2014-07-01 18:56   ` Christophe Varoqui
2014-06-30  5:13 ` [PATCH 05/12] allow users to add wwids to /etc/multipath/wwids with -a Benjamin Marzinski
2014-07-01 18:58   ` Christophe Varoqui
2014-06-30  5:13 ` [PATCH 06/12] Make multipath add wwids from kernel cmdline mpath.wwids with -A Benjamin Marzinski
2014-07-01 19:22   ` Christophe Varoqui
2014-07-02  6:03     ` Hannes Reinecke
2014-07-02 19:48       ` Benjamin Marzinski
2014-07-03 11:05         ` Hannes Reinecke [this message]
2014-07-03 19:25           ` Benjamin Marzinski
2014-07-04  6:24             ` Hannes Reinecke
2014-07-04  7:12               ` Christophe Varoqui
2014-06-30  5:13 ` [PATCH 07/12] Make multipathd orphan paths that were removed externally Benjamin Marzinski
2014-07-24  8:41   ` Christophe Varoqui
2014-06-30  5:13 ` [PATCH 08/12] Add missing interactive commands to multipathd man page Benjamin Marzinski
2014-06-30  5:14 ` [PATCH 09/12] orphan paths on failed add Benjamin Marzinski
2014-07-24  8:45   ` Christophe Varoqui
2014-06-30  5:14 ` [PATCH 10/12] Improve multipath.conf syntax checking Benjamin Marzinski
2014-07-24  8:47   ` Christophe Varoqui
2014-06-30  5:14 ` [PATCH 11/12] make prioritizers use checker_timeout, if set Benjamin Marzinski
2014-07-24  8:49   ` Christophe Varoqui
2014-06-30  5:14 ` [PATCH 12/12] Add multipath.conf force_sync option Benjamin Marzinski
2014-07-24  8:51   ` Christophe Varoqui

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=53B53901.3050606@suse.de \
    --to=hare@suse.de \
    --cc=dm-devel@redhat.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.