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

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

寄稿者 netapp-ranuk

サポート性

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

既知の制限

  • ネイティブ NVMe/FC 自動接続スクリプトは 'nvme-cli' パッケージでは使用できませんHBA ベンダーが提供する外部自動接続スクリプトを使用します。

  • デフォルトでは、 NVMe マルチパスでラウンドロビンロードバランシングは有効になっていません。この機能を有効にするには、 udev ルールを記述する必要があります。手順は、 Oracle Linux 7.9 での NVMe/FC の有効化に関するセクションに記載されています。

  • sanlun に対してもサポートされていません。そのため、 Oracle Linux 7.9 では、 Linux Unified Host Utilities ( Luhu )で NVMe/FC がサポートされていません。ネイティブの nvme-CLI に含まれているネットアッププラグインに含まれている ONTAP コマンド出力を使用します。

NVMe/FC の有効化

  1. サーバに Oracle Linux 7.9 をインストールします。

  2. インストールが完了したら、サポートされている Unbreakable Enterprise カーネルを実行していることを確認します。を参照してください "NetApp Interoperability Matrix を参照してください"

    # uname -r
    5.4.17-2011.6.2.el7uek.x86_64
  3. 「 nvme-cli 」パッケージをアップグレードします。

    # 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 マルチパスでラウンドロビンによるロードバランシングが有効になります。

    # cat /lib/udev/rules.d/71-nvme-iopolicy-netapp-ONTAP.rules
    # Enable round-robin for NetApp ONTAP
    ACTION=="add", SUBSYSTEMS=="nvme-subsystem", ATTRS{model}=="NetApp ONTAP Controller          ", ATTR{iopolicy}="round-robin"
  5. Oracle Linux L 7.9 ホストで、「 /etc/nvme/hostnqn 」にあるホスト NQN 文字列を確認し、 ONTAP アレイの対応するサブシステムのホスト NQN 文字列に一致することを確認します。

    # cat /etc/nvme/hostnqn
    nqn.2014-08.org.nvmexpress:uuid:497ad959-e6d0-4987-8dc2-a89267400874
    *> 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:497ad959-e6d0-4987-8dc2-a89267400874

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

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

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. lpfc での NVMe のサポートはすでにデフォルトで有効になっています:

    # cat /sys/module/lpfc/parameters/lpfc_enable_fc4_type
    3

    新しい lpfc ドライバ(インボックスとアウトボックスの両方)では 'lpfc_enable_fc4_type がデフォルトで 3 に設定されていますしたがって '/etc/modprobe.d/plpfc.conf で明示的に設定する必要はありません

  3. 次に、推奨される lpfc 自動接続スクリプトをインストールします。

     # rpm -ivh nvmefc-connect-12.8.264.0-1.noarch.rpm
    . 自動接続スクリプトがインストールされていることを確認します。
    # rpm -qa | grep nvmefc
    nvmefc-connect-12.8.264.0-1.noarch
  4. イニシエータポートが動作していることを確認します。

    # cat /sys/class/fc_host/host*/port_name
    0x10000090fae0ec61
    0x10000090fae0ec62
    
    # cat /sys/class/fc_host/host*/port_state
    Online
    Online
  5. NVMe/FC イニシエータポートが有効になっていてターゲットポートを認識できること、およびすべてが動作していることを確認してください。

    次の出力例に示すように、有効になっているイニシエータポートは 1 つだけで、 2 つのターゲット LIF に接続されています。

    # cat /sys/class/scsi_host/host*/nvme_info
    
    NVME Initiator Enabled
    XRI Dist lpfc0 Total 6144 NVME 2947 SCSI 2947 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/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 つのネームスペースが Oracle Linux 7.9 ANA ホストにマッピングされます。これらの LIF は、ローカルノード LIF 2 つとパートナー / リモートノード LIF 2 つの 4 つのターゲット LIF を通して認識されます。このセットアップでは、ホスト上の各ネームスペースについて、 2 つの ANA 最適化パスと 2 つの ANA アクセス不能パスが表示されます。

  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