适用版本
OAT 的所有版本
问题现象
通过 OAT 来初始化服务器时在“config_deps”这一步遇到报错 Error: Unable to find a match: fio。

该服务器的 OS 版本为 Kylin V10 SP1。

尝试手工安装对应的 fio rpm 包遇到如下的报错。

问题原因
通过 OCP 部署 OceanBase 集群时在“Do io bench”这一步会使用 fio 命令来对数据盘做基本的读写 benchmark 测试,最终生成一个磁盘性能相关的配置文件 /home/admin/oceanbase/etc/io_resource.conf。该文件后续将被自动加载,用于 observer 对磁盘的性能调优。大多数操作系统上都没有自带这个 fio 命令,需要用户手工安装。
在 Kylin V10 操作系统上,手工安装 fio rpm 包时可能会遇到依赖的动态链接库缺失的问题,这是因为对应的相关依赖包没有安装导致的。
解决方案
在一台正常安装了 fio 的服务器上逐一查找包含这些动态链接库文件的 RPM 安装包,然后使用 yum install 或 rpm -i 命令手工安装这些 RPM 包。
[root@ocp127 ~]# find /usr -name libibverbs.so*
/usr/lib64/libibverbs.so.1
/usr/lib64/libibverbs.so.1.5.20.1
[root@ocp127 ~]#
[root@ocp127 ~]# rpm -qf /usr/lib64/libibverbs.so.1
rdma-core-20.1-6.ky10.aarch64
[root@ocp127 ~]#
[root@ocp127 ~]# yum install rdms-core
[root@ocp127 ~]# find /usr -name librados*
/usr/lib64/librados.so.2
/usr/lib64/librados.so.2.0.0
/usr/lib64/librados_tp.so.2
/usr/lib64/librados_tp.so.2.0.0
[root@ocp127 ~]#
[root@ocp127 ~]# rpm -qf /usr/lib64/librados.so.2
librados2-12.2.8-7.ky10.aarch64
[root@ocp127 ~]#
[root@ocp127 ~]# yum install librados2
[root@ocp127 ~]# find /usr -name librbd*
/usr/lib64/librbd.so.1
/usr/lib64/librbd.so.1.12.0
/usr/lib64/librbd_tp.so.1
/usr/lib64/librbd_tp.so.1.0.0
[root@ocp127 ~]#
[root@ocp127 ~]# rpm -qf /usr/lib64/librbd.so.1
librbd1-12.2.8-7.ky10.aarch64
[root@ocp127 ~]#
[root@ocp127 ~]# yum install librdb1
[root@ocp127 ~]# find /usr -name librdmacm*
/usr/lib64/librdmacm.so.1
/usr/lib64/librdmacm.so.1.1.20.1
[root@ocp127 ~]#
[root@ocp127 ~]# rpm -qf /usr/lib64/librdmacm.so.1
rdma-core-20.1-6.ky10.aarch64
[root@ocp127 ~]#
[root@ocp127 ~]# yum install rdma-core
等这些缺失的动态链接库都安装成功后,最后再尝试手工安装 fio 即可。