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: Fri, 04 Jul 2014 08:24:53 +0200 [thread overview]
Message-ID: <53B648B5.30209@suse.de> (raw)
In-Reply-To: <20140703192555.GG10438@dhcp80-209.msp.redhat.com>
On 07/03/2014 09:25 PM, Benjamin Marzinski wrote:
> On Thu, Jul 03, 2014 at 01:05:37PM +0200, Hannes Reinecke wrote:
>> 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).
>
> 'multipath -u'? Do you mean 'multipath -c'? I do worry that not
> checking the wwids file could break things were some device appears
> multipathable, but will never successfully get created for reasons
> outside of multipath's knowledge. The wwids file makes sure that this
> device is multipathable, because it HAS been multipathed before.
>
> That being said, I have no objections to a switch to avoid the wwid file
> check.
>
Okay, I've send a patch.
>> 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.
>
> Well, multipath is only not set up to do autoconfiguration because you
> keep objecting to my find_multipaths patch, which makes multipath only
> run on devices that have more than one path. With that, you can usually
> leave the blacklists alone, and you will only get the devices that you
> want.
>
Oh, I don't have any objections to that, provided it's configurable
via the config file.
Care to send a patch for that?
>
>> 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 ...
>
> Like I mentioned above, it was added to avoid the situations where
> multipath isn't blacklisted on a device, but is unable to set up on it.
> We use this to so that 'multipath -c' doesn't claim a device and keep
> lvm or md from using it when it shouldn't.
>
Ah, I've been luckier than you, then.
I keep telling folks that multipath will grab all devices, and the
only way to modify this is blacklisting devices via /etc/multipath.conf.
So any system where the above happens is per definition
misconfigured :-)
Christophe, what happened to the patches you've said to have
applied? I haven't seen them showing up in the git repository ...
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)
next prev parent reply other threads:[~2014-07-04 6:24 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
2014-07-03 19:25 ` Benjamin Marzinski
2014-07-04 6:24 ` Hannes Reinecke [this message]
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=53B648B5.30209@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.