ONTAPストレージ用にNVMe-oFを使用してOracle Linux 7.xを構成する
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 ソフトウェアの最小バージョンを検証するには、次の手順に従います。
-
サーバーに Oracle Linux 7.x をインストールします。インストールが完了したら、指定された Oracle Linux 7.x カーネルが実行されていることを確認します。
uname -rOracle Linuxカーネルバージョンの例:
5.4.17-2011.6.2.el7uek.x86_64
-
「 nvme-cli 」パッケージをインストールします。
rpm -qa | grep nvme-cli次の例は、 `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 7.xホストで、
hostnqn`文字列 `/etc/nvme/hostnqn:cat /etc/nvme/hostnqn次の例は、 `hostnqn`バージョン:
nqn.2014-08.org.nvmexpress:uuid:497ad959-e6d0-4987-8dc2-a89267400874
-
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`ます。 -
ホストをリブートします。
ステップ2: NVMe/FCを構成する
Broadcom/Emulexアダプタ用にNVMe/FCを設定します。
-
サポートされているアダプタモデルを使用していることを確認します。
-
モデル名を表示します。
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
-
-
が「3」に設定されていることを確認し `lpfc_enable_fc4_type`ます。
cat /sys/module/lpfc/parameters/lpfc_enable_fc4_type -
推奨される 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イニシエータポートが有効になっており、ターゲットポートが認識されることを確認します。
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ホストには適用されません。 |
-
`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
ステップ4: マルチパス構成を確認する
カーネル内のNVMeマルチパスステータス、ANAステータス、およびONTAPネームスペースがNVMe-oF構成に対して正しいことを確認します。
-
カーネル内NVMeマルチパスが有効になっていることを確認します。
cat /sys/module/nvme_core/parameters/multipath次の出力が表示されます。
Y
-
該当するONTAPネームスペースの適切なNVMe-oF設定(modelをNetApp ONTAPコントローラに設定し、load balancing iopolicyをラウンドロビンに設定するなど)がホストに正しく反映されていることを確認します。
-
サブシステムを表示します。
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
-
-
ネームスペースが作成され、ホストで正しく検出されたことを確認します。
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
-
各パスのコントローラの状態が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
-
ネットアッププラグインで、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
JSONnvme 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: 既知の問題を確認する
既知の問題はありません。