tiflash删除表副本后磁盘空间不释放

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

  • 【TiDB 版本】:4.0.8
  • 【问题描述】:之前表在tiflash做了2副本,删除所有表的副本后,tiflash磁盘空间没释放,请问需要如何处理

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

请问现在情况怎么样,空间是否已经释放?

并没有
image

难道要手工清理数据目录?这样的话,如果我只是下掉部份表了怎么办

是使用 ALTER TABLE tab_name SET TIFLASH REPLICA 0 来做的吗?正常情况下删掉之后会自动回收数据空间。这个 data1 目录只放了 tiflash 的数据目录吗

能否用 pd-ctrl 看下这个节点上是否还有 tiflash 副本?

是这个命令,data1目录下只放了tiflash
我贴一下3台tiflash磁盘具体占用情况
192.168.4.15
image

192.168.4.16
image

192.168.4.17
image

{
“store”:{
“id”:97805,
“address”:“192.168.4.16:3930”,
“labels”:[
{
“key”:“engine”,
“value”:“tiflash”
}
],
“version”:“v4.0.8”,
“peer_address”:“192.168.4.16:20170”,
“status_address”:“192.168.4.16:20292”,
“git_hash”:“f0a78d93e440dac7c7935ea7e67c656b1bb5f913”,
“start_timestamp”:1606963776,
“deploy_path”:"/data1/deploy/bin/tiflash",
“last_heartbeat”:1608540206625312041,
“state_name”:“Up”
},
“status”:{
“capacity”:“295.2GiB”,
“available”:“292.9GiB”,
“used_size”:“2.265GiB”,
“leader_count”:0,
“leader_weight”:1,
“leader_score”:0,
“leader_size”:0,
“region_count”:0,
“region_weight”:1,
“region_score”:0,
“region_size”:0,
“start_ts”:“2020-12-03T10:49:36+08:00”,
“last_heartbeat_ts”:“2020-12-21T16:43:26.625312041+08:00”,
“uptime”:“437h53m50.625312041s”
}
},

{
“store”:{
“id”:97806,
“address”:“192.168.4.15:3930”,
“labels”:[
{
“key”:“engine”,
“value”:“tiflash”
}
],
“version”:“v4.0.8”,
“peer_address”:“192.168.4.15:20170”,
“status_address”:“192.168.4.15:20292”,
“git_hash”:“f0a78d93e440dac7c7935ea7e67c656b1bb5f913”,
“start_timestamp”:1607008324,
“deploy_path”:"/data1/deploy/bin/tiflash",
“last_heartbeat”:1608540208718333755,
“state_name”:“Up”
},
“status”:{
“capacity”:“295.2GiB”,
“available”:“291.3GiB”,
“used_size”:“3.892GiB”,
“leader_count”:0,
“leader_weight”:1,
“leader_score”:0,
“leader_size”:0,
“region_count”:0,
“region_weight”:1,
“region_score”:0,
“region_size”:0,
“start_ts”:“2020-12-03T23:12:04+08:00”,
“last_heartbeat_ts”:“2020-12-21T16:43:28.718333755+08:00”,
“uptime”:“425h31m24.718333755s”
}
},

{
“store”:{
“id”:97807,
“address”:“192.168.4.17:3930”,
“labels”:[
{
“key”:“engine”,
“value”:“tiflash”
}
],
“version”:“v4.0.8”,
“peer_address”:“192.168.4.17:20170”,
“status_address”:“192.168.4.17:20292”,
“git_hash”:“f0a78d93e440dac7c7935ea7e67c656b1bb5f913”,
“start_timestamp”:1605490694,
“deploy_path”:"/data1/deploy/bin/tiflash",
“last_heartbeat”:1608540213550565453,
“state_name”:“Up”
},
“status”:{
“capacity”:“295.2GiB”,
“available”:“293.3GiB”,
“used_size”:“1.902GiB”,
“leader_count”:0,
“leader_weight”:1,
“leader_score”:0,
“leader_size”:0,
“region_count”:0,
“region_weight”:1,
“region_score”:0,
“region_size”:0,
“start_ts”:“2020-11-16T09:38:14+08:00”,
“last_heartbeat_ts”:“2020-12-21T16:43:33.550565453+08:00”,
“uptime”:“847h5m19.550565453s”
}
},

看 pd-ctl 的结果是已经删掉了,那么能再进到 data 目录看下里面是哪些文件在占用空间吗?

能否看下哪些文件占用空间比较多?


都是这种数据文件

看我上面截图15和16机器上,10几个G的数据文件没释放

tiflash数据没有清理应该是符合预期的

目前用户想清理数据的话:

  1. 看业务是否会有 drop table 或者 drop partition 之类的操作,在 drop 时会回收空间
  2. 使用 tiup 下线并清理 tiflash 节点

我们后续会做一下调整,会让tiflash自动清理磁盘数据