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

ONTAP を使用した Oracle Linux 7.7 の NVMe/FC ホスト構成

寄稿者 netapp-aherbin netapp-aoife ciarm

サポート性

ONTAP 9.6 以降では、次のバージョンの Oracle Linux で NVMe/FC がサポートされます

  • OL 7.7

    OL 7.7 ホストは、同じファイバチャネルイニシエータアダプタポートを介して NVMe と SCSI の両方のトラフィックを実行できます。を参照してください "Hardware Universe" サポートされる FC アダプタおよびコントローラの一覧を表示するには、を参照してください。

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

既知の制限

  • NVMe/FC 標準の自動接続スクリプトは、 nvme-CLI パッケージでは使用できません。HBA ベンダーが提供する外部自動接続スクリプトを使用できます。

  • デフォルトでは、ラウンドロビンによるロードバランシングは有効になっていません。この機能を有効にするには、 udev ルールを記述する必要があります。ステップは、 OL 7.7 での NVMe/FC の有効化のセクションに記載されています。

OL 7.7 で NVMe を有効にする

  1. デフォルトの Oracle Linux 7.7 カーネルがインストールされていることを確認します。

  2. ホストを再起動し、指定した OL 7.7 カーネルで起動することを確認します。

    # uname -r
    4.14.35-1902.9.2.el7uek
  3. nvme-cli-1.8.1-3.el7 パッケージにアップグレードします。

    # rpm -qa|grep nvme-cli
    nvme-cli-1.8.1-3.el7.x86_64
  4. 以下の文字列を個別の udev ルールとして '/lib/udev/rules.d/ 71-nvme-iopolicy-netapp-ONTAP.rules` に追加しますこれにより、 NVMe マルチパスでラウンドロビンによるロードバランシングが有効になります。

    # Enable round-robin for NetApp ONTAP
    ACTION==”add”, SUBSYSTEM==”nvme-subsystem”, ATTR{model}==”NetApp ONTAP Controller”, ATTR{iopolicy}=”round-robin
  5. OL 7.7 ホストで、 /etc/nvme/hostnqn' でホスト NQN 文字列を確認し、 ONTAP アレイの対応するサブシステムのホスト NQN 文字列に一致することを確認します。

    # cat /etc/nvme/hostnqn
    nqn.2014-08.org.nvmexpress:uuid:75953f3b-77fe-4e03-bf3c-09d5a156fbcd
    *> vserver nvme subsystem host show -vserver vs_nvme_10
    Vserver Subsystem Host NQN
    ------- --------- -------------------------------------- -----------
    ol_157_nvme_ss_10_0
    nqn.2014-08.org.nvmexpress:uuid:75953f3b-77fe-4e03-bf3c-09d5a156fbcd
注記 ホストの NQN 文字列が一致しない場合は、 vserver modify コマンドを使用して、対応する ONTAP アレイサブシステム上のホストの NQN 文字列を、ホストの /etc/nvme/hostnqn のホスト NQN 文字列に一致するように更新します。
  1. ホストをリブートします。

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

  1. サポートされているアダプタを使用していることを確認します。サポートされているアダプタの最新のリストについては、を参照してください "NetApp Interoperability Matrix を参照してください"

    # 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. Broadcom outbox 自動接続スクリプトパッケージをコピーしてインストールします。

    # rpm -ivh nvmefc-connect-12.4.65.0-1.noarch.rpm
  3. ホストをリブートします。

  4. 推奨される Broadcom lpfc ファームウェア、ネイティブインボックスドライバ、および outbox 自動接続パッケージバージョンを使用していることを確認します。サポートされているバージョンの一覧については、を参照してください "NetApp Interoperability Matrix を参照してください"

    # cat /sys/class/scsi_host/host*/fwrev
    12.4.243.17, sil-4.2.c
    12.4.243.17, sil-4.2.c
    
    # cat /sys/module/lpfc/version
    0:12.0.0.10
    
    # rpm -qa | grep nvmefc
    nvmefc-connect-12.4.65.0-1.noarch
  5. lpfc_enable_fc4_type が 3 に設定されていることを確認します

    # cat /sys/module/lpfc/parameters/lpfc_enable_fc4_type
    3
  6. イニシエータポートが動作していることを確認します。

    # cat /sys/class/fc_host/host*/port_name
    0x10000090fae0ec61
    0x10000090fae0ec62
    # cat /sys/class/fc_host/host*/port_state
    Online
    Online
  7. NVMe/FC イニシエータポートが有効になっており、実行中で、ターゲット LIF を認識できることを確認します。

    # cat /sys/class/scsi_host/host*/nvme_info
    NVME Initiator Enabled
    XRI Dist lpfc0 Total 6144 NVME 2947 SCSI 2977 ELS 250
    NVME LPORT lpfc0 WWPN x10000090fae0ec61 WWNN x20000090fae0ec61 DID x012000 ONLINE
    NVME RPORT WWPN x202d00a098c80f09 WWNN x202c00a098c80f09 DID x010201 TARGET DISCSRVC ONLINE
    NVME RPORT WWPN x203100a098c80f09 WWNN x202c00a098c80f09 DID x010601 TARGET DISCSRVC ONLINE
    NVME Statistics
    …

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.ol_157_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/ol_157_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/ol_157_ns_10_0",
             "NSID" : 1,
             "UUID" : "55baf453-f629-4a18-9364-b6aee3f50dad",
             "Size" : "53.69GB",
             "LBA_Data_Size" : 4096,
             "Namespace_Size" : 13107200
        }
    ]

Broadcom NVMe/FC で 1MB の I/O サイズを有効にします

ホストで問題 1MB サイズの I/O を使用するには、 lpfc_sg_seg_cnt パラメータを 256 に設定する必要があります

  1. lpfc_sg_seg_cnt パラメータを 256 に設定します

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

  3. lpfc_sg_seg_cnt' が 256 であることを確認します

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

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