oceanbase集群化部署,用了不到一个月,block_file文件大小为3T左右,而且业务数据库占用不到100GB,请问是什么占用了磁盘

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】oceanbase集群化部署,用了不到一个月,block_file文件大小为3T左右,而且业务数据库占用不到100GB,请问是什么占用了磁盘?
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

磁盘占用空间截图:

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

2 个赞

根据您的描述,看起来 OceanBase 集群中 block_file 文件占用的空间远大于实际业务数据所需的存储空间,这可能是由于多种原因引起的,如过期的快照未清理、冗余的副本、日志文件过大、或者是某些后台操作占用了额外的空间等。为了更准确地定位问题,可以使用 obdiag 工具来收集相关日志信息。

推荐使用 obdiag 工具进行日志采集,并且将采集到的日志提供给我们以便确认问题所在。
日志采集场景: 内存问题
日志采集命令: obdiag gather scene run --scene=observer.memory

另外,为了确定具体的问题,在此需要您提供一些信息:

  1. 集群中是否有正在进行的大规模数据写入或读取操作?
  2. 是否定期执行了快照清理操作?
  3. 是否有配置了较多的副本数?
  4. 系统中是否有异常的日志文件生成速度?
  5. 您是否有使用任何特定的功能或设置,比如归档日志等?
  6. 最近是否有对系统配置或架构进行过调整?

请您根据以上命令采集日志,并提供日志压缩包,我们将进一步分析以确定原因。

附上敏捷诊断工具 obdiag 使用帮助链接

3 个赞

block_file 是 oceanbase建集群后使用的数据文件,这个文件是预占用的空间,目前不支持缩容,但可以动态扩容, 配置项 datafile_disk_percentage 用于设置数据文件占用其所在磁盘总空间的百分比,建议在创建集群时,datafile_disk_percentage设置的小一些,后面使用可以动态扩容。如果不设置这个参数,使用默认配置(datafile_size和datafile_disk_percentage 都是0),则数据文件(block_file)与 Redo 日志分别占用其所在磁盘总空间的 90%。

5 个赞

注意参数只能往大调整,无法回缩

2 个赞

是不是删除操作很多

1 个赞

感谢分享!!

1 个赞

裂隙数据较大吗

1 个赞

你不缩一下怎么知道他行不行呢 :face_with_peeking_eye: