中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

集群切换UCX组网

在使能UCX之前,需要在Ceph配置文件中新增一些UCX相关的配置和配置UCX环境变量。为了使能UCX多轨功能,还需要配置UCX_MAX_RNDV_RAILS和UCX_MAX_EAGER_RAILS两个选项。

  1. 查看硬件和驱动是否支持RoCE。以Mellanox网卡为例。
    1
    lspci | grep Mellanox
    

    如果支持RoCE,将返回如下信息:

  2. 在所有服务端节点停止Ceph服务。
    1
    systemctl stop ceph.target
    
  3. 在所有服务端节点和客户端节点,修改Ceph配置文件。在“/etc/ceph/ceph.conf”的global字段下新增如下信息。
    1
    2
    3
    4
    5
    6
    ms_type = async+ucx
    ms_public_type = async+ucx
    ms_cluster_type = async+ucx
    ms_async_ucx_device=mlx5_0:1,mlx5_1:1
    ms_async_ucx_tls=rc_verbs,self
    ms_async_ucx_max_recv=14
    
    • ms_async_ucx_device中的设备名称可以通过show_gids查询,可填写多个网络设备。
    • 若需要在前端网络使能ucx,需要将ms_public_type=async+ucx,若仅使能后端网络需将ms_type和ms_public_type均设置为async+posix。
    • cluster_network和public_network的IP地址应与UCX设备(RoCE网口)的IP地址一致。
  4. 在所有服务端节点和客户端节点,配置UCX环境变量。修改“/etc/sysconfig/ceph”文件,在文件中的空白处新增如下信息。
    1
    2
    3
    4
    5
    6
    UCX_MODULE_DIR=/lib64/ucx
    UCX_RNDV_THRESH=32k
    UCX_MEM_MMAP_HOOK_MODE=none
    UCX_MAX_RNDV_RAILS=4
    UCX_MAX_EAGER_RAILS=4
    UCX_PROTO_ENABLE=y
    
    • 需要UCX日志可以配置如下。
      1
      2
      UCX_LOG_FILE=/var/log/ceph/ucx_%p.log
      UCX_LOG_LEVEL=DEBUG
      
    • UCX_MEM_MMAP_HOOK_MODE有reloc/bistro/none可选,使能tcmalloc大页时需要配置成reloc。
    • 若需要同时使用两个网口,需要使能UCX多轨功能,配置UCX_MAX_RNDV_RAILS和UCX_MAX_EAGER_RAILS两个选项(1~4),将两个选项的值均配置成2或2以上。UCX多轨配置比bond组合方式流量分配更均衡,可以达到更大的网络带宽。
  5. 在所有服务端节点和客户端节点,修改内存限制。修改“/etc/security/limits.conf”文件,在文件中的空白处新增如下信息。
    1
    2
    3
    4
    root soft memlock unlimited
    root hard memlock unlimited
    ceph soft memlock unlimited
    ceph hard memlock unlimited
    
  6. 修改systemd下的Ceph配置文件。修改“/lib/systemd/system/”文件中的ceph-mds@.serviceceph-mgr@.serviceceph-mon@.service和ceph-osd@.service,在service字段下新增如下信息。
    1
    2
    3
    LimitMEMLOCK=infinity
    LimitCORE=infinity
    PrivateDevices=no
    
  7. 修改“/lib/systemd/system/”文件中的ceph-mds@.serviceceph-mgr@.serviceceph-mon@.service和ceph-osd@.service,在After和Wants字段下新增如下信息。

  8. 配置openibd启动后等待60s(/usr/lib/systemd/system/openibd.service)。
    ExecStartPost=/bin/sleep 60

  9. 在所有服务端节点和客户端节点设置如下。
    1
    2
    ulimit -l unlimited
    ulimit -n 1048576
    
  10. 启动前检验UCX安装包是否已经安装齐全。

    请确保4个安装包均已安装,否则可能会导致OSD服务停止运行。

    rpm -qa | grep ucx

    4个安装包均已安装的预期结果示例。

  11. 更新配置并启动Ceph。
    1
    2
    systemctl daemon-reload
    systemctl start ceph.target
    

    大压力场景下,仅支持256 images的规格。