---
title: 安装BoostIO
description: "- BoostIO分为分离部署、融合部署、独立部署场景，融合部署场景使用上层调用组件用户(例如：juiceadmin：juicegroup)统一安装BoostIO Server和SDK，分离部署和独立部署场景需要创建server端用户(例如：bioadmin：biogroup)安装BoostIO Server，使用上层调用组件用户安装BoostIO SDK。应避免使用root用户安装，否则存在安全风险。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2400/sds/kunpengboostio_feature_013.html
sourcePath: /source/zh/kunpengboostkithistory/2400/sds/kunpengboostio_feature_013.html
indexId: fc0a8290a242d822b0f80364373401241fd7c1696890e1e619dc90e6cd84e23574
---
# 安装BoostIO

- BoostIO分为分离部署、融合部署、独立部署场景，融合部署场景使用上层调用组件用户(例如：juiceadmin：juicegroup)统一安装BoostIO Server和SDK，分离部署和独立部署场景需要创建server端用户(例如：bioadmin：biogroup)安装BoostIO Server，使用上层调用组件用户安装BoostIO SDK。应避免使用root用户安装，否则存在安全风险。
- Ceph和HDFS通信由用户配置，建议用户使用安全通信链路保证通信安全。


#### 创建BoostIO Server运行用户

在BoostIO组件安装的节点上执行以下命令创建用户。

