为什么备份容量会大于磁盘中实际容量?
常见现象
- 在云主机中存放了文件并进行了备份,删除文件后再次进行备份,备份的大小并没有较大变化或比之前的备份更大。
- ECS创建的备份比文件系统查询到的磁盘占用空间大。
原因分析
以下原因可能造成备份容量会大于磁盘中实际容量:
- 备份机制使然。云服务备份的云主机备份、云硬盘备份、SFS Turbo备份均为块级备份。块级备份不同于文件级备份,块级备份每次备份数据都是以一个扇区(512B)为单位来进行备份。
- 磁盘中的文件系统的元数据会占用磁盘空间。
- 文件系统为降低性能消耗,删除文件时只在文件属性中创建删除标记,但是未对扇区里已写入的数据进行擦除,扇区上的元数据仍然存在。块级备份无法感知到扇区内的数据是否删除,只能通过是否是全0数据块来判断此扇区是否要备份。
- 云服务备份系统会根据数据的写入情况,判断哪些数据产生了变化,这里的“变化”包括新增、修改和删除。云服务备份系统通过两次的快照对比每个扇区的数据是否发生了变化,没有变化则不备份。如果有变化,则判断是不是全0数据块,如果是全0数据块,则不会进行备份;如果是非全0数据块,则会进行备份。即使数据删除后,扇区内的元数据未删除,也会被识别为非0数据块,也会被备份。
解决方案
如您仅需对部分文件进行备份,可以使用相应的文件级别备份方案,以达到减小备份空间和降低成本的目的。
存储库存储容量不足怎么办?
当存储库存储容量超过上限后,系统将不会继续执行备份,不会出现新备份覆盖旧备份的情况。当存储库存储容量不足时,您可以采取以下措施:
- 前往目标存储库,手动删除不需要的备份。
- 如果还需要保留产生的备份,可以选择扩容存储库。
- 如果存储库绑定了备份策略,可以选择停止备份策略或从策略中解绑存储库,具体操作请参见停止备份策略和从策略中解绑存储库。停止后,自动备份将停止,存储库存储容量将不再变化。或可以将自动备份周期变长,减少策略保留备份数,减少绑定主机数。
为什么删除备份后存储库已用容量变化小?
常见现象:删除存储库中多余的备份后,存储库已用容量变化量很小,仅减少了1-2G。
原因分析:云服务备份的备份机制导致此类现象发生:
备份机制:
- 默认情况下,云服务备份对一个新的资源第一次进行全量备份,将备份资源已使用的数据块;后续进行永久增量备份,将备份上次备份之后变化的数据块。
- 每个增量备份都是一个虚拟的全量备份,多次备份后多个备份间有依赖关系的数据块以指针索引的方式引用。
- 删除某个备份数据(手动删除或者自动过期)时,仅删除它没有被其他备份数据所依赖的数据块。
存储库已使用容量为什么突然激增?
系统在备份时或不定期的会对依赖的历史数据做一些校验,当校验不通过时,为了备份数据更可靠,系统会单独对当前资源进行一次全量备份。一般校验不通过的场景包括单不限于校验时OBS 返回的异常,例如被流控,网络丢包或时延突然增大导致的读数据异常,EVS快照的读取异常等。由于用户没有设置周期性全量备份,所以上层下发备份指令是都是下发的增量备份,但底层做备份时校验历史数据时校验不通过则自动将备份任务转成了全量备份。界面上显示的增量和全量 ,是由上层下发的指令所决定。底层主动转的全量备份不会反向同步给上层,所以上层不感知也不会显示为全量备份。
存储库存储容量达到上限后,还会继续执行备份吗?
若存储库存储容量未达到上限但容量已不满足下次备份的容量,或刚好达到上限,仍可以继续成功执行一次备份。
当存储库存储容量超过上限后,系统将不会继续执行备份。
如何缩小存储库容量?
您可以直接通过“缩容”操作实现缩小存储库容量。目前只有按需计费的存储库支持缩容。
找到目标存储库,单击存储库所在列的“更多 > 缩容”。缩容后的容量不能小于已使用的容量。
如何调整存储库的容量告警阈值?
如果阈值设置不合理,请使用云监控服务CES修改存储库容量的告警阈值;如果需要删除或者扩容存储库,请参考相关章节完成操作即可。