12.4. 事前共有鍵による TLS を使用した NVMe/TCP ホストの設定
TLS 暗号化を有効にしながら、Non-volatile Memory Express™ (NVMe™) over TCP (NVMe™/TCP) ホストを設定できます。NVMe/TLS 設定では、TLS 事前共有鍵 (PSK) が使用されます。
NVM Express TCP トランスポート仕様は、システム間で PSK 情報を交換するための PSK 交換フォーマットを指定します。nvme-cli
またはその他の方法を使用して、この形式で PSK を生成できます (たとえば、ストレージターゲットに作成します。ベンダーのドキュメントを参照してください)。これらの設定された PSK は nvme-cli
によって使用され、保持された PSK が導出され、使用するためにカーネルキーリングに挿入されます。
TLS を使用した NVMe/TCP はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat では、実稼働環境での使用を推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
前提条件
-
nvme_tcp
カーネルモジュールがシステムにインストールされている。 次のパッケージがシステムにインストールされている。
-
nvme-cli
-
ktls-utils
-
- Subsystem NVMe Qualified Name (Subsystem NQN) がある。
- システムの root 権限がある。
手順
事前共有鍵のキーリングを設定します。
Host NQN を識別します。
HOSTNQN=$(nvme show-hostnqn)
# HOSTNQN=$(nvme show-hostnqn)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新しく設定された PSK を生成してコピーします。
PSK=$(nvme gen-tls-key)
# PSK=$(nvme gen-tls-key)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow echo $PSK
# echo $PSK
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 事前共有キーのキーリングを設定します。
nvme check-tls-key --insert --hostnqn=${HOSTNQN} --subsysnqn=${SUBSYSTEM} --keydata=${PSK} --identity=1
# nvme check-tls-key --insert --hostnqn=${HOSTNQN} --subsysnqn=${SUBSYSTEM} --keydata=${PSK} --identity=1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
tlshd
サービスを設定します。キーリング名を
/etc/tlshd.conf
設定ファイルに追加します。... [authenticate] keyring=.nvme ...
... [authenticate] keyring=.nvme ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow tlshd
サービスを再起動します。systemctl restart tlshd
# systemctl restart tlshd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
NVMe fabrics 接続で TLS を有効にします。
nvme discover -t tcp --tls -a ${TRADDR} -s 4420
# nvme discover -t tcp --tls -a ${TRADDR} -s 4420
Copy to Clipboard Copied! Toggle word wrap Toggle overflow nvme connect -t tcp --tls -a ${TRADDR} -s 4420 -n ${SUBSYSTEM}
# nvme connect -t tcp --tls -a ${TRADDR} -s 4420 -n ${SUBSYSTEM}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
現在接続されている NVMe デバイスのリストを表示します。
nvme list
# nvme list Node Generic SN Model Namespace Usage Format FW Rev --------------------- --------------------- -------------------- ---------------------------------------- ---------- -------------------------- ---------------- -------- /dev/nvme4n1 /dev/ng4n1 81JJAJTOpnmUAAAAAAAB NetApp ONTAP Controller 0x1 16.17 GB / 161.06 GB 4 KiB + 0 B 9.16.1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow