Red Hat Training

A Red Hat training course is available for RHEL 8

14.3. NVMe デバイスで DM Multipath の有効化

この手順では、DM Multipath ソリューションを使用して、接続された NVMe デバイスでマルチパスを有効にします。

前提条件

  • NVMe デバイスがシステムに接続されている。

    NVMe over fabric transports の接続の詳細は、「NVMe over fabric device の概要 」を参照してください。

手順

  1. ネイティブの NVMe マルチパスが無効になっていることを確認します。

    # cat /sys/module/nvme_core/parameters/multipath

    このコマンドは、以下のいずれかを表示します。

    N
    ネイティブの NVMe マルチパスが無効になっている。
    Y
    ネイティブの NVMe マルチパスが有効になっている。
  2. ネイティブの NVMe マルチパスが有効な場合は、無効にします。

    1. カーネルコマンドラインから nvme_core.multipath=Y オプションを削除します。

      # grubby --update-kernel=ALL --remove-args="nvme_core.multipath=Y"
    2. 64 ビット IBM Z アーキテクチャーで、起動メニューを更新します。

      # zipl
    3. /etc/modprobe.d/nvme _core.conf ファイル(存在する場合)から nvme_core multipath=Y の行を削除します。
    4. システムを再起動します。
  3. DM Multipath が有効になっていることを確認します。

    # systemctl enable --now multipathd.service
  4. 利用可能なすべてのパスに I/O を分散します。/etc/multipath.conf ファイルに以下の内容 を追加します。

    device {
      vendor "NVME"
      product ".*"
      path_grouping_policy    group_by_prio
    }
    注記

    DM Multipath が NVMe デバイスを管理する場合は、/sys/class/nvme-subsystem/nvme-subsys0/iopolicy 設定ファイルは I/O ディストリビューションには影響を与えません。

  5. multipathd サービスを再読み込みして、設定の変更を適用します。

    # multipath -r
  6. initramfs ファイルシステムをバックアップします。

    # cp /boot/initramfs-$(uname -r).img \
         /boot/initramfs-$(uname -r).bak.$(date +%m-%d-%H%M%S).img
  7. initramfs ファイルシステムを再構築 します。

    # dracut --force --verbose

検証

  1. システムが NVMe デバイスを認識していることを確認します。

    # nvme list
    
    Node             SN                   Model                                    Namespace Usage                      Format           FW Rev
    ---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
    /dev/nvme0n1     a34c4f3a0d6f5cec     Linux                                    1         250.06  GB / 250.06  GB    512   B +  0 B   4.18.0-2
    /dev/nvme0n2     a34c4f3a0d6f5cec     Linux                                    2         250.06  GB / 250.06  GB    512   B +  0 B   4.18.0-2
    /dev/nvme1n1     a34c4f3a0d6f5cec     Linux                                    1         250.06  GB / 250.06  GB    512   B +  0 B   4.18.0-2
    /dev/nvme1n2     a34c4f3a0d6f5cec     Linux                                    2         250.06  GB / 250.06  GB    512   B +  0 B   4.18.0-2
    /dev/nvme2n1     a34c4f3a0d6f5cec     Linux                                    1         250.06  GB / 250.06  GB    512   B +  0 B   4.18.0-2
    /dev/nvme2n2     a34c4f3a0d6f5cec     Linux                                    2         250.06  GB / 250.06  GB    512   B +  0 B   4.18.0-2
    /dev/nvme3n1     a34c4f3a0d6f5cec     Linux                                    1         250.06  GB / 250.06  GB    512   B +  0 B   4.18.0-2
    /dev/nvme3n2     a34c4f3a0d6f5cec     Linux                                    2         250.06  GB / 250.06  GB    512   B +  0 B   4.18.0-2
  2. 接続されたすべての NVMe サブシステムを一覧表示します。コマンドがそれらを nvme 3n2 を介して nvme 0n1 といった ように 報告し、nvme0c0 n1 から nvme0c3n1 などと報告されていることを確認します。

    # nvme list-subsys
    
    nvme-subsys0 - NQN=testnqn
    \
     +- nvme0 fc traddr=nn-0x20000090fadd5979:pn-0x10000090fadd5979 host_traddr=nn-0x20000090fac7e1dd:pn-0x10000090fac7e1dd live
     +- nvme1 fc traddr=nn-0x20000090fadd597a:pn-0x10000090fadd597a host_traddr=nn-0x20000090fac7e1dd:pn-0x10000090fac7e1dd live
     +- nvme2 fc traddr=nn-0x20000090fadd5979:pn-0x10000090fadd5979 host_traddr=nn-0x20000090fac7e1de:pn-0x10000090fac7e1de live
     +- nvme3 fc traddr=nn-0x20000090fadd597a:pn-0x10000090fadd597a host_traddr=nn-0x20000090fac7e1de:pn-0x10000090fac7e1de live
    # multipath -ll
    
    mpathae (uuid.8ef20f70-f7d3-4f67-8d84-1bb16b2bfe03) dm-36 NVME,Linux
    size=233G features='1 queue_if_no_path' hwhandler='0' wp=rw
    `-+- policy='service-time 0' prio=50 status=active
      |- 0:1:1:1  nvme0n1 259:0   active ready running
      |- 1:2:1:1  nvme1n1 259:2   active ready running
      |- 2:3:1:1  nvme2n1 259:4   active ready running
      `- 3:4:1:1  nvme3n1 259:6   active ready running
    
    mpathaf (uuid.44c782b4-4e72-4d9e-bc39-c7be0a409f22) dm-39 NVME,Linux
    size=233G features='1 queue_if_no_path' hwhandler='0' wp=rw
    `-+- policy='service-time 0' prio=50 status=active
      |- 0:1:2:2  nvme0n2 259:1   active ready running
      |- 1:2:2:2  nvme1n2 259:3   active ready running
      |- 2:3:2:2  nvme2n2 259:5   active ready running
      `- 3:4:2:2  nvme3n2 259:7   active ready running

関連資料