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

该服务器的 OS 版本为 Kylin V10 SP1。
[root@ob146 ~]# cat /etc/.productinfo
Kylin Linux Advanced Server
release V10 (SP1) /(Tercel)-x86_64-Build20/20210518
[root@ob146 ~]#
[root@ob146 ~]# cat /etc/kylin-release
Kylin Linux Advanced Server release V10 (Tercel)
[root@ob146 ~]#
[root@ob146 ~]# cat /etc/os-release
NAME="Kylin Linux Advanced Server"
VERSION="V10 (Tercel)"
ID="kylin"
VERSION_ID="V10"
PRETTY_NAME="Kylin Linux Advanced Server V10 (Tercel)"
ANSI_COLOR="0;31"
[root@ob146 ~]#
因为 Kylin V10 SP1 装机自带的 ISO 镜像文件中也未包含 fio rpm package,如果该服务器无法连接外网使用 Kylin 官方的 YUM 源的话,这边需要手工下载安装所有需要的 RPM 包。
解决方案
从麒麟官网提供的 RPM 包下载网址中找到对应的 fio RPM 包,并安装。
[root@ob146 fio_x86]# wget https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/fio-3.7-6.ky10.x86_64.rpm
--2023-08-29 13:55:01-- https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/fio-3.7-6.ky10.x86_64.rpm
Resolving update.cs2c.com.cn (update.cs2c.com.cn)... 122.xxx.xxx.xxx, 222.xx.xxx.xxx
Connecting to update.cs2c.com.cn (update.cs2c.com.cn)|122.xxx.xxx.xxx|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 361548 (353K) [application/octet-stream]
Saving to: ‘fio-3.7-6.ky10.x86_64.rpm’
fio-3.7-6.ky10.x86_ 100%[===================>] 353.07K --.-KB/s in 0.04s
2023-08-29 13:55:01 (8.51 MB/s) - ‘fio-3.7-6.ky10.x86_64.rpm’ saved [361548/361548]
[root@ob146 fio_x86]#
[root@ob146 fio_x86]# rpm -ivh fio-3.7-6.ky10.x86_64.rpm
warning: fio-3.7-6.ky10.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 7a486d9f: NOKEY
error: Failed dependencies:
fio-help is needed by fio-3.7-6.ky10.x86_64
libibverbs.so.1()(64bit) is needed by fio-3.7-6.ky10.x86_64
libibverbs.so.1(IBVERBS_1.0)(64bit) is needed by fio-3.7-6.ky10.x86_64
libibverbs.so.1(IBVERBS_1.1)(64bit) is needed by fio-3.7-6.ky10.x86_64
libpmem.so.1()(64bit) is needed by fio-3.7-6.ky10.x86_64
libpmem.so.1(LIBPMEM_1.0)(64bit) is needed by fio-3.7-6.ky10.x86_64
libpmemblk.so.1()(64bit) is needed by fio-3.7-6.ky10.x86_64
libpmemblk.so.1(LIBPMEMBLK_1.0)(64bit) is needed by fio-3.7-6.ky10.x86_64
librados.so.2()(64bit) is needed by fio-3.7-6.ky10.x86_64
librbd.so.1()(64bit) is needed by fio-3.7-6.ky10.x86_64
librdmacm.so.1()(64bit) is needed by fio-3.7-6.ky10.x86_64
librdmacm.so.1(RDMACM_1.0)(64bit) is needed by fio-3.7-6.ky10.x86_64
[root@ob146 fio_x86]#
这边需要先安装各种依赖的 RPM 包,以解决 RPM 包之间的各种依赖关系,具体实践如下。
# wget https://update.cs2c.com.cn/NS/V10/V10SP1/os/adv/lic/base/x86_64/Packages/librados2-12.2.8-6.ky10.x86_64.rpm
# rpm -ivh librados2-12.2.8-6.ky10.x86_64.rpm
# wget https://update.cs2c.com.cn/NS/V10/V10SP1/os/adv/lic/base/x86_64/Packages/librbd1-12.2.8-6.ky10.x86_64.rpm
# rpm -ivh librbd1-12.2.8-6.ky10.x86_64.rpm
# wget https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/rdma-core-28.1-3.ky10.x86_64.rpm
# rpm -ivh rdma-core-28.1-3.ky10.x86_64.rpm
# wget https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/libpsm2-10.3.58-6.ky10.x86_64.rpm
# rpm -ivh libpsm2-10.3.58-6.ky10.x86_64.rpm
# wget https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/libfabric-1.9.0rc1-1.p01.ky10.x86_64.rpm
# rpm -ivh libfabric-1.9.0rc1-1.p01.ky10.x86_64.rpm
# wget https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/nvml-1.4.2-2.ky10.x86_64.rpm
# rpm -ivh nvml-1.4.2-2.ky10.x86_64.rpm
# wget https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/fio-help-3.7-6.ky10.x86_64.rpm
# rpm -ivh fio-help-3.7-6.ky10.x86_64.rpm
# wget https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/fio-3.7-6.ky10.x86_64.rpm
# rpm -ivh fio-3.7-6.ky10.x86_64.rpm
最后验证 fio 命令安装成功。
[root@ob146 fio_x86]# fio --version
fio-3.7
[root@ob146 fio_x86]#
[root@ob146 fio_x86]# fio --help
fio-3.7
fio [options] [job options] <job file(s)>
--debug=options Enable debug logging. May be one/more of:
process,file,io,mem,blktrace,verify,random,parse,
diskutil,job,mutex,profile,time,net,rate,compress,
steadystate,helperthread
--parse-only Parse options only, don't start any IO
--output Write output to file
--bandwidth-log Generate aggregate bandwidth logs
--minimal Minimal (terse) output
--output-format=type Output format (terse,json,json+,normal)
--terse-version=type Set terse version output format (default 3, or 2 or 4)
--version Print version info and exit
--help Print this page
--cpuclock-test Perform test/validation of CPU clock
--crctest=[type] Test speed of checksum functions
--cmdhelp=cmd Print command help, "all" for all of them
--enghelp=engine Print ioengine help, or list available ioengines
--enghelp=engine,cmd Print help for an ioengine cmd
--showcmd Turn a job file into command line options
--eta=when When ETA estimate should be printed
May be "always", "never" or "auto"
--eta-newline=time Force a new line for every 'time' period passed
--status-interval=t Force full status dump every 't' period passed
--readonly Turn on safety read-only checks, preventing writes
--section=name Only run specified section in job file, multiple sections can be specified
--alloc-size=kb Set smalloc pool to this size in kb (def 16384)
--warnings-fatal Fio parser warnings are fatal
--max-jobs=nr Maximum number of threads/processes to support
--server=args Start a backend fio server
--daemonize=pidfile Background fio server, write pid to file
--client=hostname Talk to remote backend(s) fio server at hostname
--remote-config=file Tell fio server to load this local job file
--idle-prof=option Report cpu idleness on a system or percpu basis
(option=system,percpu) or run unit work
calibration only (option=calibrate)
--inflate-log=log Inflate and output compressed log
--trigger-file=file Execute trigger cmd when file exists
--trigger-timeout=t Execute trigger at this time
--trigger=cmd Set this command as local trigger
--trigger-remote=cmd Set this command as remote trigger
--aux-path=path Use this path for fio state generated files
Fio was written by Jens Axboe <axboe@kernel.dk>
[root@ob146 fio_x86]#
总结下来,需要手工安装的 RPM 包列表如下。
[root@ob146 fio_x86]# ls -ltr
total 7300
-rw-r--r-- 1 root root 3039352 Aug 24 2020 librados2-12.2.8-6.ky10.x86_64.rpm
-rw-r--r-- 1 root root 1061680 Aug 24 2020 librbd1-12.2.8-6.ky10.x86_64.rpm
-rw-r--r-- 1 root root 361548 Mar 16 2021 fio-3.7-6.ky10.x86_64.rpm
-rw-r--r-- 1 root root 124904 Mar 16 2021 fio-help-3.7-6.ky10.x86_64.rpm
-rw-r--r-- 1 root root 576444 Mar 16 2021 libfabric-1.9.0rc1-1.p01.ky10.x86_64.rpm
-rw-r--r-- 1 root root 773288 Mar 16 2021 rdma-core-28.1-3.ky10.x86_64.rpm
-rw-r--r-- 1 root root 1338324 Apr 22 2021 nvml-1.4.2-2.ky10.x86_64.rpm
-rw-r--r-- 1 root root 183936 Apr 29 2021 libpsm2-10.3.58-6.ky10.x86_64.rpm
[root@ob146 fio_x86]#
ARM 平台上需要手工安装的 RPM 如下。
# wget https://update.cs2c.com.cn/NS/V10/V10SP1/os/adv/lic/updates/aarch64/Packages/librados2-12.2.8-7.ky10.aarch64.rpm
# rpm -ivh librados2-12.2.8-7.ky10.aarch64.rpm
# wget https://update.cs2c.com.cn/NS/V10/V10SP1/os/adv/lic/updates/aarch64/Packages/librbd1-12.2.8-7.ky10.aarch64.rpm
# rpm -ivh librbd1-12.2.8-7.ky10.aarch64.rpm
# wget https://update.cs2c.com.cn/NS/V10/V10SP1/os/adv/lic/base/aarch64/Packages/rdma-core-20.1-6.ky10.aarch64.rpm
# rpm -ivh rdma-core-20.1-6.ky10.aarch64.rpm
# wget https://update.cs2c.com.cn/NS/V10/V10SP1/os/adv/lic/base/aarch64/Packages/fio-3.7-4.ky10.aarch64.rpm
# rpm -ivh fio-3.7-4.ky10.aarch64.rpm
[root@ob119 fio_arm]# ls -ltr
total 4608
-rw-r--r-- 1 root root 351508 Aug 24 2020 fio-3.7-4.ky10.aarch64.rpm
-rw-r--r-- 1 root root 506164 Aug 24 2020 rdma-core-20.1-6.ky10.aarch64.rpm
-rw-r--r-- 1 root root 991324 Dec 13 2020 librbd1-12.2.8-7.ky10.aarch64.rpm
-rw-r--r-- 1 root root 2859620 Dec 13 2020 librados2-12.2.8-7.ky10.aarch64.rpm
[root@ob119 fio_arm]#
其它信息
Kylin V10 官方的软件包下载地址:https://update.cs2c.com.cn/NS/V10/
麒麟 V10 各个 SP 版本 RPM 包下载地址:
- https://update.cs2c.com.cn/NS/V10/V10SP1/os/adv/lic/
- https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/
- https://update.cs2c.com.cn/NS/V10/V10SP3/os/adv/lic/
x86 平台的:
- https://update.cs2c.com.cn/NS/V10/V10SP1/os/adv/lic/base/x86_64/Packages/
- https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/Packages/
- https://update.cs2c.com.cn/NS/V10/V10SP3/os/adv/lic/base/x86_64/Packages/
ARM 平台的:
- https://update.cs2c.com.cn/NS/V10/V10SP1/os/adv/lic/base/aarch64/Packages/
- https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/aarch64/Packages/
- https://update.cs2c.com.cn/NS/V10/V10SP3/os/adv/lic/base/aarch64/Packages/
updates of x86:
- https://update.cs2c.com.cn/NS/V10/V10SP1/os/adv/lic/updates/x86_64/Packages/
- https://update.cs2c.com.cn/NS/V10/V10SP1.1/os/adv/lic/updates/x86_64/Packages/
- https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/updates/x86_64/Packages/
- https://update.cs2c.com.cn/NS/V10/V10SP3/os/adv/lic/updates/x86_64/Packages/
updates of ARM:
- https://update.cs2c.com.cn/NS/V10/V10SP1/os/adv/lic/updates/aarch64/Packages/
- https://update.cs2c.com.cn/NS/V10/V10SP1.1/os/adv/lic/updates/aarch64/Packages/
- https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/updates/aarch64/Packages/
- https://update.cs2c.com.cn/NS/V10/V10SP3/os/adv/lic/updates/aarch64/Packages/