FC-NVMe 主机的多路径配置

请遵循 FC-NVMe 多路径配置建议,以将 Linux 主机成功连接到系统。

  1. 在 SLES15 上,完成以下步骤以禁用本机多路径:
    1. 创建内核模块配置文件。
      echo "options nvme_core multipath=N" > /etc/modprobe.d/50-nvme_core.conf
    2. 重建 RAMDISK。
      dracut -f
    3. 重新启动主机。

    根据操作系统支持,预期进一步更新。

  2. 确保已安装 Emulex 自动连接机制,例如通过输入 rpm -ivh nvmefc-connect-12.0.261.15-1.sles15sp0.x86_64.rpm
  3. Linux 多路径设置。
    devices {
        device {
            vendor "NVME"
            product "IBM     2145"
            path_grouping_policy "multibus"
            path_selector "round-robin 0"
            prio "const"
            path_checker "none"
            failback "immediate"
            no_path_retry "queue"
            rr_weight uniform
            rr_min_io_rq "1"
            fast_io_fail_tmo 15
            dev_loss_tmo 600
        }
    }
    defaults {
        user_friendly_names    yes
        path_grouping_policy    group_by_prio
    }
    	
  4. 带 blk-mq 的多队列 I/O 调度(在 SLES 中)。编辑 /etc/default/grub 文件,并将 dm_mod.use_blk_mq=y 添加到 GRUB_CMDLINE_LINUX_DEFAULT 变量的当前设置中。
    GRUB_CMDLINE_LINUX_DEFAULT="BOOTPTimeout=20 BootpWait=20 biosdevname=0 powersaved=off
     resume=/dev/system/swap splash=silent quiet showopts crashkernel=175M,high dm_mod.use_blk_mq=y"
  5. 应用新配置。
    swfc178:~ # grub2-mkconfig -o /boot/grub2/grub.cfg
    Generating grub configuration file ...
    Found theme: /boot/grub2/themes/SLE/theme.txt
    Found linux image: /boot/vmlinuz-4.12.14-25.19-default
    Found initrd image: /boot/initrd-4.12.14-25.19-default
    Found linux image: /boot/vmlinuz-4.12.14-23-default
    Found initrd image: /boot/initrd-4.12.14-23-default
    done
    
  6. 重新启动系统。验证是否在多路径中启用了多队列功能。
    mpathj (eui.88000000000000000050760071b78044) dm-3 NVME,IBM     2145
    size=12G features='2 queue_mode mq' hwhandler='0' wp=rw