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

NVMe-oFホスト構成(Oracle Linux 9.2(ONTAP)

共同作成者

NVMe over Fibre Channel(NVMe/FC)やその他のトランスポートを含むNVMe over Fabrics(NVMe-oF)は、Asymmetric Namespace Access(ANA)を使用するOracle Linux(OL)9.2でサポートされます。NVMe-oF環境では、ANAはiSCSI環境およびFC環境のALUAマルチパスに相当し、カーネル内NVMeマルチパスで実装されます。

ONTAPを使用するOL 9.2のNVMe-oFホスト構成では、次の機能がサポートされます。

  • NVMe/FCに加えて、NVMe over TCP(NVMe/TCP)もサポートされます。標準のNVMe-CLIパッケージに含まれるNetAppプラグインには、NVMe/FCとNVMe/TCP両方のネームスペースのONTAPの詳細が表示されます。

  • 特定のHost Bus Adapter(HBA;ホストバスアダプタ)の同じホストでNVMeとSCSIのトラフィックが共存し、明示的なdm-multipath設定を使用せずにNVMeネームスペースが要求されないようにする。

サポートされる構成の詳細については、を参照してください "NetApp Interoperability Matrix Tool で確認できます"

の機能

  • Oracle Linux 9.2では、NVMeネームスペースに対してカーネル内NVMeマルチパスがデフォルトで有効になっているため、明示的に設定する必要はありません。

既知の制限

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

ソフトウェアのバージョンを確認します

次の手順を使用して、サポートされるOL 9.2ソフトウェアの最小バージョンを検証できます。

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

    # uname -r

    出力例:

    5.15.0-101.103.2.1.el9uek.x86_64
  2. 「 nvme-cli 」パッケージをインストールします。

    # rpm -qa|grep nvme-cli

    出力例:

    nvme-cli-2.2.1-2.el9.x86_64
  3. をインストールします libnvme パッケージ:

    #rpm -qa|grep libnvme

    出力例

    libnvme-1.2-2.el9.x86_64
  4. Oracle Linux 9.2ホストで、を確認します hostnqn 文字列 /etc/nvme/hostnqn

    # cat /etc/nvme/hostnqn

    出力例:

    nqn.2014-08.org.nvmexpress:uuid:bc59d14c-47f3-11eb-b93c-3a68dd48673f
  5. を確認します hostnqn 文字列はに一致します hostnqn ONTAP アレイ上の対応するサブシステムの文字列。

    ::> vserver nvme subsystem host show -vserver vs_ol_nvme

    出力例:

    Vserver     Subsystem          Host NQN
    ----------- --------------- ----------------------------------------------------------
    vs_nvme207   nvme_ss_ol_1    nqn.2014-08.org.nvmexpress:uuid:bc59d14c-47f3-11eb-b93c-3a68dd48673f
    メモ 状況に応じて hostnqn 文字列が一致しない場合はを使用できます vserver modify コマンドを使用してを更新します hostnqn 対応するONTAP アレイサブシステムで、に一致する文字列を指定します hostnqn から文字列 /etc/nvme/hostnqn ホスト。

NVMe/FC を設定

NVMe/FCは、Broadcom/EmulexアダプタまたはMarvell/Qlogicアダプタに設定できます。

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

    # 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を使用していることを確認します lpfc ファームウェアおよび受信トレイドライバ:

    # cat /sys/class/scsi_host/host*/fwrev
    14.2.455.11, sli-4:2:c
    14.2.455.11, sli-4:2:c
    # cat /sys/module/lpfc/version
    0:14.2.0.5

    サポートされているアダプタドライバとファームウェアのバージョンの最新リストについては、を参照してください "NetApp Interoperability Matrix Tool で確認できます"

  3. 確認します lpfc_enable_fc4_type がに設定されます 3

    # cat /sys/module/lpfc/parameters/lpfc_enable_fc4_type
    3
  4. イニシエータポートが動作していること、およびターゲットLIFが表示されていることを確認します。

    # cat /sys/class/fc_host/host*/port_name
    0x100000109b3c081f
    0x100000109b3c0820
    # cat /sys/class/fc_host/host*/port_state
    Online
    Online
    # cat /sys/class/scsi_host/host*/nvme_info
    NVME Initiator Enabled
    XRI Dist lpfc0 Total 6144 IO 5894 ELS 250
    NVME LPORT lpfc0 WWPN x100000109b1c1204 WWNN x200000109b1c1204 DID x011d00 ONLINE
    NVME RPORT WWPN x203800a098dfdd91 WWNN x203700a098dfdd91 DID x010c07 TARGET DISCSRVC ONLINE
    NVME RPORT WWPN x203900a098dfdd91 WWNN x203700a098dfdd91 DID x011507 TARGET DISCSRVC ONLINE
    NVME Statistics
    LS: Xmt 0000000f78 Cmpl 0000000f78 Abort 00000000
    LS XMIT: Err 00000000 CMPL: xb 00000000 Err 00000000
    Total FCP Cmpl 000000002fe29bba Issue 000000002fe29bc4 OutIO 000000000000000a
    abort 00001bc7 noxri 00000000 nondlp 00000000 qdepth 00000000 wqerr 00000000 err 00000000
    FCP CMPL: xb 00001e15 Err 0000d906
    NVME Initiator Enabled
    XRI Dist lpfc1 Total 6144 IO 5894 ELS 250
    NVME LPORT lpfc1 WWPN x100000109b1c1205 WWNN x200000109b1c1205 DID x011900 ONLINE
    NVME RPORT WWPN x203d00a098dfdd91 WWNN x203700a098dfdd91 DID x010007 TARGET DISCSRVC ONLINE
    NVME RPORT WWPN x203a00a098dfdd91 WWNN x203700a098dfdd91 DID x012a07 TARGET DISCSRVC ONLINE
    NVME Statistics
    LS: Xmt 0000000fa8 Cmpl 0000000fa8 Abort 00000000
    LS XMIT: Err 00000000 CMPL: xb 00000000 Err 00000000
    Total FCP Cmpl 000000002e14f170 Issue 000000002e14f17a OutIO 000000000000000a
    abort 000016bb noxri 00000000 nondlp 00000000 qdepth 00000000 wqerr 00000000 err 00000000
    FCP CMPL: xb 00001f50 Err 0000d9f8
NVMe / FC向けMarvell/QLogic FCアダプタ
手順
  1. OL 9.2 GAカーネルに含まれているネイティブの受信トレイqla2xxxドライバには、ONTAPのサポートに不可欠な最新のアップストリーム修正が含まれています。サポートされているアダプタドライバとファームウェアのバージョンが実行されていることを確認します。

    # cat /sys/class/fc_host/host*/symbolic_name
    QLE2742 FW:v9.12.00 DVR:v10.02.08.100-k
    QLE2742 FW:v9.12.00 DVR:v10.02.08.100-k
  2. 確認します ql2xnvmeenable が設定されます。これにより、MarvellアダプタをNVMe/FCイニシエータとして機能させることができます。

    # cat /sys/module/qla2xxx/parameters/ql2xnvmeenable
    1

1MB の I/O サイズを有効にする(オプション)

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

手順
  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
メモ これはQlogic NVMe/FCホストには該当しません。

NVMe/FC を設定

NVMe/TCPには自動接続機能はありません。そのため、パスがダウンしてデフォルトのタイムアウト(10分)内に復元されないと、NVMe/TCPは自動的に再接続できません。タイムアウトを回避するには、フェイルオーバーイベントの再試行期間を30分以上に設定する必要があります。

手順
  1. イニシエータポートがサポートされているNVMe/TCP LIFの検出ログページのデータを取得できることを確認します。

    nvme discover -t tcp -w host-traddr -a traddr

    出力例:

    # nvme discover -t tcp -w 192.168.167.5 -a 192.168.167.22
    
    Discovery Log Number of Records 8, Generation counter 18
    =====Discovery Log Entry 0======
    trtype:  tcp
    adrfam:  ipv4
    subtype: current discovery subsystem
    treq:    not specified
    portid:  0
    trsvcid: 8009
    subnqn:  nqn.1992-08.com.netapp:sn.c680f5bcae1411ed8639d039ea951c46:discovery
    traddr:  192.168.166.23
    eflags:  explicit discovery connections, duplicate discovery information
    sectype: none
    =====Discovery Log Entry 1======
    trtype:  tcp
    adrfam:  ipv4
    subtype: current discovery subsystem
    treq:    not specified
    portid:  1
    trsvcid: 8009
    subnqn:  nqn.1992-08.com.netapp:sn.c680f5bcae1411ed8639d039ea951c46:discovery
    traddr:  192.168.166.22
    eflags:  explicit discovery connections, duplicate discovery information
    sectype: none
    =====Discovery Log Entry 2======
    trtype:  tcp
    adrfam:  ipv4
    subtype: current discovery subsystem
    treq:    not specified
    portid:  2
    trsvcid: 8009
    subnqn:  nqn.1992-08.com.netapp:sn.c680f5bcae1411ed8639d039ea951c46:discovery
    traddr:  192.168.167.23
    eflags:  explicit discovery connections, duplicate discovery information
    sectype: none
    ..........
  2. NVMe/TCPイニシエータとターゲットLIFの他の組み合わせで、検出ログページのデータを正常に取得できることを確認します。

    nvme discover -t tcp -w host-traddr -a traddr

    出力例:

    # nvme discover -t tcp -w 192.168.8.1 -a 192.168.8.48
    # nvme discover -t tcp -w 192.168.8.1 -a 192.168.8.49
    # nvme discover -t tcp -w 192.168.9.1 -a 192.168.9.48
    # nvme discover -t tcp -w 192.168.9.1 -a 192.168.9.49
  3. を実行します nvme connect-all ノード全体でサポートされているすべてのNVMe/TCPイニシエータ/ターゲットLIFを対象にコマンドを実行し、コントローラ損失のタイムアウト時間を30分または1、800秒以上に設定します。

    nvme connect-all -t tcp -w host-traddr -a traddr -l 1800

    出力例:

    # nvme connect-all -t tcp -w 192.168.8.1 -a 192.168.8.48 -l 1800
    # nvme connect-all -t tcp -w 192.168.8.1 -a 192.168.8.49 -l 1800
    # nvme connect-all -t tcp -w 192.168.9.1 -a 192.168.9.48 -l 1800
    # nvme connect-all -t tcp -w 192.168.9.1 -a 192.168.9.49 -l 1800

NVMe-oF を検証します

NVMe-oFの検証には、次の手順を使用できます。

手順
  1. OL 9.2ホストで次の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
    ---------------------------------------------------------
    /dev/nvme0n1 814vWBNRwf9HAAAAAAAB NetApp ONTAP Controller
    /dev/nvme0n2 814vWBNRwf9HAAAAAAAB NetApp ONTAP Controller
    /dev/nvme0n3 814vWBNRwf9HAAAAAAAB NetApp ONTAP Controller
    
    
    
    Namespace Usage    Format             FW             Rev
    -----------------------------------------------------------
    1                 85.90 GB / 85.90 GB  4 KiB + 0 B   FFFFFFFF
    2                 85.90 GB / 85.90 GB  24 KiB + 0 B  FFFFFFFF
    3	                85.90 GB / 85.90 GB  4 KiB + 0 B   FFFFFFFF
  3. 各パスのコントローラの状態がliveであり、正しいANAステータスが設定されていることを確認します。

    NVMe/FC
    # nvme list-subsys /dev/nvme0n1

    出力例:

    nvme-subsys0 - NQN=nqn.1992-08.com.netapp:sn.5f5f2c4aa73b11e9967e00a098df41bd:subsystem.nvme_ss_ol_1
    \
    +- nvme0 fc traddr=nn-0x203700a098dfdd91:pn-0x203800a098dfdd91 host_traddr=nn-0x200000109b1c1204:pn-0x100000109b1c1204 live non-optimized
    +- nvme1 fc traddr=nn-0x203700a098dfdd91:pn-0x203900a098dfdd91 host_traddr=nn-0x200000109b1c1204:pn-0x100000109b1c1204 live non-optimized
    +- nvme2 fc traddr=nn-0x203700a098dfdd91:pn-0x203a00a098dfdd91 host_traddr=nn-0x200000109b1c1205:pn-0x100000109b1c1205 live optimized
    +- nvme3 fc traddr=nn-0x203700a098dfdd91:pn-0x203d00a098dfdd91 host_traddr=nn-0x200000109b1c1205:pn-0x100000109b1c1205 live optimized
    NVMe/FC
    nvme list-subsys /dev/nvme1n22

    出力例

    nvme-subsys1 - NQN=nqn.1992-08.com.netapp:sn.68c036aaa3cf11edbb95d039ea243511:subsystem.tcp
    \
     +- nvme2 tcp traddr=192.168.8.49,trsvcid=4420,host_traddr=192.168.8.1 live optimized
     +- nvme3 tcp traddr=192.168.8.48,trsvcid=4420,host_traddr=192.168.8.1 live optimized
     +- nvme6 tcp traddr=192.168.9.49,trsvcid=4420,host_traddr=192.168.9.1 live non-optimized
     +- nvme7 tcp traddr=192.168.9.48,trsvcid=4420,host_traddr=192.168.9.1 live non-optimized
  4. ネットアッププラグインで、ONTAP ネームスペースデバイスごとに正しい値が表示されていることを確認します。

    列( Column )
    # nvme netapp ontapdevices -o column

    出力例:

    Device        Vserver   Namespace Path
    ----------------------- ------------------------------
    /dev/nvme0n1   vs_ol_nvme  /vol/ol_nvme_vol_1_1_0/ol_nvme_ns
    /dev/nvme0n2   vs_ol_nvme  /vol/ol_nvme_vol_1_0_0/ol_nvme_ns
    /dev/nvme0n3   vs_ol_nvme  /vol/ol_nvme_vol_1_1_1/ol_nvme_ns
    
    
    
    
    NSID       UUID                                   Size
    ------------------------------------------------------------
    1          72b887b1-5fb6-47b8-be0b-33326e2542e2   85.90GB
    2          04bf9f6e-9031-40ea-99c7-a1a61b2d7d08   85.90GB
    3          264823b1-8e03-4155-80dd-e904237014a4   85.90GB
    JSON
    # nvme netapp ontapdevices -o json

    出力例

    {
    "ONTAPdevices" : [
        {
            "Device" : "/dev/nvme0n1",
            "Vserver" : "vs_ol_nvme",
            "Namespace_Path" : "/vol/ol_nvme_vol_1_1_0/ol_nvme_ns",
            "NSID" : 1,
            "UUID" : "72b887b1-5fb6-47b8-be0b-33326e2542e2",
            "Size" : "85.90GB",
            "LBA_Data_Size" : 4096,
            "Namespace_Size" : 20971520
        },
        {
            "Device" : "/dev/nvme0n2",
            "Vserver" : "vs_ol_nvme",
            "Namespace_Path" : "/vol/ol_nvme_vol_1_0_0/ol_nvme_ns",
            "NSID" : 2,
            "UUID" : "04bf9f6e-9031-40ea-99c7-a1a61b2d7d08",
            "Size" : "85.90GB",
            "LBA_Data_Size" : 4096,
            "Namespace_Size" : 20971520
          },
          {
             "Device" : "/dev/nvme0n3",
             "Vserver" : "vs_ol_nvme",
             "Namespace_Path" : "/vol/ol_nvme_vol_1_1_1/ol_nvme_ns",
             "NSID" : 3,
             "UUID" : "264823b1-8e03-4155-80dd-e904237014a4",
             "Size" : "85.90GB",
             "LBA_Data_Size" : 4096,
             "Namespace_Size" : 20971520
           },
      ]
    }

既知の問題

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