请确保所有物理机（存储节点、管理节点、计算节点）和容器内，组biogroup的GID、用户bioadmin的UID没有被占用，如果被占用可能会导致服务不可用。- biogroup的GID为1000。
- bioadmin的UID为9000。
- 如果设置bioadmin用户的密码，复杂度要求如下：

  - 口令长度至少8个字符。
  - 口令必须包含如下至少三种字符的组合：

    - 小写字母。
    - 大写字母。
    - 数字。
    - 特殊字符：`~!@#$%^&*()-_=+\|[{}];:'",<.>/?和空格。
  - 口令和账号不能相同。


1. 创建biogroup用户组。

```
groupadd -g 1000 biogroup
```


2. 在biogroup用户组内创建bioadmin用户。

```
useradd -g 1000 -d /home/bioadmin -u 9000 -m -s /bin/bash bioadmin
```


#### 软件安装包完整性校验

从鲲鹏社区获取的软件安装包，下载后需要校验，确保与网站上的原始软件安装包一致。

校验方法：

1. 获取软件数字证书和软件安装包。
2. 在如下链接中获取校验工具和校验方法：
  https://support.huawei.com/enterprise/zh/tool/pgp-verify-TL1000000054(https://support.huawei.com/enterprise/zh/tool/pgp-verify-TL1000000054)

3. 参考上述链接下载的《OpenPGP签名验证指南》进行软件安装包完整性检查。


#### 清理环境（可选）

- 安装前需确保该环境没有安装BoostIO，若环境上已安装BoostIO则需要进行环境清理操作，确保后续安装能够正常进行。
- 建议用户及时清理SDK端未使用的日志文件，避免磁盘耗尽。
- 统计文件最大10M，循环进行计数统计，BoostIO重新部署启动后会新生成一个新的统计计数文件，老的统计计数文件建议进行清理。


1. 收集需要安装BoostIO节点的IP地址。
2. 为集群中每个节点提供至少一块NVMe SSD存储盘，并将磁盘归属设置为对应安装用户、用户组。
  1 chown [server安装用户：server安装用户组] /dev/nvmexnx

3. 首次安装时需创建下列目录并配置权限。
**表1 目录权限配置信息**

| 目录地址 | 属主 | 权限 | 备注 |
| --- | --- | --- | --- |
| /opt/boostio | server安装用户：server安装用户组 | 750 | BoostIO安装部署目录。 |
| /var/log/boostio | server安装用户：server安装用户组 | 750 | BoostIO server端日志目录。 |
| /var/log/boostio/trace | server安装用户：server安装用户组 | 750 | BoostIO 统计日志目录。 |
| /home/ip(不同节点与host\_ip\_list文件中的ip相同) | server安装用户：server安装用户组 | 750 | BoostIO 安装临时文件存储目录，安装完成后自动清理文件。 |
| /var/log/jfs | sdk安装用户：sdk安装用户组 | 750 | BoostIO SDK端日志目录。 |


4. 配置Ceph密钥环权限。
  BoostIO启动需要读取Ceph Client端密钥，需要对应的权限，可参考Ceph官网建议配置 Ceph官网(https://docs.ceph.com/en/latest/rados/configuration/auth-config-ref/#keys)。

5. 清理BoostIO集群信息，在ZooKeeper server节点上执行命令（以ZooKeeper 3.8.1版本为例），将zk client需要的so文件添加到“{BoostIO_Home}/lib”目录下，并修改属主为server安装用户:server安装用户组，修改权限为550。
  1 2 sh /install_path/apache-zookeeper-3.8.1-bin/bin/zkCli.sh >>deleteall /cm

6. 清理BoostIO磁盘管理元数据信息。
  1 dd bs=8k count=1024 if=/dev/zero of=/dev/nvmexnx


#### 安装BoostIO

1. 登录至安装节点，并上传软件包BoostIO_{version}_linux-{arch}_release.tar.gz至“/opt”目录下。
2. 解压软件包，解压后目录结构如表2所示。
  1 tar -xzvf BoostIO_{version}_linux-{arch}_release.tar.gz

**表2 软件包目录结构**

| 目录 | 目录内文件夹 | 说明 |
| --- | --- | --- |
| BoostIO | bin | 可执行文件。 |
| BoostIO | conf | 配置文件。 |
| BoostIO | lib | 二进制依赖库。 |
| BoostIO | include | 对外头文件。 |
| BoostIO | scripts | 工具脚本。 |


  其中用于安装BoostIO所需的脚本工具放置在scripts目录下，其使用说明如表3所示。

**表3 scripts目录文件说明，建议安装完成后手动删除以下文件**

| 目录 | 脚本工具名称 | 使用描述 | 执行方式 | 参数 |
| --- | --- | --- | --- | --- |
| scripts | hand\_out\_deploy.py | 安装工具脚本。 | hand\_out\_deploy.py [option] | install [pkg\_path] [user] [group] uninstall |
| scripts | host\_ip\_list | 通信IP地址、盘信息配置文件。 | 提供给hand\_out\_deploy.py使用。 | \- |
| scripts | install.sh | 安装执行脚本。 | install.sh [option]。 提供给hand\_out\_deploy.py使用。 | install [user] [group] [install\_path] uninstall |
| scripts | scp\_file.sh | scp命令执行文件。 | 提供给hand\_out\_deploy.py使用。 | \- |
| scripts | ssh\_cmd.sh | ssh命令执行文件。 | 提供给hand\_out\_deploy.py使用。 | \- |


**表4 bin目录文件说明**

| 目录 | 文件名称 | 描述 |
| --- | --- | --- |
| bin | bio\_daemon | BoostIO服务可执行文件。 |
| bin | seceasy\_encrypt | 加密服务可执行文件。 |


**表5 lib目录文件说明**

| 目录 | 文件名称 | 描述 |
| --- | --- | --- |
| lib | libbdm.so | bdm模块共享对象文件，用于磁盘管理。 |
| lib | libbio\_interceptor\_server.so | 桥接服务共享对象文件。 |
| lib | libbio\_sdk.so | BoostIO SDK端共享对象文件。 |
| lib | libbio\_server.so | BoostIO Server端共享对象文件。 |
| lib | libhcom.so | hcom共享对象文件，用于网络传输。 |
| lib | libhcom\_static.a | hcom静态库文件。 |
| lib | libhse\_cryption.so | hsecsasy可执行文件，用于加密。 |
| lib | libock\_interceptor.so | 桥接服务共享对象文件。 |
| lib | libock\_iofwd\_proxy.so | 桥接服务共享对象文件。 |
| lib | libsecurec.a | 加密服务静态库文件。 |
| lib | libexpire\_checker.so | SSL证书检查共享对象文件。 |


3. 配置安装信息。
  根据业务使用情况和待安装部署的环境设置conf目录下bio.conf中的相关配置项，具体配置项说明如表6所示。

**表6 BoostIO配置项**

| 归属模块 | 配置项名称 | 简要描述 | 默认值 | 合法值/区间 | 注意事项 |
| --- | --- | --- | --- | --- | --- |
| Log | bio.log.level | 日志打印级别。 | debug | debug info warn trace error | \- |
| Net | bio.net.data.ip\_mask | IP地址段。 | 127.0.0.1/24 | \*.\*.\*.\*/\#，其中\*为0~255，\#为0~32 | 使用JuiceFS跑大数据业务时，该字段必须和/etc/hosts中的主机名对应的ip保持一致 |
| Net | bio.net.data.listen\_port | 业务面网络通信端口号。 | 7201 | 7201~7800 | \- |
| Net | bio.net.data.protocol | 网络协议。 | tcp | rdma tcp | \- |
| Net | bio.net.rpc.data.busy\_polling\_mode | RPC开启busy\-polling标记。 | false | true false | 仅RDMA协议生效。 |
| Net | bio.net.rpc.data.workers\_count | RPC数据面工作核数。 | 4 | 1~16 | \- |
| Net | bio.net.request.executor.thread.num | 接收端请求处理线程数。 | 8 | 8~256 | \- |
| Net | bio.net.request.executor.queue.size | 接收端请求处理队列深度。 | 1024 | 1024~65535 | \- |
| Net | bio.net.ipc.data.busy\_polling\_mode | IPC开启busy\-polling标记。 | false | true false | \- |
| Net | bio.net.ipc.data.workers\_count | IPC数据面工作核数。 | 4 | 1~128 | \- |
| Net | bio.net.tls.enable.switch | 网络安全开关。 | true | true false | 关闭后可能会引入信息安全问题、仿冒等风险，请谨慎操作。 分离部署时调用BoostIO服务初始化接口传入的enableTls参数必须和该配置项保持一致。 |
| Net | bio.net.tls.ca.cert.path | CA证书文件路径。 | /path/CA/cacert.pem | 默认值仅作为示例。 | 安全开关打开则需要为有效路径，安全开关关闭则不解析该配置项。 |
| Net | bio.net.tls.ca.crl.path | 吊销列表文件路径。 | \- | \- | 安全开关打开且需要校验证书是否被吊销时为有效路径，安全开关关闭则不解析该配置项。 |
| Net | bio.net.tls.server.cert.path | 服务端证书文件路径。 | /path/server/servercert.pem | 默认值仅作为示例。 | 安全开关打开时则需要为有效路径，安全开关关闭则不解析该配置项。 |
| Net | bio.net.tls.server.key.path | 服务端证书私钥文件路径。 | /path/server/serverkey.pem | 默认值仅作为示例。 | 安全开关打开时则需要为有效路径，安全开关关闭则不解析该配置项。 |
| Net | bio.net.tls.server.key.pass.path | 工作证书私钥口令的密文文件路径。 | /path/server/server.keypass | 默认值仅作为示例。 | 安全开关打开时则需要为有效路径，安全开关关闭则不解析该配置项。 |
| Net | bio.net.hesc.server.tls.kfs.master.path | 加密工作证书私钥时生成的根密钥路径。 | /path/server/master/kfsa | 默认值仅作为示例。 | 安全开关打开时则需要为有效路径，安全开关关闭则不解析该配置项。 |
| Net | bio.net.hesc.server.tls.kfs.pass.standby.path | 加密工作证书私钥时生成的备份根密钥路径。 | /path/server/standby/kfs | 默认值仅作为示例。 | 安全开关打开时则需要为有效路径，安全开关关闭则不解析该配置项。 |
| Cache | bio.cache.qos.enable | 流量控制开关。 | true | false ture | 流量控制开关打开会影响到极限性能，建议性能用例场景关闭。 |
| Cache | bio.data.crc.enable | 数据完整性校验开关。 | false | false ture | 数据完整性校验开关打开会增加数据读写时延，建议在问题定位场景使用。 |
| Cache | bio.segment.size\_in\_mb | 缓存资源粒度。 | 4 | 1~16 | 单位MB。 |
| Cache | bio.mem.size\_in\_gb | 缓存资源内存容量。 | 50 | 0~512 | 禁止配置超过系统内存。 单位GB 配置为0表示该节点不具备缓存功能。 |
| Cache | bio.disk.path | 缓存资源磁盘列表。 | /dev/sdxx:/dev/sdyy | \- | 多个磁盘路径用冒号隔开，当前版本支持最多4块磁盘。 |
| Cache | bio.rcache.evict\_water\_level | 读缓存淘汰水位。 | 90 | 0~100 | 表示使用读缓存百分比 |
| Cache | bio.cache.mem\_read\_write\_ratio | 内存读写资源配比。 | 5:5 | 0~10:10~0 | \- |
| Cache | bio.cache.disk\_read\_write\_ratio | 磁盘读写资源配比。 | 5:5 | 0~10:10~0 | \- |
| Cache | bio.work.scene | 应用场景标记。 | none | none bigdata | （可选）默认为none none：不存在使用约束； bigdata：大数据场景，其主要区别是IO强制对齐。 |
| Cache | bio.work.io.alignsize | io对齐数据大小 | 1 | 1~4194304 | 单位B |
| Cache | bio.work.io.timeout | 非读写操作，申请内存、delete、load、listall等操作超时时间 | 60 | 60~300 | 未超时返回需要重试，则重试操作； 超时不再重试。单位s。 |
| Cache | bio.work.net.timeout | 网络超时时间 | 20 | 16~128 | 单位s |
| Cache | bio.wcache.evict\_water\_level | 写缓存淘汰水位。 | 0 | 0~100 | （可选）默认为0，表示使用写缓存资源百分比 |
| Cache | bio.wcache.negotiate.delay | 淘汰协商延迟 | 100 | 50\-1000 | 可选，默认100，单位ms。前台写性能敏感场景需要将该值调大，淘汰延迟增大；前台写性能不敏感可使用较小值，更快淘汰。 |
| Cache | bio.trace.enable | 流程统计开关 | true | false ture | 流程统计开关打开会影响到极限性能，建议性能用例场景关闭。 |
| Underfs | bio.underfs.file\_system\_type | 后端存储系统类型。 | ceph | ceph hdfs | \- |
| Underfs | bio.underfs.ceph.cfg.path | Ceph配置文件路径。 | /etc/ceph/ceph.conf | 不为空。 | 选择ceph后必填选项，必须是真实存在的路径。 |
| Underfs | bio.underfs.ceph.cluster | Ceph集群名称。 | ceph | 不为空。 | 选择ceph后必填选项。 |
| Underfs | bio.underfs.ceph.user | Ceph用户。 | client.admin | 不为空。 | 选择ceph后必填选项。 |
| Underfs | bio.underfs.ceph.pool | Ceph数据池。 | 0:jfspool0,1:jfspool1 | 不为空。 | 选择ceph后必填选项，多个参数用英文逗号隔开。 |
| Underfs | bio.underfs.hdfs.name\_node | hadoop的NameNode。 | default:0 | \*.\*.\*.\*/\#，\*为0~255，\#为0~65535 | （可选）默认为default:0，格式：IP地址:端口号，表示使用hadoop配置文件中的IP地址和端口号。 |
| Underfs | bio.underfs.hdfs.working\_path | 文件在hdfs系统的存放路径。 | /hdfs | 路径名长度小于或等于255的合法路径。 | （可选）默认为/hdfs。 |
| CM | bio.cm.initial.nodes\_count | 集群初始化期望节点数。 | 2 | 2~256 | \- |
| CM | bio.cm.copy\_num | 数据冗余度。 | 2 | 2 | 当前版本仅支持双副本。 |
| CM | bio.cm.pts\_count | 分区视图数量。 | 16 | 2~8192 | \- |
| CM | bio.cm.register\_timeout\_sec | ZooKeeper心跳检测超时时间。 | 20 | 10~60 | 单位s。 |
| CM | bio.cm.register\_perm\_timeout\_sec | 永久故障超时时间。 | 60 | 60~600 | 单位s。 |
| CM | bio.cm.zk\_host | ZooKeeper服务节点信息。 例如：127.0.0.1:2181, 127.0.0.2:2181,127.0.0.3:2181(3节点zk集群) | \- | 不为空 | ZooKeeper使用的网段必须和业务IP地址网段保持一致。 |


4. 配置host_ip_list文件。
  1 2 cd boostio/scripts vi host_ip_list

  配置内容如下：

  1 2 ip1::BoostIO通信IP1::盘地址1:盘地址2 ip2::BoostIO通信IP2::盘地址1:盘地址2

5. 设置磁盘归属用户和用户组。
  1 2 chown [server安装用户:server安装用户组] 盘地址1 chown [server安装用户:server安装用户组] 盘地址2

6. 执行安装部署脚本。
  1 python3 hand_out_deploy.py install [未解压安装包路径] [server安装用户] [server安装用户组]

  openEuler 20.03操作系统中需安装配置Python3以正常运行安装脚本。 集群所有节点使用相同的账户和密码。

  根据回显提示输入server安装用户名和密码。 图1 安装回显信息说明

  安装部署结束，BoostIO相关的文件和目录全部都放置在“/opt/boostio”下。
