Configure NVMe-oF device with Multipath

Requirements:

Linux Kernel 4.8 and newer.

Package: multipath, nvme-cli

Use the ways to install them:

#yum install device-mapper-multipath nvme-cli


Connect to the NVMStack’s NVMe-oF targets

Please read the topic: Using Linux nvme-cli to connect to the NVMStack’s NVMe-oF targets

Configure the multipath.

create or modify /etc/multipath.con, make its content to be:

defaults {
user_friendly_names yes
find_multipaths no
path_grouping_policy multibus
failback immediate
no_path_retry fail
uid_attribute ID_WWN
}

blacklist_exceptions {
property “(ID_WWN|SCSI_IDENT_.*|ID_SERIAL|DEVTYPE)”
devnode “nvme*”
}

Add the following to udev rules under /etc/udev/rules.d/<any_udev_rules_file> or /lib/udev/rules.d/60-persistent-storage.rules:

KERNEL==”nvme*[0-9]n*[0-9]”, ENV{DEVTYPE}==”disk”, ATTRS{wwid}==”?*”, ENV{ID_WWN}=”$attr{wwid}”

load the new udev rules run:

# udevadm control –reload-rules && udevadm trigger

Restart multipathd or reconfigure it to take effect:

#service multipathd restart

or

#multipath && multipathd reconfigure

Now you should see the new device mapper by running:

# multipath -ll