云硬盘的快照总容量以快照链(一块云硬盘中所有快照组成的关系链)为单位进行统计,统计当前云硬盘所有快照的数据块占用的存储空间。
- 快照链增加快照容量计算
图1 快照链增加快照
以图1中的场景为例,假设快照的数据块为固定大小2MiB,那么快照链增加快照后的容量计算如下:
- 创建快照1时,云硬盘的快照链中仅有快照1,快照链容量 = 快照1容量 = 数据块A容量 + 数据块B容量 + 数据块C容量 = 6MiB
- 创建快照2时,云硬盘的快照链中有快照1、快照2,快照链容量 = 快照1容量 + 快照2容量 = 6MiB + (数据块A1容量 + 数据块B1容量 + 数据块D容量)= 12MiB
- 创建快照3时,云硬盘的快照链中有快照1、快照2、快照3,快照链容量 = 快照1容量 + 快照2容量 + 快照3容量 = 6MiB + 6MiB +(数据块A2容量 + 数据块C1容量 + 数据块E容量)= 18MiB
- 快照链删除快照容量计算
删除快照时,会遍历快照元数据文件中的所有数据块信息,遵循以下删除原则:
- 数据块被下一个快照继承,该数据块不能删除。
- 数据块没有被下一个快照继承:
- 继承数据块:如果上一个快照未被删除,那么该继承数据块不能删除;否则可以删除。
- 修改数据块:可以删除。
- 新增数据块:可以删除。
图2 快照中的数据块删除原则
以下通过举例说明删除快照后快照链容量计算。
图3 快照链删除快照
以图3中的场景为例,在14:00删除快照2,在15:00删除快照3,那么快照链删除快照后的容量计算如下: