更新时间:2024-09-24 GMT+08:00

云硬盘快照功能概述

简介

云硬盘快照是指云硬盘数据在某个时刻的完整拷贝或镜像,是一种重要的数据容灾手段,当数据丢失时,可通过快照将数据完整的恢复到创建快照的时间点。

云硬盘快照当前正在逐步按区域进行公测转商用,所以不同区域会存在公测(存量快照)、商用(标准快照)两种状态。不同状态下,快照功能存在差异。您在已经转为商用快照的区域创建的快照默认为标准快照。

  • 商用(标准快照)区域:华东二
  • 公测(存量快照)区域:除华东二的其他区域
表1 功能介绍

功能介绍

说明

参考文档

创建快照

支持创建单个快照),保存指定时刻的云硬盘数据。

说明:

快照为只读属性,当快照创建完成后,快照中的数据将无法进行任何修改。

创建云硬盘快照

回滚数据

如果云硬盘的数据发生错误或者损坏,可以回滚快照数据至创建该快照的云硬盘,从而恢复数据。

使用快照回滚数据至云硬盘

使用快照创建云硬盘

通过快照创建新的云硬盘,可以快速将快照中的数据复制给新的云硬盘。

使用快照创建云硬盘

使用快照极速可用功能

云硬盘中存储的数据越多,创建标准快照所用的时间就越长。快照极速可用功能可实现快照创建中可用,支持使用创建中的快照回滚数据和创建云硬盘,且回滚数据和创建云硬盘速度较快。

开启/关闭云硬盘快照极速可用功能(适用于商用快照)

查看快照信息

查看快照容量包含:查看某个云硬盘下的所有快照总容量(快照链容量)、查看指定时间段内的快照总容量、查看当前账号在指定区域下的快照总容量。

查看快照详情包括:所属区域和可用区、所属的云硬盘信息、快照的标签、企业项目等信息。

查看云硬盘快照容量(适用于商用快照)

查看云硬盘快照详情

删除快照

当不再使用快照或快照数量超过配额时,可以删除部分快照以释放存储空间。

删除云硬盘快照

计费

存量快照不收费,您可以免费使用

标准快照收费,请参见快照计费说明

使用场景

快照功能可以帮助您实现以下需求:

  • 日常备份数据

    通过对云硬盘定期创建快照,实现数据的日常备份,可以应对由于误操作、病毒以及黑客攻击等导致数据丢失或不一致的情况。

  • 快速恢复数据

    应用软件升级或业务数据迁移等重大操作前,您可以创建一份或多份快照,一旦升级或迁移过程中出现问题,可以通过快照及时将业务恢复到快照创建点的数据状态。

    例如,当由于云服务器A的系统盘A发生故障而无法正常开机时,由于系统盘A已经故障,因此也无法将快照数据回滚至系统盘A。此时您可以使用系统盘A已有的快照新创建一块云硬盘B并挂载至正常运行的云服务器B上,从而云服务器B能够通过云硬盘B读取原系统盘A的数据。

    当前通过快照回滚数据,只支持回滚快照数据至源云硬盘,不支持快照回滚到其它云硬盘。

  • 快速部署多个业务

    通过同一个快照可以快速创建出多个具有相同数据的云硬盘,从而可以同时为多种业务提供数据资源。例如数据挖掘、报表查询和开发测试等业务。这种方式既保护了原始数据,又能通过快照创建的新云硬盘快速部署其他业务,满足企业对业务数据的多元化需求。

快照原理

存量快照和标准快照不同,标准快照是将备份数据存储在OBS中,而存量快照是建立一种快照与数据的关联关系,详情参见标准快照与存量快照的区别

以通过云硬盘v1在不同时刻创建快照s1和s2为例:
  1. 首先创建一个全新的云硬盘v1,没有任何数据。
  2. 在云硬盘v1中写入数据d1和d2,此时使用新的数据空间存储d1和d2。
  3. 为步骤2中修改后的云硬盘v1创建快照s1,此时并不会去另存一份数据d1和d2,而是建立快照s1与数据d1和d2的关联关系。
  4. 在云硬盘v1中新写入数据d3,并将数据d2修改成d4,此时会使用新的数据空间存储d3和d4,并不会覆盖原有的d2数据。快照s1到数据d1和d2的关联关系仍然有效,因此如果有需要,可以通过快照s1恢复原数据。
  5. 为步骤4修改后的云硬盘v1创建另一个快照s2,建立快照s2到数据d1、d3和d4的关联关系。
    图1 快照原理

标准快照是以数据块作为快照数据备份的最小粒度,快照分为全量快照增量快照。为云硬盘创建的第一个快照为全量快照,全量快照包含创建快照时间点前云硬盘上的所有数据(数据块);后续创建的快照均为增量快照,增量快照仅存储较上一个快照有变化的数据块。

全量快照和增量快照的元数据文件中会记录快照创建时间点前的所有数据块信息,因此通过任何一个快照回滚数据至云硬盘时,均可以恢复创建快照时间点前的所有云硬盘数据。

图2 创建快照原理图

根据数据块的来源区分,快照元数据文件中包含三类数据块:继承数据块(继承于上一个快照的数据块)、修改数据块(较上一个快照有修改的数据块)、新增数据块(较上一个快照新增的数据块)。

