ob数据存储占用、日志占用空间很大

【 使用环境 】生产环境
【 使用版本 】4.2.0_CE
【问题描述】

  1. ob配置文件内容:
    datafile_size: 32G # Size of the data file.   
    log_disk_size: 40G # The size of disk space used 
  1. 查看本地占用
    observer下的目录
124K	admin
4.0K	audit
16K	bin
11M	etc
12K	etc2
12K	etc3
4.0K	lib
2.4G	log
8.0K	run
73G	store

store下的目录:

41G	clog
2.3M	slog
33G	sstable

【问题】

  1. 数据空间配置的32G,为何store数据存储超过达到72G
  2. 数据、日志如何缩减空间占用?其机制预占用是怎么个机制?
  1. store 里有 datafile 和 logfile 两个目录,33G 的 sstable 是 datafile,41G 的 clog 是 logfile。一共加起来是七十几个 G,看上去是符合预期的。

  2. 这个是两个问题:
    (1)data 数据是预分配的,不能缩减占用,建议一上来先少分配一些空间,然后通过 datafile_next、datafile_maxsize 配置项完成磁盘文件的动态扩容。详见:OceanBase分布式数据库-海量数据 笔笔算数
    (2)clog 是循环利用的,可以缩减,手动调小 log_disk_size 就好了。

2 个赞

2.4G log
– log下的操作日志,这块有什么精简机制操作吗

这个 log 是数据库运行的日志,用来排查故障用的,不是事务提交日志 clog。

如果一段时间里没遇到啥问题的话,可以随手写个定时脚本定期清理下(我就是这样做的)。

或者调整一下日志级别,例如把 INFO 级别调整成 ERROR 级别啥的,这样可以少打一些日志。

1 个赞

log可否设置完全不要打印,在需要的时候,再打开调试??

意思是把log日志关闭?

是的
在出问题的时候,再打开日志打印

不建议这样做,出了问题再打开就来不及了,把日志级别调高就好了

这个明白,我们会根据业务进行调整日志等级。
如果真要关闭,需要如何操作??

控制日志的方式
把日志级别调到ERROR就好了。

这个好像关不了,把日志级别调整成 error 就近似于关闭了。
打出的 error 日志都是非常严重且必须关注的东西,为了省那一点儿空间去关 error 日志是得不偿失的。

2 个赞