快照是一种无代理(Agentless)的数据备份方式,支持为系统盘或者数据盘创建崩溃一致性快照。快照常用于日常数据备份、实例误释放恢复、制作自定义镜像等场景。在回滚云盘、修改关键系统文件、更换操作系统前,您可以提前创建快照,提高操作容错率。

前提条件

云盘必须处于使用中待挂载状态。不同状态下的注意事项如下:
  • 如果云盘处于使用中的状态,则实例必须处于运行中已停止状态。
  • 如果云盘处于待挂载的状态,则需要保证云盘有过挂载到ECS实例的历史操作。从未挂载过ECS实例的云盘不支持创建快照。

背景信息

创建快照所需时间为分钟级别,并取决于云盘实际写入数据的容量大小。云盘的第一份快照为全量快照,耗时较久。再次创建快照,相对耗时较短,但依然取决于和上一份快照之间的数据变化量。变化越大,耗时越久。

创建快照时,请注意:
  • 您不能修改ECS实例状态,如停止或重启ECS实例。
  • 快照涉及资源计费。更多信息,请参见快照计费
  • 创建快照应避开业务高峰期。创建快照时,云盘I/O性能降低10%以内,读写性能出现短暂瞬间变慢。
  • 创建快照期间,操作云盘产生的增量数据不会备份到快照中。
  • 如果您使用多分区的单云盘制作了扩展卷,创建的快照可以正常回滚云盘。
  • 当云盘被用作创建动态扩展卷或者RAID阵列时,建议您使用快照一致性组并开启应用一致性快照。更多信息,请参见创建快照一致性组通过控制台创建应用一致性快照
  • 您自行创建的快照会一直保留,请定期删除不再需要的快照,避免快照容量持续扣费。

本文介绍如何为单个云盘创建快照。如果您需要为一台或多台ECS实例中的多块云盘同时创建快照,请参见创建快照一致性组。快照一致性组能够保证在业务系统跨多块云盘的场景下,数据写入云盘的时序一致性,并保证其崩溃一致性。

在控制台上创建快照

在云服务器ECS管理控制台上通过实例页面创建快照的操作步骤如下。

  1. 登录ECS管理控制台
  2. 在左侧导航栏,选择实例与镜像 > 实例
  3. 在顶部菜单栏左上角处,选择地域。
  4. 找到需要创建快照的实例,单击实例ID。
  5. 实例详情页,单击云盘页签。
  6. 找到要创建快照的云盘,在操作列单击创建快照
  7. 在弹出的创建云盘快照对话框中,设置快照参数,然后单击确定
    参数 说明
    云盘快照名称 设置快照的名称。
    快照类型 选择创建标准快照或者创建极速可用快照
    • 创建标准快照:分钟级创建时间,取决于容量大小,首次创建耗时较久。创建快照后,系统根据快照容量大小、按每个地域单独结算费用。
    • 创建极速可用快照:秒级创建快照,仅支持ESSD云盘。极速可用快照除了快照存储费用,还会产生快照极速可用费用。

    不同快照的计费规则请参见快照计费

    保留时间 设置快照的保留天数,永久保留或者自定义保留天数。
    快照极速可用

    设置快照极速可用的使用天数,到期后自动关闭快照极速使用功能。仅在快照类型选择创建极速可用快照时需要设置。

    说明 极速可用时间不能超过保留时间。
    标签 设置标签,将快照归类,便于搜索与批量操作。
    资源组 设置资源组,对快照进行分级管理。
  8. 单击确定
    创建完成后,您可以在实例详情页单击快照页签,查看已创建的快照。

您也可以在左侧导航栏中选择存储与快照 > 云盘页面,创建云盘快照。

通过阿里云CLI创建快照

  1. 获取实例ID。
    • 方式一:如果您已远程连接到ECS实例,可以通过实例元数据获取实例ID。具体操作,请参见实例元数据
      例如Linux实例可以运行以下命令查询实例ID。
      curl http://100.100.100.200/2016-01-01/meta-data/instance-id
    • 方式二:通过阿里云CLI调用DescribeInstances获取实例ID。
      aliyun ecs DescribeInstances --RegionId <TheRegionId> --output cols=InstanceId,InstanceName rows=Instances.Instance[]
  2. 调用DescribeDisks筛选云盘ID。
    aliyun ecs DescribeDisks --RegionId <TheRegionId> --InstanceId i-bp1afnc98r8k69****** --output cols=DiskId rows=Disks.Disk[]
  3. 调用CreateSnapshot根据云盘ID创建快照。
    aliyun ecs CreateSnapshot --DiskId d-bp19pjyf12hebp******
    返回以下信息时,表示已成功发起创建任务。
    {"RequestId":"16B856F6-EFFB-4397-8A8A-CB73FA******","SnapshotId":"s-bp1afnc98r8kjh******"}
  4. 调用DescribeSnapshots查询快照创建状态。
    aliyun ecs DescribeSnapshots --RegionId cn-hangzhou --InstanceId i-bp1afnc98r8k69****** --output cols=SnapshotId,Status rows=Snapshots.Snapshot[]
    "SnapshotId"="s-bp1afnc98r8kjh******""Status":"accomplished"同时出现,表示快照已成功创建。

后续步骤