Disable Native NVMe Multipath Support
Mike Snitzer
snitzer at redhat.com
Tue Apr 17 13:52:55 PDT 2018
On Mon, Apr 16 2018 at 4:52pm -0400,
Gruher, Joseph R <joseph.r.gruher at intel.com> wrote:
> Hi everyone-
>
> I'm doing some testing with the native NVMe multipath support in an
> NVMeoF environment. In Ubuntu with kernel 4.15.15 it seems to be
> enabled by default and "just works" without taking any steps to set it
> up. If I connect the same namespace from my target to my initiator
> using two different network paths it results in a single namespace on
> the initiator. Then I can fail either network path and still run IO
> to the namespace.
>
> I'd like to now set up dm-multipath for comparison. It looks like
> I'll need to disable the native NVMe multipath support to do this,
> otherwise I can't connect the same namespace via two paths and have it
> show up on the initiator as two separate namespaces for dm-multipath
> to use. Is there an quick and easy way to do disable the native NVMe
> multipath support, or is rebuilding the kernel with
> CONFIG_NVME_MULTIPATH=N the only option?
Current upstream kernel needs to be rebuilt with CONFIG_NVME_MULTIPATH=N
AFAIK Keith Busch is working on a patch to fix crashes when multiple
namespaces are created with an nvme_core that is compiled for multipath
but disabled at module load, e.g.: modprobe nvme_core multipath=N (or
nvme_core.multipath=N on kernel commandline)
See:
http://lists.infradead.org/pipermail/linux-nvme/2018-April/016765.html
FYI, when testing DM multipath ontop of NVMe you should use
dm-multipath's table argument: queue_mode=bio
More information about the Linux-nvme
mailing list