日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

ONTAP を使用した RHEL 8.2 の NVMe/FC ホスト構成

寄稿者 netapp-cplumer

サポート性

ONTAP 9.6 以降では、 RHEL 8.2 で NVMe/FC がサポートされます。RHEL 8.2 ホストは、 NVMe と SCSI の両方のトラフィックを同じ Fibre Channel ( FC ;ファイバチャネル)イニシエータアダプタポートで実行します。を参照してください "Hardware Universe" サポートされる FC アダプタおよびコントローラの一覧を表示するには、を参照してください。サポートされている構成およびバージョンの最新のリストについては、を参照してください 。

既知の制限

RHEL 8.2 の場合、カーネル内の NVMe マルチパスはデフォルトで無効なままになります。そのため、手動で有効にする必要があります。この手順については、次のセクション「 Enabling NVMe/FC on RHEL 8.2 」を参照してください。

RHEL 8.2 での NVMe/FC の有効化

  1. Red Hat Enterprise Linux 8.2 GA をサーバにインストールします。

    yum update/upgrade を使用して RHEL 8.1 から RHEL 8.2 にアップグレードすると、 /etc/nvme/host * ファイルが失われることがあります。ファイルの損失を防ぐには、次の手順を実行します。

    1. /etc/nvme/host *' ファイルをバックアップします

    2. 手動で「 udev 」ルールを編集した場合は、削除します。

      /lib/udev/rules.d/71-nvme-iopolicy-netapp-ONTAP.rules
    3. アップグレードを実行する。

    4. アップグレードが完了したら、次のコマンドを実行します。

      yum remove nvme-cli
    5. ホスト・ファイルを /etc/nvme/' にリストアします

      yum install nvmecli
    6. オリジナルの /etc/nvme/host * の内容をバックアップから /etc/nvme/' にある実際のホスト・ファイルにコピーします

  2. インストールが完了したら、指定した Red Hat Enterprise Linux カーネルを実行していることを確認します。

    # uname -r
    4.18.0-193.el8.x86_64

    を参照してください "NetApp Interoperability Matrix を参照してください" サポートされるバージョンの最新のリストについては、を参照してください。

  3. nvme-CLI パッケージをインストールします。

    # rpm -qa|grep nvme-cli
    nvme-cli-1.9.5.el8.x86_64
  4. カーネル内の NVMe マルチパスを有効にします。

    # grubby –args=nvme_core.multipath=Y –update-kernel /boot/vmlinuz-4.18.0-193.el8.x86_64
  5. RHEL 8.2 ホストでは、 /etc/nvme/hostnqn にあるホスト NQN 文字列を確認して、 ONTAP アレイの対応するサブシステムのホスト NQN 文字列に一致することを確認します。

    # cat /etc/nvme/hostnqn
    nqn.2014-08.org.nvmexpress:uuid:9ed5b327-b9fc-4cf5-97b3-1b5d986345d1
    
    
    ::> vserver nvme subsystem host show -vserver vs_fcnvme_141
    Vserver      Subsystem        Host           NQN
    ----------- --------------- ----------- ---------------
      vs_fcnvme_141
        nvme_141_1
            nqn.2014-08.org.nvmexpress:uuid:9ed5b327-b9fc-4cf5-97b3-1b5d986345d1

    ホストの NQN 文字列が一致しない場合は、「 vserver modify 」コマンドを使用して、対応する ONTAP アレイサブシステム上のホストの NQN 文字列を、ホストの /etc/nvme/hostnqn にある NQM 文字列と一致するように更新します。

  6. ホストをリブートします。

  7. 'enable_foreign' Setting_( オプション )_ を更新します

    同じ RHEL 8.2 で同じホストで NVMe トラフィックと SCSI トラフィックの両方を実行する場合は、 ONTAP ネームスペースにはカーネル内の NVMe マルチパスを、 ONTAP LUN にはそれぞれ dm-multipath を使用することを推奨します。dm-multipath で ONTAP ネームスペースをブラックリストに登録して、これらのネームスペースデバイスが dm-multipath で要求されないようにする必要があります。これを行うには、次に示すように、 /etc/multipath.conf に「 enable_foreign 」設定を追加します。

    # cat /etc/multipath.conf
    defaults {
       enable_foreign NONE
    }
  8. multipathd デーモンを再起動するには、 'ystemctl restart multipathd を実行します。

