安装BoostIO
清理环境(可选)
安装前需确保该环境没有安装BoostIO,若环境上已安装BoostIO则需要进行环境清理操作,确保后续安装能够正常进行。
- 收集需要安装BoostIO节点的IP地址。
- 为集群中每个节点提供至少一块NVMe SSD存储盘,并将磁盘归属设置为对应安装用户、用户组。
chown user:usergroup /dev/nvmexnx
- 将部署节点上的安装用户添加到Ceph所属的用户组中。
usermod -aG ceph_group user
- BoostIO启动需要读取Ceph Client端密钥,需要对应的权限,因此需要将安装用户添加到Ceph所属用户组。
- ceph_group举例作为Ceph所属用户组,部署时请改为实际的Ceph用户组。
- 清理BoostIO集群信息,在ZooKeeper server节点上执行命令(以ZooKeeper 3.8.1版本为例)。
sh /install_path/apache-zookeeper-3.8.1-bin/bin/zkCli.sh >>deleteall /cm
- 清理BoostIO磁盘管理元数据信息。
dd bs=8k count=1024 if=/dev/zero of=/dev/nvmexnx
安装BoostIO
- 登录至安装节点,并上传软件包BoostIO_{version}_linux-{arch}_release.tar.gz至“/opt”目录下。
- 解压软件包,解压后目录结构如表1所示。
tar -xzvf BoostIO_{version}_linux-{arch}_release.tar.gz
其中用于安装BoostIO所需的脚本工具放置在scripts目录下,其使用说明如表2所示。
表2 scripts目录文件说明 目录
脚本工具名称
使用描述
执行方式
参数
scripts
hand_out_deploy.py
安装工具脚本。
hand_out_deploy.py [option]
- install [pkg_path] [user] [group]
- uninstall
- start_boostio
- stop_boostio
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使用。
-
- 配置安装信息。
根据业务使用情况和待安装部署的环境设置conf目录下bio.conf中的相关配置项,具体配置项说明如表3所示。
表3 BoostIO配置项 归属模块
配置项名称
简要描述
默认值
合法值/区间
注意事项
Log
bio.log.level
日志打印级别。
info
- debug
- info
- warn
- error
-
Net
bio.net.data.ip_mask
IP地址段。
127.0.0.1/24
*.*.*.*/#,其中*为0~255,#为0~32
-
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.kfs.master.path
加密工作证书私钥时生成的根密钥路径。
/path/server/master/kfsa
默认值仅作为示例。
安全开关打开时则需要为有效路径,安全开关关闭则不解析该配置项。
bio.net.hesc.server.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
-
bio.mem.size_in_gb
缓存资源内存容量。
50
0~512
- 禁止配置超过系统内存。
- 配置为0表示该节点不具备缓存功能。
bio.disk.path
缓存资源磁盘列表。
/dev/sdxx:/dev/sdyy
-
多个磁盘路径用冒号隔开。
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.scenein
应用场景标记。
none
- none
- bigdata
(可选)默认为none
- none:不存在使用约束;
- bigdata:大数据场景,其主要区别是IO强制对齐。
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心跳检测超时时间。
30
10~60
-
bio.cm.register_perm_timeout_sec
永久故障超时时间。
60
60~600
-
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文件。
cd boostio/scripts vi host_ip_list
配置内容如下:
ip1::BoostIO通信IP1::盘地址1:盘地址2 ip2::BoostIO通信IP2::盘地址1:盘地址2
- 设置磁盘归属用户和用户组。
chown user:group 盘地址1 chown user:group 盘地址2
- 执行安装部署脚本。
python3 hand_out_deploy.py install [未解压安装包路径] [user] [group]
- user表示安装用户,group表示安装用户所属用户组。
- openEuler 20.03操作系统中需安装配置Python3以正常运行安装脚本。
根据回显提示输入安装用户名和密码。图1 安装回显信息说明
安装部署结束,BoostIO相关的文件和目录全部都放置在“/opt/boostio”下。