注意

本文档适用于 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 Qualified Name)

    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 基金会 资助和托管的社区资源。如果您希望支持这项工作和我们的其他努力,请考虑 立即加入