注意

本文档适用于 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 网关:

  1. 在其中可以管理网关配置的池中创建一个池:

    ceph osd pool create NVME-OF_POOL_NAME
    
  2. 在 NVMe-oF 池上启用 RBD:

    rbd pool init NVME-OF_POOL_NAME
    
  3. 在特定的一组节点上部署 NVMe-oF 网关守护进程:

    ceph orch apply nvmeof NVME-OF_POOL_NAME --placement="host01, host02"
    

配置

下载nvmeof-cli在首次使用前在容器之前。

podman pull quay.io/ceph/nvmeof-cli:latest
  1. 创建一个 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.

  2. 定义网关上处理 NVMe/TCP 命令和 I/O 的 IP 端口:

    1. 在安装节点上获取 NVMe-oF 网关名称:

      ceph orch ps | grep nvme
      
    2. 定义网关的 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
      
  3. 获取每个主机的主机 NQN(NVMe 合格名称):

    cat /etc/nvme/hostnqn
    
    esxcli nvme info get
    
  4. 允许发起主机连接到新创建的 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"
    
  5. 列出网关中配置的所有子系统:

    podman run -it --rm quay.io/ceph/nvmeof-cli:latest --server-address GATEWAY_IP --server-port GATEWAY_PORT 5500 subsystem list
    
  6. 创建一个新的 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
    
  7. 列出子系统中的所有命名空间:

    podman run -it quay.io/ceph/nvmeof-cli:latest --server-address GATEWAY_IP --server-port GATEWAY_PORT 5500 namespace list --subsystem SUBSYSTEM_NQN
    

由 Ceph 基金会带给您

Ceph 文档是一个社区资源,由非盈利的 Ceph 基金会资助和托管Ceph Foundation. 如果您想支持这一点和我们的其他工作,请考虑加入现在加入.