注意
本文档适用于 Ceph 的开发版本。
安装和配置 NVMe-oF 目标
先决条件
一个正常运行的 Ceph Tentacle 或更高版本存储集群,使用
cephadm部署NVMe-oF 网关,可以与 OSD 节点共存或位于专用节点上
用于 NVME-oF 前端流量和 Ceph 后端流量的独立网络子网
解释
Ceph NVMe-oF 网关既是 NVMe-oF 目标,也是 Ceph 客户端。将其视为 Ceph 的 RBD 接口与 NVME-oF 协议之间的“翻译器”。Ceph NVMe-oF 网关可以运行在独立节点上,也可以与例如 OSD 节点上的其他守护进程共存。当 Ceph NVMe-oF 网关与其它守护进程共存时,请确保有足够的 CPU 和内存可用。以下步骤解释了如何安装和配置 Ceph NVMe/TCP 网关以进行基本操作。
安装
完成以下步骤来安装 Ceph NVME-oF 网关
创建一个用于管理网关配置的池
ceph osd pool create NVME-OF_POOL_NAME在 NVMe-oF 池上启用 RBD
rbd pool init NVME-OF_POOL_NAME在一组特定节点上部署 NVMe-oF 网关守护进程
ceph orch apply nvmeof NVME-OF_POOL_NAME --placement="host01, host02"
配置
首次使用前下载 nvmeof-cli 容器。使用以下命令下载它
podman pull quay.io/ceph/nvmeof-cli:latest
创建一个 NVMe 子系统
podman run -it --rm quay.io/ceph/nvmeof-cli:latest --server-address GATEWAY_IP --server-port GATEWAY_PORT 5500 subsystem add --subsystem SUSYSTEM_NQN子系统 NQN 是用户定义的字符串,例如
nqn.2016-06.io.spdk:cnode1。定义网关上将处理 NVME/TCP 命令和 I/O 的 IP 端口
在安装节点上,获取 NVME-oF 网关名称
ceph orch ps | grep nvme定义网关的 IP 端口
podman run -it --rm quay.io/ceph/nvmeof-cli:latest --server-address GATEWAY_IP --server-port GATEWAY_PORT 5500 listener add --subsystem SUBSYSTEM_NQN --host-name HOST_NAME --traddr GATEWAY_IP --trsvcid 4420
获取每个主机的 NQN(NVME Qualified Name)
cat /etc/nvme/hostnqnesxcli nvme info get允许启动器主机连接到新创建的 NVMe 子系统
podman run -it --rm quay.io/ceph/nvmeof-cli:latest --server-address GATEWAY_IP --server-port GATEWAY_PORT 5500 host add --subsystem SUBSYSTEM_NQN --host "HOST_NQN1 HOST_NQN2"列出网关中配置的所有子系统
podman run -it --rm quay.io/ceph/nvmeof-cli:latest --server-address GATEWAY_IP --server-port GATEWAY_PORT 5500 subsystem list创建一个新的 NVMe 命名空间
podman run -it quay.io/ceph/nvmeof-cli:latest --server-address GATEWAY_IP --server-port GATEWAY_PORT 5500 namespace add --subsystem SUBSYSTEM_NQN --rbd-pool POOL_NAME --rbd-image IMAGE_NAME列出子系统中的所有命名空间
podman run -it quay.io/ceph/nvmeof-cli:latest --server-address GATEWAY_IP --server-port GATEWAY_PORT 5500 namespace list --subsystem SUBSYSTEM_NQN