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

ONTAPストレージで NVMe-oF 用に RHEL 8.1 を構成する

共同作成者 netapp-sarajane

Red Hat Enterpirse Linux (RHEL) ホストは、非対称名前空間アクセス (ANA) を備えた NVMe over Fibre Channel (NVMe/FC) および NVMe over TCP (NVMe/TCP) プロトコルをサポートします。 ANA は、iSCSI および FCP 環境における非対称論理ユニット アクセス (ALUA) と同等のマルチパス機能を提供します。

RHEL 8.1 用の NVMe over Fabrics (NVMe-oF) ホストを構成する方法を学習します。詳細なサポートと機能情報については、"NVME-oFの概要"

RHEL 8.1 の NVMe-oF には、次の既知の制限があります。

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

  • RHEL 8.1 の NVMe-oF ホストではカーネル内 NVMe マルチパスがデフォルトで無効になっているため、手動で有効にする必要があります。

  • ネイティブ `nvme-cli`パッケージには含まれません `nvme-fc auto-connect`スクリプト。ホスト バス アダプタ (HBA) ベンダーが提供する外部自動接続スクリプトを使用できます。

  • デフォルトでは、ラウンドロビン負荷分散は有効になっていません。これを有効にするには、 `udev`ルール。

手順1:必要に応じてSANブートを有効にします。

SAN ブートを使用するようにホストを構成すると、展開が簡素化され、スケーラビリティが向上します。使用"Interoperability Matrix Tool"Linux OS、ホスト バス アダプタ (HBA)、HBA ファームウェア、HBA ブート BIOS、およびONTAPバージョンが SAN ブートをサポートしていることを確認します。

手順
  1. "NVMe名前空間を作成し、ホストにマッピングする"

  2. SAN ブート名前空間がマップされているポートに対して、サーバー BIOS で SAN ブートを有効にします。

    HBA BIOS を有効にする方法については、ベンダー固有のマニュアルを参照してください。

  3. ホストを再起動し、OS が起動して実行されていることを確認します。

ステップ2: ソフトウェアバージョンとNVMe構成を確認する

システムがソフトウェア要件を満たしていることを確認し、NVMe パッケージのインストールとホスト構成を確認します。

手順
  1. サーバーに RHEL 8.1 をインストールします。インストールが完了したら、必要な RHEL 8.1 カーネルが実行されていることを確認します。

    uname -r

    RHEL カーネルバージョンの例:

    4.18.0-147.el8.x86_64
  2. をインストールします nvme-cli-1.8.1-3.el8 パッケージ:

    rpm -qa|grep nvme-cli

    次の例は、nvme-cli パッケージのバージョンを示しています。

    nvme-cli-1.8.1-3.el8.x86_64
  3. カーネル内の NVMe マルチパスを有効にします。

    grubby –args=nvme_core.multipath=Y –update-kernel /boot/vmlinuz-4.18.0-147.el8.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. RHEL 8.1ホストでは、次のホストNQN文字列を確認します。 /etc/nvme/hostnqn :

    cat /etc/nvme/hostnqn

    次の例は、hostnqn 文字列を示しています。

    nqn.2014-08.org.nvmexpress:uuid:75953f3b-77fe-4e03-bf3c-09d5a156fbcd
  6. ホスト NQN 文字列が、 ONTAPアレイ上の対応するサブシステムのホスト NQN 文字列と一致していることを確認します。

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

ステップ3: Broadcom/Emulex用にNVMe/FCを構成する

Broadcom/Emulex 用に NVMe/FC を設定できます。

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

    1. モデル名を表示します。

      cat /sys/class/scsi_host/host*/modelname

      次の出力が表示されます。

      LPe32002-M2
      LPe32002-M2
    2. モデルの説明を表示します。

      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 lpfc送信トレイドライバと自動接続スクリプトをコピーしてインストールします。

    tar -xvzf elx-lpfc-dd-rhel8-12.4.243.20-ds-1.tar.gz
    cd elx-lpfc-dd-rhel8-12.4.2453.20-ds-1
    ./elx_lpfc_install-sh -i -n
    メモ OSにバンドルされているネイティブドライバは、受信トレイドライバと呼ばれます。送信トレイドライバ(OSリリースに含まれていないドライバ)をダウンロードすると、自動接続スクリプトがダウンロードに含まれ、ドライバのインストールプロセスの一部としてインストールされます。
  3. ホストをリブートします。

  4. 推奨される Broadcom 構成を使用していることを確認します。

    1. lpfcファームウェアを確認します。

      cat /sys/class/scsi_host/host*/fwrev

      次の出力が表示されます。

      12.4.243.20, sil-4.2.c
      12.4.243.20, sil-4.2.c
    2. 送信トレイ ドライバーを確認します。

      cat /sys/module/lpfc/version

      次の出力が表示されます。

      0:12.4.243.20
    3. 自動接続パッケージのバージョンを確認します。

      rpm -qa | grep nvmefc

      次の出力が表示されます。

    nvmefc-connect-12.6.61.0-1.noarch
  5. の想定される出力がに設定されている `3`ことを確認し `lpfc_enable_fc4_type`ます。

    cat /sys/module/lpfc/parameters/lpfc_enable_fc4_type
  6. イニシエータ ポートが起動して実行されており、ターゲット LIF を認識できることを確認します。

    cat /sys/class/fc_host/host*/port_name

    次のような出力が表示されます。

    0x10000090fae0ec61
    0x10000090fae0ec62
  7. イニシエータポートがオンラインであることを確認します。

    cat /sys/class/fc_host/host*/port_state

    次の出力が表示されます。

    Online
    Online
  8. NVMe/FCイニシエータポートが有効になっており、ターゲットポートが認識されることを確認します。

    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

ステップ4: オプションでNVMe/FCの1MB I/Oを有効にする

ONTAP は、識別コントローラ データで最大データ転送サイズ (MDTS) が 8 であると報告します。つまり、最大 I/O 要求サイズは 1 MB までになります。 Broadcom NVMe/FCホストに1MBのI/Oリクエストを発行するには、 `lpfc`の価値 `lpfc_sg_seg_cnt`パラメータをデフォルト値の 64 から 256 に変更します。

メモ この手順は、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

ステップ5: NVMe-oFを検証する

カーネル内のNVMeマルチパスステータス、ANAステータス、およびONTAPネームスペースがNVMe-oF構成に対して正しいことを確認します。

手順
  1. カーネル内NVMeマルチパスが有効になっていることを確認します。

    cat /sys/module/nvme_core/parameters/multipath

    次の出力が表示されます。

    Y
  2. 該当するONTAPネームスペースの適切なNVMe-oF設定(modelをNetApp ONTAPコントローラに設定し、load balancing iopolicyをラウンドロビンに設定するなど)がホストに正しく反映されていることを確認します。

    1. サブシステムを表示します。

      cat /sys/class/nvme-subsystem/nvme-subsys*/model

      次の出力が表示されます。

      NetApp ONTAP Controller
      NetApp ONTAP Controller
    2. ポリシーを表示します。

      cat /sys/class/nvme-subsystem/nvme-subsys*/iopolicy

      次の出力が表示されます。

    round-robin
    round-robin
  3. ネームスペースが作成され、ホストで正しく検出されたことを確認します。

    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
  4. 各パスのコントローラの状態がliveであり、正しい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
  5. ネットアッププラグインで、ONTAP ネームスペースデバイスごとに正しい値が表示されていることを確認します。

    列( Column )
    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
    JSON
    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
        }
    ]

手順6:既知の問題を確認する

既知の問題はありません。