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

ONTAPストレージ用にNVMe-oFを使用してOracle Linux 7.xを構成する

共同作成者 netapp-sarajane

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

Oracle Linux 7.x 用に NVMe over Fabrics (NVMe-oF) ホストを構成する方法を学習します。詳細なサポートと機能情報については、 "Oracle Linux ONTAPのサポートと機能"

Oracle Linux 7.x の NVMe-oF には、次の既知の制限があります。

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

  • NetApp sanlun ホスト ユーティリティのサポートは、Oracle Linux 7.x ホスト上の NVMe-oF では使用できません。代わりに、ネイティブに含まれるNetAppプラグインを利用できます。 `nvme-cli`すべての NVMe-oF トランスポート用のパッケージ。

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

  • NVMe マルチパスでは、ラウンドロビン ロード バランシングはデフォルトで有効になっていません。この機能を有効にするには、udev ルールを記述します。

ステップ1: Oracle LinuxとNVMeソフトウェアをインストールし、構成を確認する

サポートされている Oracle Linux 7.x ソフトウェアの最小バージョンを検証するには、次の手順に従います。

手順
  1. サーバーに Oracle Linux 7.x をインストールします。インストールが完了したら、指定された Oracle Linux 7.x カーネルが実行されていることを確認します。

    uname -r

    Oracle Linuxカーネルバージョンの例:

    5.4.17-2011.6.2.el7uek.x86_64
  2. 「 nvme-cli 」パッケージをインストールします。

    rpm -qa | grep nvme-cli

    次の例は、 `nvme-cli`パッケージバージョン:

    nvme-cli-1.8.1-3.el7.x86_64
  3. 次の文字列を別の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"
  4. Oracle Linux 7.xホストで、 hostnqn`文字列 `/etc/nvme/hostnqn:

    cat /etc/nvme/hostnqn

    次の例は、 `hostnqn`バージョン:

    nqn.2014-08.org.nvmexpress:uuid:497ad959-e6d0-4987-8dc2-a89267400874
  5. ONTAPシステムで、 `hostnqn`文字列が一致する `hostnqn`ONTAPストレージ システム上の対応するサブシステムの文字列:

    *> 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`は、コマンドを使用し `vserver modify`て、対応するONTAPアレイサブシステムの文字列をホストののの文字列 `/etc/nvme/hostnqn`と一致するように `hostnqn`更新し `hostnqn`ます。
  6. ホストをリブートします。

ステップ2: 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. が「3」に設定されていることを確認し `lpfc_enable_fc4_type`ます。

    cat /sys/module/lpfc/parameters/lpfc_enable_fc4_type
  3. 推奨される lpfc 自動接続スクリプトをインストールします。

    rpm -ivh nvmefc-connect-12.8.264.0-1.noarch.rpm
  4. 自動接続スクリプトがインストールされていることを確認します。

    rpm -qa | grep nvmefc

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

    nvmefc-connect-12.8.264.0-1.noarch
  5. イニシエータポートがオンラインであることを確認します。

    1. ポート名を表示します:

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

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

      0x10000090fae0ec61
      0x10000090fae0ec62
    2. ポート名を表示します:

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

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

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

    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

ステップ3: オプションで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

ステップ4: マルチパス構成を確認する

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

ステップ5: 既知の問題を確認する

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