注意

本文档适用于 Ceph 开发版本。

Linux下的NVMe/TCP发起器

前提条件

  • 内核5.0或更高版本

  • RHEL 9.2或更高版本

  • Ubuntu 24.04或更高版本

  • SLES 15 SP3或更高版本

安装

  1. 安装nvme-cli:

    yum install nvme-cli
    
  2. 加载NVMe-oF模块:

    modprobe nvme-fabrics
    
  3. 验证NVMe/TCP目标是否可达:

    nvme discover -t tcp -a GATEWAY_IP -s 8009
    
  4. 连接到NVMe/TCP目标。对于高可用性,使用connect-all命令:

    nvme connect-all --traddr GATEWAY_IP --transport tcp -l 1800 -s 8009
    
    • 推荐‘-l 1800’,以允许发起器继续尝试连接到GWs 1800秒。这在GW因任何原因暂时不可用时非常有帮助。

    • ‘-s 8009’是发现控制器的端口号。connect-all命令将首先连接到DC,然后使用它返回的信息连接到GWs。

下一步

验证发起器是否设置正确:

  1. 验证发起器是否连接到网关组中的所有NVMe-oF网关和子系统

    nvme list-subsys
    
    example output:
    
    nvme-subsys<X> - NQN=<NQN>
    \
        +- nvmeX tcp traddr=<GW IP>,trsvcid=4420 live
        +- nvmeY tcp traddr=<GW IP>,trsvcid=4420 live
        +- nvmeZ tcp traddr=<GW IP>,trsvcid=4420 live
        +- nvmeW tcp traddr=<GW IP>,trsvcid=4420 live
    
  2. 列出NVMe块设备。

    nvme list
    
  3. 在所需设备上创建文件系统:

    mkfs.ext4 NVME_NODE_PATH
    
  4. 挂载文件系统:

    mkdir /mnt/nvmeof
    
    mount NVME_NODE_PATH /mnt/nvmeof
    
  5. 列出NVMe-oF文件:

    ls /mnt/nvmeof
    
  6. /mnt/nvmeof目录:

    echo "Hello NVME-oF" > /mnt/nvmeof/hello.text
    
  7. 验证文件是否可访问:

    cat /mnt/nvmeof/hello.text
    

由 Ceph 基金会带给您

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