集群切换UCX组网
在使能UCX之前,需要在Ceph配置文件中新增一些UCX相关的配置和配置UCX环境变量。为了使能UCX多轨功能,还需要配置UCX_MAX_RNDV_RAILS和UCX_MAX_EAGER_RAILS两个选项。
- 查看硬件和驱动是否支持RoCE。以Mellanox网卡为例。
1
lspci | grep Mellanox
如果支持RoCE,将返回如下信息:
- 在所有服务端节点停止Ceph服务。
1
systemctl stop ceph.target
- 在所有服务端节点和客户端节点,修改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地址一致。
- 在所有服务端节点和客户端节点,配置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组合方式流量分配更均衡,可以达到更大的网络带宽。
- 需要UCX日志可以配置如下。
- 在所有服务端节点和客户端节点,修改内存限制。修改“/etc/security/limits.conf”文件,在文件中的空白处新增如下信息。
1 2 3 4
root soft memlock unlimited root hard memlock unlimited ceph soft memlock unlimited ceph hard memlock unlimited
- 修改systemd下的Ceph配置文件。修改“/lib/systemd/system/”文件中的ceph-mds@.service、ceph-mgr@.service、ceph-mon@.service和ceph-osd@.service,在service字段下新增如下信息。
1 2 3
LimitMEMLOCK=infinity LimitCORE=infinity PrivateDevices=no
- 修改“/lib/systemd/system/”文件中的ceph-mds@.service、ceph-mgr@.service、ceph-mon@.service和ceph-osd@.service,在After和Wants字段下新增如下信息。
- 配置openibd启动后等待60s(/usr/lib/systemd/system/openibd.service)。
ExecStartPost=/bin/sleep 60
- 在所有服务端节点和客户端节点设置如下。
1 2
ulimit -l unlimited ulimit -n 1048576
- 启动前检验UCX安装包是否已经安装齐全。
请确保4个安装包均已安装,否则可能会导致OSD服务停止运行。
rpm -qa | grep ucx
4个安装包均已安装的预期结果示例。
- 更新配置并启动Ceph。
1 2
systemctl daemon-reload systemctl start ceph.target
大压力场景下,仅支持256 images的规格。