ONTAPストレージで NVMe-oF 用に RHEL 8.1 を構成する
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 ブートをサポートしていることを確認します。
-
SAN ブート名前空間がマップされているポートに対して、サーバー BIOS で SAN ブートを有効にします。
HBA BIOS を有効にする方法については、ベンダー固有のマニュアルを参照してください。
-
ホストを再起動し、OS が起動して実行されていることを確認します。
ステップ2: ソフトウェアバージョンとNVMe構成を確認する
システムがソフトウェア要件を満たしていることを確認し、NVMe パッケージのインストールとホスト構成を確認します。
-
サーバーに RHEL 8.1 をインストールします。インストールが完了したら、必要な RHEL 8.1 カーネルが実行されていることを確認します。
uname -rRHEL カーネルバージョンの例:
4.18.0-147.el8.x86_64
-
をインストールします
nvme-cli-1.8.1-3.el8パッケージ:rpm -qa|grep nvme-cli次の例は、nvme-cli パッケージのバージョンを示しています。
nvme-cli-1.8.1-3.el8.x86_64
-
カーネル内の NVMe マルチパスを有効にします。
grubby –args=nvme_core.multipath=Y –update-kernel /boot/vmlinuz-4.18.0-147.el8.x86_64 -
次の文字列を別の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 -
RHEL 8.1ホストでは、次のホストNQN文字列を確認します。
/etc/nvme/hostnqn:cat /etc/nvme/hostnqn次の例は、hostnqn 文字列を示しています。
nqn.2014-08.org.nvmexpress:uuid:75953f3b-77fe-4e03-bf3c-09d5a156fbcd
-
ホスト 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ホスト。 -
ホストをリブートします。
ステップ3: Broadcom/Emulex用に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
-
-
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 -nOSにバンドルされているネイティブドライバは、受信トレイドライバと呼ばれます。送信トレイドライバ(OSリリースに含まれていないドライバ)をダウンロードすると、自動接続スクリプトがダウンロードに含まれ、ドライバのインストールプロセスの一部としてインストールされます。 -
ホストをリブートします。
-
推奨される Broadcom 構成を使用していることを確認します。
-
lpfcファームウェアを確認します。
cat /sys/class/scsi_host/host*/fwrev次の出力が表示されます。
12.4.243.20, sil-4.2.c 12.4.243.20, sil-4.2.c
-
送信トレイ ドライバーを確認します。
cat /sys/module/lpfc/version次の出力が表示されます。
0:12.4.243.20
-
自動接続パッケージのバージョンを確認します。
rpm -qa | grep nvmefc次の出力が表示されます。
nvmefc-connect-12.6.61.0-1.noarch
-
-
の想定される出力がに設定されている `3`ことを確認し `lpfc_enable_fc4_type`ます。
cat /sys/module/lpfc/parameters/lpfc_enable_fc4_type -
イニシエータ ポートが起動して実行されており、ターゲット LIF を認識できることを確認します。
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 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ホストには適用されません。 |
-
`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
ステップ5: NVMe-oFを検証する
カーネル内の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.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
-
ネットアッププラグインで、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
JSONnvme 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:既知の問題を確認する
既知の問題はありません。