tidb-tikv7.5.3部署报错”invalid storage.engine configuration: Operation not permitted (os error 1)“

【 TiDB 使用环境】 /测试/ Poc
【 TiDB 版本】 7.5.3
【复现路径】做过哪些操作出现的问题

原4.0.12部署成功,卸载并删除数据后部署7.5.3版本,tikv一直重启
(是使用playbook部署的,同一套roles 在其他机器上 amd和 arm 都测试过 可以成功部署,但是这个机器只能成功部署4.0.12版本 无法成功部署7.5.3版本)

【遇到的问题:问题现象及影响】
tikv起不来没有打日志,tikv容器一直重启,docker logs查看打印下面的报错

root@node1:~# docker logs tidb-tikv
deprecated configuration, log-rotation-timespan is no longer used and ignored.
deprecated configuration, log-ratation-size has been moved to log.file.max-size
override log.file.max_size with log-rotation-size, ReadableSize(31457280)
invalid storage.engine configuration: Operation not permitted (os error 1)
deprecated configuration, log-rotation-timespan is no longer used and ignored.
deprecated configuration, log-ratation-size has been moved to log.file.max-size
override log.file.max_size with log-rotation-size, ReadableSize(31457280)
invalid storage.engine configuration: Operation not permitted (os error 1)
deprecated configuration, log-rotation-timespan is no longer used and ignored.
deprecated configuration, log-ratation-size has been moved to log.file.max-size
override log.file.max_size with log-rotation-size, ReadableSize(31457280)
invalid storage.engine configuration: Operation not permitted (os error 1)
deprecated configuration, log-rotation-timespan is no longer used and ignored.
deprecated configuration, log-ratation-size has been moved to log.file.max-size
override log.file.max_size with log-rotation-size, ReadableSize(31457280)

当前系统为:

Linux node1 4.19.0-arm64-server #3211 SMP Thu Apr 15 10:21:53 CST 2021 aarch64 GNU/Linux
 cat /etc/os-release 
PRETTY_NAME="UnionTech OS Server 20 Enterprise"
NAME="UnionTech OS Server 20 Enterprise"
VERSION_ID="20"
VERSION="20"
ID=UOS
HOME_URL="https://www.chinauos.com/"
BUG_REPORT_URL="http://bbs.chinauos.com"
VERSION_CODENAME=fou

tikv配置文件

# TiKV config template
#  Human-readable big numbers:
#   File size(based on byte): KB, MB, GB, TB, PB
#    e.g.: 1_048_576 = "1MB"
#   Time(based on ms): ms, s, m, h
#    e.g.: 78_000 = "1.3m"

log-level = "info"
log-rotation-size = "30MB"
log-rotation-timespan = "1h"
memory_usage_limit = "4096MB"

[readpool]

[readpool.coprocessor]
high-concurrency = 64
low-concurrency = 64
normal-concurrency = 32
use-unified-pool = true

[readpool.storage]
normal-concurrency = 10
use-unified-pool = true

[readpool.unified]
auto-adjust-pool-size = true

[pessimistic-txn]
enabled = true
pipelined = true


[server]
grpc-concurrency = 16
grpc-raft-conn-num = 16

[storage]

[storage.block-cache]
capacity = "3072MB"
shared = true

[pd]
# This section will be overwritten by command line parameters

[metric]

[raftstore]
apply-max-batch-size = 1024
raftdb-path = ""
store-max-batch-size = 1024

[coprocessor]

[rocksdb]
max-background-flushes = 4
max-background-jobs = 16
use-direct-io-for-flush-and-compaction = true
wal-bytes-per-sync = 128

[rocksdb.defaultcf]
compression-per-level = ["lz4", "lz4", "lz4", "lz4", "zstd", "zstd", "zstd"]
level0-slowdown-writes-trigger = 64
level0-stop-writes-trigger = 64

[rocksdb.lockcf]
level0-slowdown-writes-trigger = 64
level0-stop-writes-trigger = 64

[rocksdb.writecf]
compression-per-level = ["lz4", "lz4", "lz4", "lz4", "zstd", "zstd", "zstd"]
level0-slowdown-writes-trigger = 64
level0-stop-writes-trigger = 64

[raftdb]
use-direct-io-for-flush-and-compaction = true

[raftdb.defaultcf]
compression-per-level = ["lz4", "lz4", "lz4", "lz4", "zstd", "zstd", "zstd"]

[security]

修改目录权限后也是一样,无法启动:

Operation not permitted

这个报错一般是权限问题,大概率是某个目录的权限没给对。

我有检查过权限,因为我这个是用playbook部署的, 所以每次部署目录权限应该是一样的,部署4.0.12版本和7.5.3版本的时候的路径是一样的,奇怪的是这个机器上就部署不成功(这个机器上可以成功部署4.0.12版本),同一套roles 在其他机器上部署就没问题,感觉是这个机器的问题,但是又看不出来问题出在哪里.。

我手动修改目录权限后 也还是无法启动,


不要使用 docker 部署哦,它不是官方推荐的部署方法

没办法,入驻式服务场景需要,docker会方便一点 :joy:

要不放弃这个机器 :thinking:
看报错 os error 1 通常表示权限被拒绝