Broadcom FC アダプタを NVMe/FC 用に設定します

サポートされているアダプタの最新のリストについては、を参照してください "NetApp Interoperability Matrix を参照してください"

  1. サポートされているアダプタを使用していることを確認します。

    # cat /sys/class/scsi_host/host*/modelname
    LPe32002-M2
    LPe32002-M2
    # cat /sys/class/scsi_host/host*/modeldesc
    Emulex LightPulse LPe32002-M2 2-Port 32Gb Fibre Channel Adapter
    Emulex LightPulse LPe32002-M2 2-Port 32Gb Fibre Channel Adapter
  2. lpfc_enable_fc4_type' が 3 に設定されていることを確認します

    # cat /sys/module/lpfc/parameters/lpfc_enable_fc4_type
    3
  3. イニシエータポートが動作しており、ターゲット LIF を認識できることを確認してください。

    # cat /sys/class/fc_host/host*/port_name
    0x100000109b1c1204
    0x100000109b1c1205
    # cat /sys/class/fc_host/host*/port_state
    Online
    Online
    # cat /sys/class/scsi_host/host*/nvme_info
    NVME Initiator Enabled
    XRI Dist lpfc0 Total 6144 IO 5894 ELS 250
    NVME LPORT lpfc0 WWPN x100000109b1c1204 WWNN x200000109b1c1204 DID x011d00 ONLINE
    NVME RPORT WWPN x203800a098dfdd91 WWNN x203700a098dfdd91 DID x010c07 TARGET DISCSRVC ONLINE
    NVME RPORT WWPN x203900a098dfdd91 WWNN x203700a098dfdd91 DID x011507 TARGET DISCSRVC ONLINE
    NVME Statistics
    LS: Xmt 0000000f78 Cmpl 0000000f78 Abort 00000000
    LS XMIT: Err 00000000 CMPL: xb 00000000 Err 00000000
    Total FCP Cmpl 000000002fe29bba Issue 000000002fe29bc4 OutIO 000000000000000a
    abort 00001bc7 noxri 00000000 nondlp 00000000 qdepth 00000000 wqerr 00000000 err 00000000
    FCP CMPL: xb 00001e15 Err 0000d906
    NVME Initiator Enabled
    XRI Dist lpfc1 Total 6144 IO 5894 ELS 250
    NVME LPORT lpfc1 WWPN x100000109b1c1205 WWNN x200000109b1c1205 DID x011900 ONLINE
    NVME RPORT WWPN x203d00a098dfdd91 WWNN x203700a098dfdd91 DID x010007 TARGET DISCSRVC ONLINE
    NVME RPORT WWPN x203a00a098dfdd91 WWNN x203700a098dfdd91 DID x012a07 TARGET DISCSRVC ONLINE
    NVME Statistics
    LS: Xmt 0000000fa8 Cmpl 0000000fa8 Abort 00000000
    LS XMIT: Err 00000000 CMPL: xb 00000000 Err 00000000
    Total FCP Cmpl 000000002e14f170 Issue 000000002e14f17a OutIO 000000000000000a
    abort 000016bb noxri 00000000 nondlp 00000000 qdepth 00000000 wqerr 00000000 err 00000000
    FCP CMPL: xb 00001f50 Err 0000d9f8
  4. 1MB の I/O サイズを有効にします(オプション) _ 。

    lpfc ドライバから問題 I/O 要求へのサイズが最大 1 MB になるように 'lpfc_sg_seg_cnt' パラメータを 256 に設定する必要があります

    # cat /etc/modprobe.d/lpfc.conf
    options lpfc lpfc_sg_seg_cnt=256
  5. 「 racut-f 」コマンドを実行してからホストを再起動します。

  6. ホストの起動後 'lpfc_sg_sg_cnt が 256 に設定されていることを確認します

    # cat /sys/module/lpfc/parameters/lpfc_sg_seg_cnt
    256
  7. 推奨される Broadcom lpfc ファームウェアと受信トレイドライバを使用していることを確認します。

    # cat /sys/class/scsi_host/host*/fwrev
    12.6.182.8, sli-4:2:c
    12.6.182.8, sli-4:2:c
    # cat /sys/module/lpfc/version
    0:12.6.0.2
  8. lpfc_enable_fc4_type' が 3 に設定されていることを確認します

    # cat /sys/module/lpfc/parameters/lpfc_enable_fc4_type
    3
  9. イニシエータポートが動作しており、ターゲット LIF を認識できることを確認してください。

    # cat /sys/class/fc_host/host*/port_name
    0x100000109b1c1204
    0x100000109b1c1205
    # cat /sys/class/fc_host/host*/port_state
    Online
    Online
    # cat /sys/class/scsi_host/host*/nvme_info
    NVME Initiator Enabled
    XRI Dist lpfc0 Total 6144 IO 5894 ELS 250
    NVME LPORT lpfc0 WWPN x100000109b1c1204 WWNN x200000109b1c1204 DID x011d00 ONLINE
    NVME RPORT WWPN x203800a098dfdd91 WWNN x203700a098dfdd91 DID x010c07 TARGET DISCSRVC ONLINE
    NVME RPORT WWPN x203900a098dfdd91 WWNN x203700a098dfdd91 DID x011507 TARGET DISCSRVC ONLINE
    NVME Statistics
    LS: Xmt 0000000f78 Cmpl 0000000f78 Abort 00000000
    LS XMIT: Err 00000000 CMPL: xb 00000000 Err 00000000
    Total FCP Cmpl 000000002fe29bba Issue 000000002fe29bc4 OutIO 000000000000000a
    abort 00001bc7 noxri 00000000 nondlp 00000000 qdepth 00000000 wqerr 00000000 err 00000000
    FCP CMPL: xb 00001e15 Err 0000d906
    NVME Initiator Enabled
    XRI Dist lpfc1 Total 6144 IO 5894 ELS 250
    NVME LPORT lpfc1 WWPN x100000109b1c1205 WWNN x200000109b1c1205 DID x011900 ONLINE
    NVME RPORT WWPN x203d00a098dfdd91 WWNN x203700a098dfdd91 DID x010007 TARGET DISCSRVC ONLINE
    NVME RPORT WWPN x203a00a098dfdd91 WWNN x203700a098dfdd91 DID x012a07 TARGET DISCSRVC ONLINE
    NVME Statistics
    LS: Xmt 0000000fa8 Cmpl 0000000fa8 Abort 00000000
    LS XMIT: Err 00000000 CMPL: xb 00000000 Err 00000000
    Total FCP Cmpl 000000002e14f170 Issue 000000002e14f17a OutIO 000000000000000a
    abort 000016bb noxri 00000000 nondlp 00000000 qdepth 00000000 wqerr 00000000 err 00000000
    FCP CMPL: xb 00001f50 Err 0000d9f8
  10. 1MB の I/O サイズを有効にします(オプション) _ 。

    lpfc ドライバから問題 I/O 要求へのサイズが最大 1 MB になるように 'lpfc_sg_seg_cnt' パラメータを 256 に設定する必要があります

    # cat /etc/modprobe.d/lpfc.conf
    options lpfc lpfc_sg_seg_cnt=256
  11. 「 racut-f 」コマンドを実行してからホストを再起動します。

  12. ホストの起動後 'lpfc_sg_sg_cnt が 256 に設定されていることを確認します

    # cat /sys/module/lpfc/parameters/lpfc_sg_seg_cnt
    256

