目录
为什么需要周期全量备份
YS1000默认是基于restic的去重算法实现的永久增量的方式进行备份,基本原理如下图所示:
其中,第一天的备份由于是第一次,可以认为是一个全量备份,以后的每一天都是增量的方式进行备份。以上这个例子也可以看成是一个备份频率是1天1备,留存时间是14天的备份。到了第15天,YS1000会删掉第一天的restic snapshot,逻辑上第二天的备份会形成一个全量的snapshot:
因此,永久增量的备份也可以看成是在一定窗口(等于备份的留存时间)内不断滑动的备份数据链,并且只有第一次是一个全量的备份,后面所有的备份都是一个增量的拷贝。在这种情况下,如果某一个备份出现了数据损坏,那么就会造成整个链条的不可用。下图是一个示例:
这里假如第二天的备份出现了数据损坏,但是没有及时发现,那么后面所有的备份都有可能会引用到坏数据块,而造成整个备份数据链的损坏。因此,有些用户会对永久增量方式的备份会有担心,希望有传统备份的全量备份功能,可以定期的进行全量备份,从而把备份链条维持的更短。
什么是周期全量备份
周期全量备份是指在一定周期内,第一次是全量备份,周期内的其他备份还是增量备份。周期全量备份可以维护更短的备份数据链,极端情况就是每一次备份都是全量,常用的周期可能是每周,或者每月。下图是一个每周为单位的周期全量备份:
如上图所示,第一天是一个全量备份,之后6天都是增量备份。到了第七天,又是一个全量备份,这样就会形成一个新的备份数据链。因此,本质上来说,永久增量的备份只需要管理一个备份数据链,而全量备份则需要根据全量的周期来管理多个备份数据链。当一个数据链因为一些意外情况损坏时,并不会影响到新的数据链。
永久增量与周期全量的比较
从前面两节的描述可以进一步总结出永久增量方式备份和周期全量方式备份的一些特点:
永久增量:
- 备份数据链的管理成本比较低
- 对存储数据空间要求比较低
- 数据损坏可能会导致整个备份数据链的损坏,因此对每份备份数据有校验的需求
周期全量:
- 要维护多个备份数据链
- 对存储数据空间的要求会高一些
- 数据损坏在不同备份数据链会有隔离
使用YS1000进行周期全量备份
YS1000银数多云数据管家v2.10新增了周期全量备份功能,只需要简单几步就能对容器应用进行周期的全量备份。
- 创建一个新的周期全量的备份策略"test-full"
在“备份策略”页面, 点击“创建备份策略”,选择备份方法为周期全量,并选择周期单位是“周”,周期数量“2”,然后其他都默认配置,点击“保存”,这样就创建了一个每两周单位的一个全量备份策略。
- 创建一个新的备份计划,选择刚刚创建的备份策略“test-full”
在“集群应用备份”页面,点击“创建应用备份”,选择好备份的集群和应用之后,在“备份策略”栏选择备份策略“test-full”,然后点击“下一步”直到创建完成。
- 执行这个备份任务
创建完备份计划之后,在备份计划的右侧操作栏,点击“备份”,就可以立即执行这个备份。
- 在S3对象存储Web服务端查看新备份的数据
备份完成后,可以登录S3对象存储的Web服务端,来查看刚刚执行的全量备份的数据,例如:
在S3对象存储桶中,可以看到全量备份的对象存储目录会以<集群名><备份任务名><特殊后缀>的形式创建出来,目录中会有应用的资源备份和数据备份。
总结
周期全量备份是企业级备份软件的常用功能,用户在规划应用的备份计划时,可以根据应用的类型、数据量、数据的重要性、合规等因素来制定每个应用的备份策略。对于备份周期比较频繁,留存时间又相对较长的应用数据,可以考虑使用周期全量的备份策略,以维护更短的备份数据链。