快照的数据文件中只会存储较上一个快照有变化的数据块(修改数据块、新增数据块)。

如图所示,假设云硬盘在9:30和10:30均有数据写入,为了备份数据,在9:00创建快照1,在10:00创建快照2,在11:00创建快照3,创建快照原理如下:

  • 9:00首次创建快照,快照1中包含云硬盘的所有数据,其中的数据块有A、B、C,快照1为全量快照。快照1的元数据文件中会记录云硬盘全量的数据块A、B、C。
  • 随后写入数据,修改数据块A为A1,修改数据块B为B1,新增数据块D,10:00创建快照2,仅存储较快照1有变化的数据块A1、B1、D,快照2为增量快照。快照2的元数据文件中会记录云硬盘全量的数据块A1、B1、C、D,其中数据块C继承于快照1。
  • 随后写入数据,修改数据块A1为A2,修改数据块C为C1,新增数据块E,11:00创建快照3,仅存储较快照2有变化的数据块A2、C1、E,快照3为增量快照。快照3的元数据文件中会记录云硬盘全量的数据块A2、B1、C1、D、E,其中数据块B1、D继承于快照2。

云硬盘的快照总容量以快照链(一块云硬盘中所有快照组成的关系链)为单位进行统计,统计当前云硬盘所有快照的数据块占用的存储空间。

  • 快照链增加快照容量计算
    图3 快照链增加快照

    图3中的场景为例,假设快照的数据块为固定大小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
  • 快照链删除快照容量计算

    删除快照时,会遍历快照元数据文件中的所有数据块信息,遵循以下删除原则:

    • 数据块被下一个快照继承,该数据块不能删除。
    • 数据块没有被下一个快照继承:
      • 继承数据块:如果上一个快照未被删除,那么该继承数据块不能删除;否则可以删除。
      • 修改数据块:可以删除。
      • 新增数据块:可以删除。
    图4 快照中的数据块删除原则

    以下通过举例说明删除快照后快照链容量计算。

    图5 快照链删除快照

    图5中的场景为例,在14:00删除快照2,在15:00删除快照3,那么快照链删除快照后的容量计算如下:

    • 删除快照前,快照链容量 = 快照1容量 + 快照2容量 + 快照3容量 = 18MiB
    • 14:00删除快照2,遍历快照2元数据文件中的所有数据块信息:
      • 数据块A1:没有被快照3继承,且为快照1中的数据块A修改而来(修改数据块),因此数据块A1可以删除。
      • 数据块B1:被快照3继承,数据块B1不能删除。
      • 数据快C:没有被快照3继承,但继承于快照1(继承数据块)且快照1未被删除,因此数据块C不能删除。
      • 数据块D:被快照3继承,因此数据块D不能删除。

      删除快照2后,快照链容量 = 18MiB - 数据块A1容量 = 16MiB

    • 15:00删除快照3,遍历快照3元数据文件中的所有数据块信息:
      • 数据块A2:没有被下一快照继承,且为快照2中的数据块A1修改而来(修改数据块),因此数据块A2可以删除。
      • 数据块B1:没有被下一快照继承,但继承于快照2且快照2已被删除,因此数据块B1可以删除。
      • 数据快C1:没有被下一快照继承,且为快照2中的数据块C修改而来,因此数据块C1可以删除。
      • 数据块D:没有被下一快照继承,但继承于快照2且快照2已被删除,因此数据块D可以删除。
      • 数据块E:没有被下一快照继承,且为快照3新增数据块,因此数据块E可以删除。

      删除快照3后,快照链容量 = 16MiB - 数据块A2容量 - 数据块B1容量 - 数据块C1容量 - 数据块D容量 - 数据块E容量 = 6MiB

云硬盘备份与快照的区别

云硬盘备份以及快照为存储在云硬盘中的数据提供冗余备份,确保高可靠性,两者的主要区别如表2所示。

表2 备份和快照的区别

指标

存储方案

数据同步

容灾范围

业务恢复

备份

与云硬盘数据分开存储,存储在对象存储(OBS)中,可以实现在云硬盘存储损坏情况下的数据恢复。

保存云硬盘指定时刻的数据,可以设置自动备份。如果将创建备份的云硬盘删除,那么对应的备份不会被同时删除。

与云硬盘位于不同AZ内

通过恢复备份至云硬盘,或者通过备份创建新的云硬盘,找回数据,恢复业务。数据持久性高。

存量快照

与云硬盘数据存储在一起

说明:

备份由于数据搬迁会耗费一定的时间,创建快照和回滚快照数据的速度比备份快。

保存云硬盘指定时刻的数据。如果将创建快照的云硬盘删除,那么对应的快照也会被同时删除。重装操作系统或切换操作系统后,系统盘快照会自动删除;数据盘快照不受影响,可以照常使用。

与云硬盘位于同一个AZ内

通过回滚快照至云硬盘,或者通过快照创建新的云硬盘,找回数据,恢复业务。

标准快照

与云硬盘数据分开存储,存储在对象存储(OBS)中,可以实现在云硬盘存储损坏情况下的数据恢复。

保存云硬盘指定时刻的数据,如果将创建快照的云硬盘删除,对应的快照不会被同时删除。

与云硬盘位于不同AZ内

通过回滚快照至云硬盘,或者通过快照创建新的云硬盘,找回数据,恢复业务。数据持久性高。