存储磁盘占用和show data的结果差距很大

【详述】存储占用预警,通过命令show data;发现占用达到预警还差很多,在主机上用df -lh 发现比show data;大很多,我是每个节点1T存储,show data;的结果平均600G左右,df -lh 的结果900多G了,不知道那300多G是怎么占用的,还是说 show data统计的不准。
【背景】
【业务影响】
【StarRocks版本】2.4.3
【集群规模 】3fe+4be(fe与be分开部署)
【机器信息】16C/64G/万兆

你看下storage目录下的trash目录和data目录分别多大

trash 是0.数据都在data下面

麻烦贴下show data以及df -h的截图。并到对应目录下,du -sh *一层层看下具体每个子目录占用的磁盘空间大小。

以一个表举例吧,show data 显示33G,我drop 掉后,释放出接近100多G的空间。


可以找个大表,

  1. 通过show tablet from big_table;找一个相对较大的tablet,比如说2873272
  2. 到对应be的存储目录data下执行find . -type d -name 2873272找到tablet对应的目录,比如说./87/2873272
  3. 通过du -sh ./87/2873272看下统计信息里tablet的大小和时间磁盘空间占用的差距是不是比较大
1赞

我之前做过反向操作,就是找磁盘目录里面有tablet 占用存储很大的,show tablet xxx后,在fe http界面上根据信息找到对应的表对应的分区,发现没有这个tablet

正常来说show data和磁盘占用的结果会有延迟,但不会相差很多的。能贴个case吗


1690351873004_BAA8677F-4A4E-499e-A4CA-BB2B1FE22EC3
1690351883959_8CE012BB-3445-4446-A884-3E9864E77AC6
1690351891680_AB61E78F-AA84-43f6-B60F-55BC8C675110
竟然没有

trash目录有吗?4个be节点都没有?

没有,trash没有,因为我这个是正常的表,没有删除

路径对吗?没有tablet数据文件怎么查的 :anguished:

路径是对的,fe http 界面上能找到这个tablet,但是磁盘里面没有找到这个tablet对应的目录

要不加我下微信截图全一些我看下呢

你的微信是多少?

请问问题解决了吗? 我这也有同样的问题。3个be节点show backends 显示的DataUsedCapacity都在150GB左右。但是有2个节点利用率很高,data目录确实显示240GB左右,远大于SR报告的容量。怀疑是否存在数据表drop、truncate时存在泄露?

问题应该是出在这张表上,有一个分片数据只有900M 但是磁盘空间120G。里面几百个dat文件
fe0932c631c4323a1595e4d2a866e45
a9eda000d41cef335f1e0e069692f92

drop掉这张表以后,磁盘利用率就正常了

这是一个bug吗?

这个表是分区表吗?之前异常的时候这个表有做过比如drop、truncate之类的操作吗?

请问,你是怎么发现的?排查思路是什么,我们的表太多了。也不知道具体是哪个表导致的