安装BoostIO

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

- biogroup的GID为1000。
- bioadmin的UID为9000。
- 如果设置bioadmin用户的密码,复杂度要求如下:
- 口令长度至少8个字符。
- 口令必须包含如下至少三种字符的组合:
- 小写字母。
- 大写字母。
- 数字。
- 特殊字符:`~!@#$%^&*()-_=+\|[{}];:'",<.>/?和空格。
- 口令和账号不能相同。
- 创建biogroup用户组。
groupadd -g 1000 biogroup
- 在biogroup用户组内创建bioadmin用户。
useradd -g 1000 -d /home/bioadmin -u 9000 -m -s /bin/bash bioadmin
软件安装包完整性校验
从华为技术支持官网获取的软件安装包,下载后需要校验,确保与网站上的原始软件安装包一致。
校验方法:
清理环境(可选)

- 安装前需确保该环境没有安装BoostIO,若环境上已安装BoostIO则需要进行环境清理操作,确保后续安装能够正常进行。
- 建议用户及时清理SDK端未使用的日志文件,避免磁盘耗尽。
- 统计文件最大10M,循环进行计数统计,BoostIO重新部署启动后会新生成一个新的统计计数文件,老的统计计数文件建议进行清理。
- 收集需要安装BoostIO节点的IP地址。
- 为集群中每个节点提供至少一块NVMe SSD存储盘,并将磁盘归属设置为对应安装用户、用户组。
1
chown [server安装用户:server安装用户组] /dev/nvmexnx
- 首次安装时需创建下列目录并配置权限。
表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端日志目录。
- 配置Ceph密钥环权限。
- 清理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
- 清理BoostIO磁盘管理元数据信息。
1
dd bs=8k count=1024 if=/dev/zero of=/dev/nvmexnx
安装BoostIO
- 登录至安装节点,并上传软件包BoostIO_{version}_linux-{arch}_release.tar.gz至“/opt”目录下。
- 解压软件包,解压后目录结构如表2所示。
1
tar -xzvf BoostIO_{version}_linux-{arch}_release.tar.gz
其中用于安装BoostIO所需的脚本工具放置在scripts目录下,其使用说明如表3所示。
表3 scripts目录文件说明,建议安装完成后手动删除以下文件 目录
脚本工具名称
使用描述
执行方式
参数
scripts
hand_out_deploy.py
安装工具脚本。
hand_out_deploy.py [option]
- install [pkg_path] [user] [group]
- uninstall
host_ip_list
通信IP地址、盘信息配置文件。
提供给hand_out_deploy.py使用。
-
install.sh
安装执行脚本。
install.sh [option]。
提供给hand_out_deploy.py使用。
- install [user] [group] [install_path]
- uninstall
scp_file.sh
scp命令执行文件。
提供给hand_out_deploy.py使用。
-
ssh_cmd.sh
ssh命令执行文件。
提供给hand_out_deploy.py使用。
-
表4 bin目录文件说明 目录
文件名称
描述
bin
bio_daemon
BoostIO服务可执行文件。
seceasy_encrypt
加密服务可执行文件。
表5 lib目录文件说明 目录
文件名称
描述
lib
libbdm.so
bdm模块共享对象文件,用于磁盘管理。
libbio_interceptor_server.so
桥接服务共享对象文件。
libbio_sdk.so
BoostIO SDK端共享对象文件。
libbio_server.so
BoostIO Server端共享对象文件。
libhcom.so
hcom共享对象文件,用于网络传输。
libhcom_static.a
hcom静态库文件。
libhse_cryption.so
hsecsasy可执行文件,用于加密。
libock_interceptor.so
桥接服务共享对象文件。
libock_iofwd_proxy.so
桥接服务共享对象文件。
libsecurec.a
加密服务静态库文件。
libexpire_checker.so
SSL证书检查共享对象文件。
- 配置安装信息。
根据业务使用情况和待安装部署的环境设置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保持一致
bio.net.data.listen_port
业务面网络通信端口号。
7201
7201~7800
-
bio.net.data.protocol
网络协议。
tcp
- rdma
- tcp
-
bio.net.rpc.data.busy_polling_mode
RPC开启busy-polling标记。
false
- true
- false
仅RDMA协议生效。
bio.net.rpc.data.workers_count
RPC数据面工作核数。
4
1~16
-
bio.net.request.executor.thread.num
接收端请求处理线程数。
8
8~256
-
bio.net.request.executor.queue.size
接收端请求处理队列深度。
1024
1024~65535
-
bio.net.ipc.data.busy_polling_mode
IPC开启busy-polling标记。
false
- true
- false
-
bio.net.ipc.data.workers_count
IPC数据面工作核数。
4
1~128
-
bio.net.tls.enable.switch
网络安全开关。
true
- true
- false
- 关闭后可能会引入信息安全问题、仿冒等风险,请谨慎操作。
- 分离部署时调用BoostIO服务初始化接口传入的enableTls参数必须和该配置项保持一致。
bio.net.tls.ca.cert.path
CA证书文件路径。
/path/CA/cacert.pem
默认值仅作为示例。
安全开关打开则需要为有效路径,安全开关关闭则不解析该配置项。
bio.net.tls.ca.crl.path
吊销列表文件路径。
-
-
安全开关打开且需要校验证书是否被吊销时为有效路径,安全开关关闭则不解析该配置项。
bio.net.tls.server.cert.path
服务端证书文件路径。
/path/server/servercert.pem
默认值仅作为示例。
安全开关打开时则需要为有效路径,安全开关关闭则不解析该配置项。
bio.net.tls.server.key.path
服务端证书私钥文件路径。
/path/server/serverkey.pem
默认值仅作为示例。
安全开关打开时则需要为有效路径,安全开关关闭则不解析该配置项。
bio.net.tls.server.key.pass.path
工作证书私钥口令的密文文件路径。
/path/server/server.keypass
默认值仅作为示例。
安全开关打开时则需要为有效路径,安全开关关闭则不解析该配置项。
bio.net.hesc.server.tls.kfs.master.path
加密工作证书私钥时生成的根密钥路径。
/path/server/master/kfsa
默认值仅作为示例。
安全开关打开时则需要为有效路径,安全开关关闭则不解析该配置项。
bio.net.hesc.server.tls.kfs.pass.standby.path
加密工作证书私钥时生成的备份根密钥路径。
/path/server/standby/kfs
默认值仅作为示例。
安全开关打开时则需要为有效路径,安全开关关闭则不解析该配置项。
Cache
bio.cache.qos.enable
流量控制开关。
true
- false
- ture
流量控制开关打开会影响到极限性能,建议性能用例场景关闭。
bio.data.crc.enable
数据完整性校验开关。
false
- false
- ture
数据完整性校验开关打开会增加数据读写时延,建议在问题定位场景使用。
bio.segment.size_in_mb
缓存资源粒度。
4
1~16
单位MB。
bio.mem.size_in_gb
缓存资源内存容量。
50
0~512
- 禁止配置超过系统内存。
- 单位GB
- 配置为0表示该节点不具备缓存功能。
bio.disk.path
缓存资源磁盘列表。
/dev/sdxx:/dev/sdyy
-
多个磁盘路径用冒号隔开,当前版本支持最多4块磁盘。
bio.rcache.evict_water_level
读缓存淘汰水位。
90
0~100
表示使用读缓存百分比
bio.cache.mem_read_write_ratio
内存读写资源配比。
5:5
0~10:10~0
-
bio.cache.disk_read_write_ratio
磁盘读写资源配比。
5:5
0~10:10~0
-
bio.work.scene
应用场景标记。
none
- none
- bigdata
(可选)默认为none
- none:不存在使用约束;
- bigdata:大数据场景,其主要区别是IO强制对齐。
bio.work.io.alignsize
io对齐数据大小
1
1~4194304
单位B
bio.work.io.timeout
非读写操作,申请内存、delete、load、listall等操作超时时间
60
60~300
未超时返回需要重试,则重试操作;
超时不再重试。单位s。
bio.work.net.timeout
网络超时时间
20
16~128
单位s
bio.wcache.evict_water_level
写缓存淘汰水位。
0
0~100
(可选)默认为0,表示使用写缓存资源百分比
bio.wcache.negotiate.delay
淘汰协商延迟
100
50-1000
可选,默认100,单位ms。前台写性能敏感场景需要将该值调大,淘汰延迟增大;前台写性能不敏感可使用较小值,更快淘汰。
bio.trace.enable
流程统计开关
true
- false
- ture
流程统计开关打开会影响到极限性能,建议性能用例场景关闭。
Underfs
bio.underfs.file_system_type
后端存储系统类型。
ceph
- ceph
- hdfs
-
bio.underfs.ceph.cfg.path
Ceph配置文件路径。
/etc/ceph/ceph.conf
不为空。
选择ceph后必填选项,必须是真实存在的路径。
bio.underfs.ceph.cluster
Ceph集群名称。
ceph
不为空。
选择ceph后必填选项。
bio.underfs.ceph.user
Ceph用户。
client.admin
不为空。
选择ceph后必填选项。
bio.underfs.ceph.pool
Ceph数据池。
0:jfspool0,1:jfspool1
不为空。
选择ceph后必填选项,多个参数用英文逗号隔开。
bio.underfs.hdfs.name_node
hadoop的NameNode。
default:0
*.*.*.*/#,*为0~255,#为0~65535
(可选)默认为default:0,格式:IP地址:端口号,表示使用hadoop配置文件中的IP地址和端口号。
bio.underfs.hdfs.working_path
文件在hdfs系统的存放路径。
/hdfs
路径名长度小于或等于255的合法路径。
(可选)默认为/hdfs。
CM
bio.cm.initial.nodes_count
集群初始化期望节点数。
2
2~256
-
bio.cm.copy_num
数据冗余度。
2
2
当前版本仅支持双副本。
bio.cm.pts_count
分区视图数量。
16
2~8192
-
bio.cm.register_timeout_sec
ZooKeeper心跳检测超时时间。
20
10~60
单位s。
bio.cm.register_perm_timeout_sec
永久故障超时时间。
60
60~600
单位s。
bio.cm.zk_host
ZooKeeper服务节点信息。
例如:127.0.0.1:2181,
127.0.0.2:2181,127.0.0.3:2181(3节点zk集群)
-
不为空
ZooKeeper使用的网段必须和业务IP地址网段保持一致。
- 配置host_ip_list文件。
1 2
cd boostio/scripts vi host_ip_list
配置内容如下:
1 2
ip1::BoostIO通信IP1::盘地址1:盘地址2 ip2::BoostIO通信IP2::盘地址1:盘地址2
- 设置磁盘归属用户和用户组。
1 2
chown [server安装用户:server安装用户组] 盘地址1 chown [server安装用户:server安装用户组] 盘地址2
- 执行安装部署脚本。
1
python3 hand_out_deploy.py install [未解压安装包路径] [server安装用户] [server安装用户组]
- openEuler 20.03操作系统中需安装配置Python3以正常运行安装脚本。
- 集群所有节点使用相同的账户和密码。
根据回显提示输入server安装用户名和密码。图1 安装回显信息说明安装部署结束,BoostIO相关的文件和目录全部都放置在“/opt/boostio”下。