[不懂就问] tikv raftstore.capacity参数的几个疑问?

【TiDB 使用环境】生产环境
【TiDB 版本】v6.5.7
【操作系统】centos7.9
最近线上收到了告警“tikv 容量使用超过80%的数量”,同一分区部署了4个tikv实例,实际该分区磁盘空间使用率并没有80%,经排查告警跟raftstore.capacity参数的设置有关系,对raftstore.capacity参数的疑问如下:

1、不设置raftstore.capacity,每个tikv共享使用当前分区磁盘容量,重点关注服务器磁盘分区磁盘空间使用率。这种方案是否可行? (看官方文档是建议设置raftstore.capacity)

2、如果设置了raftstore.capacity,当写入到达raftstore.capacity上限,但是对应tikv部署的分区磁盘空间使用率没有达到上限的情况下,tidb是什么样的表现呢?是禁止写入吗?如果是这样的话,需要如何快速处理并尽量缩短影响时间?

生产环境不建议不设置该参数,虽然短期可行,但存在潜在风险

1 个赞

生产环境中,磁盘使用率可能因非 TiKV 进程(如日志轮转、临时文件、备份)突然增长而快速飙升,若 PD 未提前感知 TiKV 的 “实际可用容量”,无法及时触发 Region 迁移,容易导致 TiKV 磁盘写满。TiKV 的 Raft 日志、SST 文件需要预留一定空闲空间

2 个赞

不会直接 “禁止写入”,但会触发 PD 调度限流 + TiKV 写入变慢,最终可能因磁盘实际写满而拒绝写入

1 个赞

1、混部建议设置,不设置会出现资源争用
2、达到上限后感觉应该会禁止写入,或数据均衡到其他tikv节点是。

store.capacity 存储容量

达到上限后禁止写入

数据自动均衡

为啥同一分区部署了4个tikv实例呢?

服务器数量不足,但是单台服务器磁盘容量大,又不想单个tikv节点过大,就在单台服务器同一分区磁盘部署了同一个集群的4个不同端口的tikv实例。

跟大佬学习了

学习下

此参数建议设置

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。