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