12.4. 使用带有 Pre-Shared-Keys 的 TLS 配置 NVMe/TCP 主机
您可以在启用 TLS 加密时通过 TCP (NVMe™/TCP)主机配置 Non-volatile Memory Express™(NVMe™)主机。NVMe/TLS 配置使用 TLS 预共享密钥(PSK)。
NVM Express TCP 传输规范指定 PSK 交换格式,以便在系统之间交换 PSK 信息。您可以使用 nvme-cli
或其他方法以这个格式生成 PSK (例如,在存储目标中创建它,请参阅您的厂商文档)。然后,nvme-cli
使用这些配置的 PSK 来派生保留的 PSK,这些PSK 会被插入到内核密钥环中以供使用。
使用 TLS 的 NVMe/TCP 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
先决条件
-
nvme_tcp
内核模块已安装在您的系统上。 以下软件包安装在您的系统中:
-
nvme-cli
-
ktls-utils
-
- 您有子系统 NVMe 限定名称(Subsystem NQN)。
- 您在系统上具有 root 权限。
流程
配置预共享密钥密钥环.
识别主机 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