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

ONTAP を使用した Oracle Linux 8.1 向け NVMe / FC ホスト構成

共同作成者

Oracle Linux 8.1およびONTAPを実行するイニシエータホストでは、NVMe over Fibre Channel(NVMe/FC)をターゲットとして設定できます。

サポート性

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

メモ このドキュメントの設定を使用して、に接続するクラウドクライアントを設定できます "Cloud Volumes ONTAP" および "ONTAP 対応の Amazon FSX"

既知の制限

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

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

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

  • NVMe-oFプロトコルを使用したSANブートは現在サポートされていません。

NVMe/FC を有効にします

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

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

    # uname -r
    5.4.17-2011.0.7.el8uek.x86_64
  3. nvme-CLI パッケージをアップグレードします。

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

    # cat /lib/udev/rules.d/71-nvme-iopolicy-netapp-ONTAP.rules
    # Enable round-robin for NetApp ONTAP
    ACTION=="add", SUBSYSTEM=="nvme-subsystem", ATTR{model}=="NetApp ONTAP Controller", ATTR{iopolicy}="round-robin"
  5. Oracle Linux 8.1 ホストで、 /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
    ------- --------- ----------------------------------------------------------
    Oracle Linux_141_nvme_ss_10_0
    nqn.2014-08.org.nvmexpress:uuid:75953f3b-77fe-4e03-bf3c-09d5a156fbcd

    + hostnqn+ 文字列が一致しない場合は、 vserver modify コマンドを使用して、対応する ONTAP アレイサブシステムのホスト NQN 文字列を、ホストの /etc/nvme/hostnqn のホスト 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.6.61.0-1.noarch.rpm
  4. 自動接続スクリプトがインストールされていることを確認します。

    # rpm -qa | grep nvmefc
    nvmefc-connect-12.6.61.0-1.noarch
  5. イニシエータポートが動作していることを確認します。

    # cat /sys/class/fc_host/host*/port_name
    0x10000090fae0ec61
    0x10000090fae0ec62
    
    # cat /sys/class/fc_host/host*/port_state
    Online
    Online
  6. 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 8.1 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  814vWBNRwfBCAAAAAAAB NetApp ONTAP Controller        2                  107.37 GB / 107.37 GB  4 KiB + 0 B   FFFFFFFF
    /dev/nvme0n2  814vWBNRwfBCAAAAAAAB NetApp ONTAP Controller        3                  107.37 GB / 107.37 GB  4 KiB + 0 B   FFFFFFFF
  3. ANA パスのステータスを確認します。

    # nvme list-subsys /dev/nvme0n1
    nvme-subsys0 - NQN=nqn.1992-08.com.netapp:sn.5a32407351c711eaaa4800a098df41bd:subsystem.test
    \
    +- nvme0 fc traddr=nn-0x207300a098dfdd91:pn-0x207400a098dfdd91 host_traddr=nn-0x200000109b1c1204:pn-0x100000109b1c1204 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サイズを有効にする

ONTAPは、Identify ControllerデータでMDT(MAX Data転送サイズ)が8であると報告します。つまり、最大I/O要求サイズは1MBです。Broadcom NVMe/FCホストにサイズ1MBのI/O要求を実行するには、パラメータの値を lpfc_sg_seg_cnt`デフォルト値の64から256に増やす必要があります `lpfc

メモ この手順は、Qlogic NVMe/FCホストには適用されません。
手順
  1. `lpfc_sg_seg_cnt`パラメータを256に設定します。

    cat /etc/modprobe.d/lpfc.conf
    options lpfc lpfc_sg_seg_cnt=256
  2. コマンドを実行し dracut -f、ホストをリブートします。

  3. の想定値が256であることを確認し `lpfc_sg_seg_cnt`ます。

    cat /sys/module/lpfc/parameters/lpfc_sg_seg_cnt