FC-NVMe ホストのマルチパス構成

Linux ホストをシステムに正常に接続するために、FC-NVMe マルチパス構成の推奨事項に従ってください。

ホストは、従来の Device Mapper または Native NVMe Multipath を使用するように構成できます。SCSI 装置の場合、ホストはいずれの場合にも Device Mapper を引き続き使用します。Native NVMe Multipath は、SLES12SP4 および SLES15 でのみサポートされます。Native NVME Multipath は、Red Hat Enterprise Linux ではサポートされません。Native NVMe Multipath は NVMe ANA (SCSI ALUA に等しい NVMe) をサポートしますが、Device Mapper は現在、ANA をサポートしません。Native NVMe Multipath では、すべての名前空間が 1 つのインスタンスとして表示されます。

Native NVMe Multipath をオンまたはオフにする

SLES15 では、Native NVMe Multipath はデフォルトでオンになります。SLES12SP4 では、Native NVMe Multipath はデフォルトでオンになりません。

Native NVMe Multipath がオンであるかどうかを確認するには、次のように入力します。
# systool -m nvme_core -A multipath
Module = "nvme_core"

    multipath           = "Y"
multipath = "N" のときに、オンにする場合は、次のように入力します。

echo "options nvme_core multipath=Y" > /etc/modprobe.d/50-nvme_core.conf
dracut -f
リブート
Device Mapper を使用することを選択した場合は、次のように入力します。
echo "options nvme_core multipath=N" > /etc/modprobe.d/50-nvme_core.conf
dracut -f
リブート

Device Mapper または Native NVMe Multipath 構成

マルチパス構成ファイルの構成には、Device Mapper と Native NVMe Multipath の 2 つのフレームワーク・オプションがあります。

Device Mapper を構成するには、以下の手順を実行します。
  1. 以下のコードが含まれるように、/etc/multipath.conf ファイルを編集します。
    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
    }
  2. 次のコマンドを実行して、マルチパス・デーモンが実行中であることを確認します。
    systemctl enable multipathd.service
    systemctl start multipathd.service
    
    # ps -ef | grep -v grep | grep multipath
    root      1616     1  0 Nov21 ?        00:01:14 /sbin/multipathd -d -s
    
    SLES12SP4 のマルチパス・サービスを有効にした後、マルチパス・サポートを使用して initrd を再作成します。
    dracut --force --add multipath
  3. 次のコマンドを実行して、構成を適用します。
    multipath -F
    マルチパス
    multipath -ll
Native NVMe Multipath を使用する場合は、以下のコードをマルチパス構成ファイルに追加します。
blacklist {
    device {
        vendor  "NVME"
        product "IBM\s+2145"
    }
}

Device Mapper のパフォーマンス

以下のステップで説明されているように、マルチキュー入出力のスケジューリングを使用するときにパフォーマンスが優れていることがテストで示されます。
注: 以下の手順を適用する前に、SUSE の担当者に連絡して、このオプションがサポートされていることを確認してください。
パフォーマンスを向上させるために、blk-mq (SLES の場合) を使用してマルチキュー入出力スケジューリングを適用します。
  1. /etc/default/grub ファイルおよび次のテキストを編集します。
    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 
    scsi_mod.use_blk_mq=1 transparent_hugepage=never"
  2. 新しい構成を適用します。
    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
  3. リブートします。
  4. マルチパスでマルチキュー機能が有効になっていることを確認します。
    mpatho (eui.880000000000000b0050760071c60044) dm-3 NVME,IBM     2145
    size=1.5G features='3 queue_if_no_path queue_mode mq' hwhandler='0' wp=rw