安装部署
环境要求
通过系统文件“/sys/devices/system/cpu/cpu0/regs/identification/midr_el1”中获取CPU厂商信息判断,当前配套机型鲲鹏处理器型号为0x48。 |
| 软件名称 | 软件版本 |
|---|---|
| OS | openEuler 22.03 LTS openEuler 24.03 LTS |
| RDMA-Core | 42.7 |
| GCC | 12.3.1(openEuler 24.03 LTS 默认) |
| CCA | VPP V300R024C10SPC001 |
节点规划
所有集群节点均需安装ubs-comm主包。
安装步骤
前置依赖可通过 dnf 安装:
$ dnf install -y cmake gcc gcc-c++ make git rdma-core-devel openssl-devel libboundscheck timelibboundscheck 也可通过源码安装:
[https://gitee.com/openeuler/libboundscheck](https://gitee.com/openeuler/libboundscheck)
1. 下载发行版本。最新的release版本是v1.1.16。
[https://gitee.com/openeuler/libboundscheck/releases/tag/v1.1.16](https://gitee.com/openeuler/libboundscheck/releases/tag/v1.1.16)
2. 编译。
```cmd
make CC=gcc
```
3. 编译后根目录下lib目录中,存在libboundscheck.so。
```cmd
cp lib/libboundscheck.so /usr/lib64
```
说明:openEuler 24.03 系统 dnf 仓库提供的 libboundscheck 版本为 v1.1.11,可直接用于编译和运行;仅当需要 v1.1.16 的特定修复时才需按上述步骤源码编译。
若环境上已安装UBS Comm,则先卸载再安装,否则直接安装即可。
执行以下命令,卸载rpm。
cmdrpm -e ubs-comm-lib-1.0.0 rpm -e ubs-comm-devel-1.0.0执行以下命令,安装rpm。
cmdrpm -ivh ubs-comm-lib-1.0.0-*rpm --force rpm -ivh ubs-comm-devel-1.0.0-*rpm --force (开发包,运行时可选)
容器镜像部署(可选)
容器环境部署有两种方式:
- 基于 openEuler 基础环境从零安装
- 基于镜像构建容器环境
方式一:基于 openEuler 基础环境从零安装
不使用镜像时,参照本章「前提条件」安装依赖后,在ubs-comm源码根目录执行:
UMQ_BUILD=on UBSOCKET_BUILD=on ./build.sh说明:该方式需手动安装全部构建依赖(见「前提条件」),耗时较长。
方式二:基于镜像构建容器环境
基于镜像构建容器环境,首先需要获取镜像。获取镜像有两种方式:
- 直接从镜像仓库拉取预构建镜像
- 从 Dockerfile 构建镜像
步骤 1:获取镜像
先确认本机 CPU 架构,不同架构的镜像获取方式不同:
$ uname -m # x86_64 或 aarch64选项一:直接拉取预构建镜像
docker pull swr.cn-north-4.myhuaweicloud.com/ubscore/ubs-comm:24.03-sp3-1.0.0选项二:从 Dockerfile 构建镜像(x86_64 与 aarch64 均适用)
Dockerfile 位于仓库 docker/Dockerfile,内容如下(仅打包编译依赖环境,不含源码):
ARG BASE_IMAGE=hub.oepkgs.net/openeuler/openeuler:24.03-lts-sp3
FROM ${BASE_IMAGE}
ARG REPO_DIR=/workspace
# 安装构建/UT 依赖(openEuler 工具链 + ubs-comm 构建依赖)
# 镜像仅提供预装依赖的环境,不打包源码;源码通过挂载 /workspace 提供
RUN dnf install -y \
cmake gcc gcc-c++ make git \
rdma-core-devel openssl-devel libboundscheck time \
python3 python3-pip \
gtest gtest-devel gmock gmock-devel \
&& dnf clean all
WORKDIR ${REPO_DIR}
CMD ["/bin/bash"]构建环境镜像:
cd ubs-comm
docker build -f docker/Dockerfile -t ubs-comm-openeuler:24.03-sp3-1.0.0 .步骤 2:创建容器
按步骤 1 选择的获取方式,使用对应的镜像名创建容器:
选项一(预构建镜像):
cmddocker run -d --privileged --name ubs-comm-ttfhw \ -v /home/workspace/ubs-comm-verify:/workspace \ swr.cn-north-4.myhuaweicloud.com/ubscore/ubs-comm-openeuler:24.03-sp3-1.0.0 \ sleep infinity选项二(Dockerfile 构建):
cmddocker run -d --privileged --name ubs-comm-ttfhw \ -v /home/workspace/ubs-comm-verify:/workspace \ ubs-comm-openeuler:24.03-sp3-1.0.0 \ sleep infinity
说明:
构建/UT 场景无需挂载 NPU 设备;镜像默认工作目录为
/workspace,不建议挂载整个/home目录。代码必须事先克隆到宿主机
/home/workspace/ubs-comm-verify目录,镜像不包含源码,必须通过-v挂载提供。
docker run执行后,建议先验证挂载成功:cmd$ ls /home/workspace/ubs-comm-verify/build.sh若文件不存在,请先执行
git clone <仓库URL> --depth 1 --branch <分支> /home/workspace/ubs-comm-verify。
步骤 3:进入容器
docker exec -it ubs-comm-ttfhw bash镜像不包含源码,进入容器前请确认
/workspace已正确挂载宿主机代码目录:cmd$ ls /workspace/build.sh若提示 No such file 或为空,请检查
docker run的-v挂载参数,然后重新执行步骤 2。
进入容器后,在 /workspace 下执行:
cd /workspace
UMQ_BUILD=on UBSOCKET_BUILD=on USE_URMA_STUB=ON ./build.sh # Release 构建 HCOM+UMQ+UBSocket,产物在 dist/ 目录说明:
- 容器内无完整 URMA SDK,使用
USE_URMA_STUB=ON启用 stub 头文件编译umq_ub。UMQ_BUILD=on UBSOCKET_BUILD=on由build.sh转发至build/build_umq_and_ubsocket.sh,完整构建 HCOM、UMQ 和 UBSocket 三个组件。仅执行./build.sh只会构建 HCOM。推荐使用方式二(镜像构建),可复用预装依赖的镜像环境,无需每次手动安装依赖。