Tikv 下线,能否指定数据只往一部分机器迁移

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】: 4.0
  • 【问题描述】:
    我们集群有9台Tikv 实例,分别位于不同的服务器。
    其中6台实例的磁盘为4T(设为T1-T6),另外三台实例的磁盘为500GB(T7-T9),
    现在我想下线T7-T9的Tikv,然后想一台台下线,
    那请问,我如果下线T7的时候,能否让T7中现有的数据只迁移到T1-T6? (因为如果T7中的数据迁移到T8, T9,有可能会导致T8 T9 磁盘超出限制,毕竟它们现在的存储容量已经在60%左右了)
    还是我需要T7-T9同时下线才能达到这个效果?

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

1 Like

默认 PD 是会将 region 和 leader 按照尽可能均衡进行调度,但是如果是因为 TiKV 实例磁盘空间不一致的话,可以考虑调整 leader-weight 和 region-weight 调整 leader 以及 region 在节点上的权重。
https://docs.pingcap.com/zh/tidb/stable/pd-scheduling-best-practices#pd-调度策略最佳实践

另外 PD 调度中有 low-space-ratio 以及 high-space-ratio 参数控制每个节点剩余空间的量,当节点的空间占用比例超过指定值时,PD 会尽可能避免往对应节点迁移数据,同时主要针对剩余空间大小进行调度,避免对应节点磁盘空间被耗尽

https://docs.pingcap.com/zh/tidb/stable/pd-control

另外建议部署集群的时候 TiKV 节点之间使用相同的配置,包括 CPU ,磁盘,内存等,避免某一或者某些节点配置较低称为瓶颈,影响整体集群。

1 Like

非常感谢~

客气:handshake:

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