rocH
2024 年9 月 11 日 17:17
#1
【 使用环境 】生产环境
【 OB or 其他组件 】oceanbase、ocp
【 使用版本 】oceanbase:4.2.1-8BP。 ocp:4.2.2
【问题描述】
已为租户设置备份自动清理配置
但实际查看,近1个月,备份使用量一直在每天增加
通过sys租户查看CDB_OB_BACKUP_DELETE_JOB_HISTORY 表。发现确实存在 备份清理任务记录
但是基本是1s就结束了
理论上来说,备份总使用量应该在 7天备份量上下波动,而不是一直增加。
是哪里有问题吗。 还是我理解错误
2 个赞
rocH
2024 年9 月 12 日 11:35
#5
今天再看存储量,降了··· 备份使用量变成了这个样子了
啥都没干~~
额昨晚新增了一个租户。也建了个备份策略
1 个赞
旭辉
2024 年9 月 12 日 13:49
#7
查下文件清理记录,然后统计下对应的OSS目录是否清理了,看你发的趋势图是正常的
select * from CDB_OB_BACKUP_DELETE_TASK_HISTORY;
1 个赞
rocH
2024 年9 月 12 日 17:58
#8
查询显示,隔7天才执行一次··· 这个不太对吧, 不是每天执行一次, 然后删除掉七天之前的吗
1 个赞
SELECT * FROM oceanbase.CDB_OB_BACKUP_DELETE_POLICY;
看看这个结果是什么。
1 个赞
OCP 这个备份空间展示逻辑设计的严重脱离了 DBA 的视角。
推测产品的逻辑是:
实时去查看当前幸存的备份,按照日期 group by with rollup 去展示。
所以当你备份保留7天,看到的数据就是从最早一天开始,每日备份的累积大小。
看看近 30天的备份,都是这样。
另外,据我观察(OCP 4.2.2)版本里 备份清理是 每小时调度一次,每次清理 7天前的备份。从你的第一个截图看也是一小时一次,并没有7天才跑一次。你第二个截图跟第一个不一样,很奇怪,你带上租户ID 再查一次看看。
此外 视图 CDB_OB_BACKUP_DELETE_JOB_HISTORY
的 列 type
和 parameter
的值跟文档里的定义也是脱节, 让人猜不透。
select tenant_id, job_Id, INCARNATION, type, parameter ,JOB_LEVEL, START_TIMESTAMP,END_TIMESTAMP,status, comment
from oceanbase.CDB_OB_BACKUP_DELETE_JOB_HISTORY
where tenant_id=1022
order by END_TIMESTAMP desc ;
oceanbase.CDB_OB_BACKUP_DELETE_JOBS-V4.2.2-OceanBase 数据库文档-分布式数据库使用文档
猜测 parameter
表示清理的备份的截止时间,那么不巧的就是从结果上看 最早的幸存的备份记录就比这个时间还早。
1 个赞
旭辉
2024 年9 月 13 日 15:13
#12
麻烦在ocp上看下 原来的 这个备份策略 截图发下,recovery_window并不一定总是保留最近7天的数据,有可能出现您这种情况,具体要看下备份策略
recovery_window 参数用于控制备份数据可恢复的时间窗口,以及作为判断备份数据是否过期的依据,例如,设置 recovery_window=‘7d’ 表示从当前时间起,7 天内的数据保证可恢复,且与这 7 天数据恢复无关的备份数据将被视为过期的数据。
通过 recovery_window 判断数据备份过期的方式: 比满足 “当前时间 - 备份时间点 >= recovery_window ” 条件的最新备份更早的所有备份均被视为过期。
1 个赞
旭辉
2024 年9 月 14 日 16:28
#14
比如今天是周四3点,要保证上周四3点到现在 期间任意时间点的数据可恢复,如果恢复上周四3点的数据,那么需要 上上周四 的全备份+周五,六,日的增量+上周一,二,三的增量+后续日志;
比如今天是周三3点,要保证上周三3点到现在 期间任意时间点的数据可恢复,如果恢复上周三3点的数据,那么同样需要 上上周四 的全备份+周五,六,日的增量+上周一,二的增量+后续日志;
比如今天是周二3点,要保证上周二3点到现在 期间任意时间点的数据可恢复,如果恢复上周二3点的数据,那么同样需要 上上周四 的全备份+周五,六,日的增量+上周一的增量+后续日志;
可知上上周四到现在的备份量只有增加,没有删除,即不是每天删除
比如今天是周五8点,要保证上周五8点到现在 期间任意时间点的数据可恢复,如果恢复上周五8点的数据,那么只需要 上周四 的全备份+周五的增量+后续日志,即不需要上上周四的全备份及其之后的增量备份,因此就可以执行删除了,实际上删除的时间应该是在你周四做完全备份后就会将上上周的周四至上周周四之间的备份删除了,
也就是7天执行一次删除操作
1 个赞