每次tikv 错误日志出现这个信息,tikv 就重启了,这应该是BUG吧,请原厂的老师帮忙确认下
failed to initialize rocksdb log with file /X/rocksdb.info: Permission denied (os error 13)
thread ‘archive-worker-0’ panicked at components/tikv_util/src/logger/file_log.rs:279:45:
called Result::unwrap() on an Err value: Os { code: 2, kind: NotFound, message: “No such file or directory” }
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
thread ‘archive-worker-0’ panicked at components/tikv_util/src/logger/file_log.rs:279:45:
called Result::unwrap() on an Err value: Os { code: 2, kind: NotFound, message: “No such file or directory” }
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
thread ‘archive-worker-0’ panicked at components/tikv_util/src/logger/file_log.rs:279:45:
called Result::unwrap() on an Err value: Os { code: 2, kind: NotFound, message: “No such file or directory” }
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
code: 2, kind: NotFound, message: “No such file or directory
看起来是目录没了
看这个日志,应该是X目录下权限不足导致的RocksDB 日志初始化失败
权限被拒:Permission denied (os error 13) → TiKV 进程无权限写 /X/rocksdb.info。
文件 /
目录不存在:Os { code: 2, … No such file or directory } → 日志目录未创建或路径错误。
panic 触发重启:archive-worker-0 线程在初始化日志时 unwrap 失败,直接 panic → 进程退出被 systemd 拉起。
权限被拒绝 (Permission denied)
其实我也不知道是哪个目录没了
权限没问题的,无论是/X/rocksdb.info,还是X目录 属主和属组都是tidb,而且
/X/rocksdb.info 已经有数据在写入了
- 临时用
root启动 TiKV 验证是否为权限问题(生产不推荐)。 - 配置
log.file.filename到/tmp等全局可写目录,快速恢复服务。
文件系统权限 + 日志归档路径配置 / 目录不存在导致的 TiKV 进程 panic 重启
tiup 里面有描述 tikv 的目录信息的,然后去 tikv 节点上检查
failed to initialize rocksdb log with file /X/rocksdb.info: Permission denied (os error 13) 你这个没有权限
更偏向环境问题,不是 TiKV 核心 BUG
原因:
TiKV 使用 Rust。
Rust 中:
unwrap()
如果失败会 panic。
TiKV 设计是:
日志目录初始化失败 → 直接 panic → 重启
这是为了避免:
日志不可写但服务继续运行。
属于:
Fail Fast 机制
最常见触发原因 
生产中出现这种错误,一般是下面几种。
目录权限被修改(最常见)
例如:
/data/tidb/tikv/
原来:
tikv:tikv
后来被改成:
root:root
或
chmod 改错。
导致:
TiKV 无法写 rocksdb.info。
检查
在 TiKV 节点执行:
ls -ld /X
ls -l /X
看权限。
例如:
drwx------ root root
就会报错。
正确权限
tikv tikv
755
或
700
即可。
日志目录被删除
例如:
rm -rf rocksdb.info
rm -rf log
或
磁盘清理脚本误删。
导致:
No such file or directory
然后 panic。
检查
ls /X
看 rocksdb.info 是否存在。
挂载盘异常
例如:
磁盘挂载丢失。
/data 挂载掉了
变成:
空目录
TiKV 无法写入。
就会报:
Permission denied
No such file
检查
df -h
mount
看磁盘是否正常。
运维脚本改权限
常见:
logrotate
cleanup
自动清理脚本
误改权限。
例如:
chown root
导致 TiKV 无法写
这是运行运行着就重启了
后续部署个脚本监控定时输出一下这个目录权限呢
看看后面还会不会出现
明面上报错是找不到目录了