Nebula 其中一个分片wal不按照wal_ttl规定删除

  • nebula 版本:3.4.1
  • 部署方式:分布式
  • 安装方式: RPM
  • 是否上生产环境:Y
  • 硬件信息
    • 磁盘 SSD
    • CPU、内存信息 26核 512GB
  • 问题的具体描述
    生产上一个由6台物理服务器组成的nebula集群,目前集群中只有一个图空间,此图空间分片数为60。发现其中一个节点存储比其他节点明显大几乎一倍。查看节点存储后发现其中一个分片的wal一直没被自动清理,也就是wal_ttl不生效。请问该如何处理?

此节点正常分片的wal

此节点未能正常删除wal的分片

此节点wal_ttl的配置

看 wal 的日志是 4 小时过期,这里已经过了 4 小时是么?

如图2所示,有问题的分片从23年11月直到现在所有wal日志都没删除。

你 show hosts 看下,看下目前的图空间分布;

比如此时的 storage1 是你有问题的 partition 所在的机器,然后你找到这个机器所有的图空间数据,分别去这些图空间执行下 SHOW PARTS

看下这个分别是不是有数据在上面,没有的话重启下机器,可能就清理掉 wal 日志了。

有问题的partition所在机器是有数据在上面的。是否按照你说的重启就可能清理掉wal日志?另外这个重启是指重启storage服务吗?

是的,以防万一最好数据备份下再操作 。

重启storage需要备份吗?目前nebula集群是配了3副本的,应该不需要备份把?另外如果说storage重启后还是没触发wal清理是否需要手动删除。

wal自动清理这块有在日志里体现吗?如果有的话日志关键字是什么?谢谢

刚咨询过研发,他是说你重启的话,理论上这个日志会被清理的。:thinking: 我让他空了再来帖子里补充下注意事项。

生产上重启此节点后,wal日志还是没正常清理。请问还有什么方法可以解决吗。