ONTAP を使用した Oracle Linux 7.9 用の NVMe/FC ホスト構成
Oracle Linux 7.9およびONTAPを実行するイニシエータホストでは、NVMe over Fibre Channel(NVMe/FC)をターゲットとして設定できます。
サポート性
ONTAP 9.6以降では、Oracle Linux 7.9でNVMe/FCがサポートされます。Oracle Linux 7.9ホストでは、NVMeトラフィックとSCSIトラフィックの両方を、同じFibre Channel(FC;ファイバチャネル)イニシエータアダプタポートで実行できます。サポートされるFCアダプタとコントローラの一覧については、を参照してください "Hardware Universe" 。サポートされる構成の最新のリストについては、を参照してください"Interoperability Matrix Tool"。
|
この手順で説明する構成設定を使用して、およびに接続されているクラウドクライアントを構成でき"Cloud Volumes ONTAP""ONTAP 対応の Amazon FSX"ます。 |
既知の制限
-
ネイティブ NVMe/FC 自動接続スクリプトは 'nvme-cli' パッケージでは使用できませんHBA ベンダーが提供する外部自動接続スクリプトを使用します。
-
デフォルトでは、 NVMe マルチパスでラウンドロビンロードバランシングは有効になっていません。この機能を有効にするには、 udev ルールを記述する必要があります。手順は、 Oracle Linux 7.9 での NVMe/FC の有効化に関するセクションに記載されています。
-
NVMe/FCはsanlunではサポートされないため、Oracle Linux 7.9ではLinux Host UtilitiesでNVMe/FCがサポートされません。ネイティブの nvme-CLI に含まれているネットアッププラグインに含まれている ONTAP コマンド出力を使用します。
-
NVMe-oFプロトコルを使用したSANブートは現在サポートされていません。
NVMe/FC を有効にします
-
サーバに Oracle Linux 7.9 をインストールします。
-
インストールが完了したら、サポートされている Unbreakable Enterprise カーネルを実行していることを確認します。を参照してください"Interoperability Matrix Tool"。
# uname -r 5.4.17-2011.6.2.el7uek.x86_64
-
「 nvme-cli 」パッケージをアップグレードします。
# rpm -qa | grep nvme-cli nvme-cli-1.8.1-3.el7.x86_64
-
以下の文字列を個別の 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"
-
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 文字列を更新します。
-
ホストをリブートします。
Broadcom FC アダプタを NVMe/FC 用に設定します
-
サポートされているアダプタを使用していることを確認します。サポートされているアダプタの現在のリストについては、を参照してください"Interoperability Matrix Tool"。
# 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
-
lpfc での NVMe のサポートはすでにデフォルトで有効になっています:
# cat /sys/module/lpfc/parameters/lpfc_enable_fc4_type 3
新しい lpfc ドライバ(インボックスとアウトボックスの両方)では 'lpfc_enable_fc4_type がデフォルトで 3 に設定されていますしたがって '/etc/modprobe.d/plpfc.conf で明示的に設定する必要はありません
-
次に、推奨される lpfc 自動接続スクリプトをインストールします。
# rpm -ivh nvmefc-connect-12.8.264.0-1.noarch.rpm . 自動接続スクリプトがインストールされていることを確認します。
# rpm -qa | grep nvmefc nvmefc-connect-12.8.264.0-1.noarch
-
イニシエータポートが動作していることを確認します。
# cat /sys/class/fc_host/host*/port_name 0x10000090fae0ec61 0x10000090fae0ec62 # cat /sys/class/fc_host/host*/port_state Online Online
-
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 を検証
-
以下の 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 アクセス不能パスが表示されます。
-
ネームスペースが作成されたことを確認します。
# 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
-
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
-
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ホストには適用されません。 |
-
`lpfc_sg_seg_cnt`パラメータを256に設定します。
cat /etc/modprobe.d/lpfc.conf
options lpfc lpfc_sg_seg_cnt=256
-
コマンドを実行し
dracut -f
、ホストをリブートします。 -
の値が256であることを確認し `lpfc_sg_seg_cnt`ます。
cat /sys/module/lpfc/parameters/lpfc_sg_seg_cnt