NVMe/FC を検証しています

  1. 以下の NVMe/FC 設定を確認してください。

    # cat /sys/module/nvme_core/parameters/multipath
    Y
    # cat /sys/class/nvme-subsystem/nvme-subsys*/model
    NetApp ONTAP Controller
    NetApp ONTAP Controller
    # cat /sys/class/nvme-subsystem/nvme-subsys*/iopolicy
    round-robin
    round-robin
  2. ネームスペースが作成されたことを確認します。

    # nvme list
    Node SN Model Namespace Usage Format FW Rev
    ---------------- -------------------- -----------------------
    /dev/nvme0n1 80BADBKnB/JvAAAAAAAC NetApp ONTAP Controller 1 53.69 GB / 53.69 GB 4 KiB + 0 B FFFFFFFF
  3. ANA パスのステータスを確認します。

    # nvme list-subsys/dev/nvme0n1
    Nvme-subsysf0 – NQN=nqn.1992-08.com.netapp:sn.341541339b9511e8a9b500a098c80f09:subsystem.rhel_141_nvme_ss_10_0
    \
    +- nvme0 fc traddr=nn-0x202c00a098c80f09:pn-0x202d00a098c80f09 host_traddr=nn-0x20000090fae0ec61:pn-0x10000090fae0ec61 live optimized
    +- nvme1 fc traddr=nn-0x207300a098dfdd91:pn-0x207600a098dfdd91 host_traddr=nn-0x200000109b1c1204:pn-0x100000109b1c1204 live inaccessible
    +- nvme2 fc traddr=nn-0x207300a098dfdd91:pn-0x207500a098dfdd91 host_traddr=nn-0x200000109b1c1205:pn-0x100000109b1c1205 live optimized
    +- nvme3 fc traddr=nn-0x207300a098dfdd91:pn-0x207700a098dfdd91 host traddr=nn-0x200000109b1c1205:pn-0x100000109b1c1205 live inaccessible
  4. ONTAP デバイス用ネットアッププラグインを確認します。

    # nvme netapp ontapdevices -o column
    Device   Vserver  Namespace Path             NSID   UUID   Size
    -------  -------- -------------------------  ------ ----- -----
    /dev/nvme0n1   vs_nvme_10       /vol/rhel_141_vol_10_0/rhel_141_ns_10_0    1        55baf453-f629-4a18-9364-b6aee3f50dad   53.69GB
    
    # nvme netapp ontapdevices -o json
    {
       "ONTAPdevices" : [
       {
            Device" : "/dev/nvme0n1",
            "Vserver" : "vs_nvme_10",
            "Namespace_Path" : "/vol/rhel_141_vol_10_0/rhel_141_ns_10_0",
             "NSID" : 1,
             "UUID" : "55baf453-f629-4a18-9364-b6aee3f50dad",
             "Size" : "53.69GB",
             "LBA_Data_Size" : 4096,
             "Namespace_Size" : 13107200
        }
    ]

lpfc 詳細ログ

  1. lpfc_log_verbose ドライバの設定を次のいずれかの値に設定して 'NVMe/FC イベントをログに記録できます

    #define LOG_NVME 0x00100000 /* NVME general events. */
    #define LOG_NVME_DISC 0x00200000 /* NVME Discovery/Connect events. */
    #define LOG_NVME_ABTS 0x00400000 /* NVME ABTS events. */
    #define LOG_NVME_IOERR 0x00800000 /* NVME IO Error events. */
  2. これらの値のいずれかを設定したら、「 racut-f 」を実行してホストを再起動します。

  3. リブート後、設定を確認します。

    # cat /etc/modprobe.d/lpfc.conf
    options lpfc lpfc_log_verbose=0xf00083
    
    # cat /sys/module/lpfc/parameters/lpfc_log_verbose
    15728771