快照可以保留某一时间点的云盘数据状态,常用于数据备份和制作自定义镜像。

使用场景

创建快照是极为重要的操作,在有操作风险的场景中,您可以提前创建快照备份数据。例如修改关键系统文件、日常数据备份、实例误释放恢复、预防网络攻击、更换操作系统、为生产环境提供数据支撑和其他具有操作风险的场景。

快照还可以制作自定义镜像,在大量ECS实例中快速部署应用环境。具体操作请参见使用快照创建自定义镜像

注意事项

  • 创建快照涉及资源计费,计费详情请参见快照计费方式
  • 创建快照可能会轻微降低云盘的性能,I/O性能短暂变慢。您需要避开业务高峰。
  • 快照只会备份某一时刻的数据,创建快照期间,操作云盘产生的增量数据不会同步到快照中。
  • 为保证成功创建快照,创建快照时,您不能修改ECS实例状态,比如停止或重启ECS实例。
  • 创建快照时,资源的状态要求如下:
    • 实例必须处于运行中已停止状态。
    • 云盘必须处于使用中已过期状态。
      说明 若创建快照时已过期状态的云盘正好达到过期释放时间,云盘被释放的同时也会删除创建中Creating)的快照。
  • 您自行创建的快照会一直保留,请定期删除不再需要的快照。具体操作请参见优化快照使用成本避免快照容量持续扣费。
  • 如果您使用多分区的单云盘制作了扩展卷,创建的快照可以正常回滚云盘。具体操作请参见使用快照回滚云盘
  • 使用多云盘制作了动态扩展卷后,扩展卷中数据无I/O操作时,创建的快照可以正常回滚云盘。如果扩展卷中一直有I/O操作,则回滚后的云盘无法保证数据的完整性。

控制台操作步骤

在云服务器ECS管理控制台上通过实例页面创建快照的操作路径如下:
  1. 登录ECS管理控制台
  2. 在左侧导航栏,选择实例与镜像 > 实例
  3. 在顶部状态栏处,选择地域。
  4. 找到需要创建快照的实例,单击管理

  5. 单击左侧本实例磁盘,然后单击对应云盘右侧的创建快照。一次只能选择一块云盘,磁盘属性可以是系统盘和数据盘。

  6. 输入快照的名称,单击确定

  7. 单击左侧本实例快照查看快照任务。您可以看到快照进度和快照状态。

您也可以通过存储与快照 > 云盘页面的操作路径完成创建快照。

API操作步骤

本文API示例的调用工具为阿里云CLI。更多有关如何调用API的详情,请参见ECS API快速入门
  1. 获取实例ID。
    • 如果您已远程连接到ECS实例,可以通过实例元数据获取实例ID。例如Linux实例可以运行以下命令查询实例ID:
      curl http://100.100.100.200/2016-01-01/meta-data/instance-id
    • 在本地计算机中,您可以通过DescribeInstances获取实例ID:
      aliyun ecs DescribeInstances --output cols=InstanceId,InstanceName
  2. 使用DescribeDisks筛选云盘ID:
    aliyun ecs DescribeDisks --RegionId <TheRegionId> --InstanceId 'i-0xi1ioe********166cq' --output cols=DiskId
  3. 使用CreateSnapshot根据云盘ID创建快照:
    aliyun ecs CreateSnapshot --DiskId d-bp19pjyf12hebp******
    返回以下信息时,表示已成功发起创建任务:
    {"RequestId":"16B856F6-EFFB-4397-8A8A-CB73FA******","SnapshotId":"s-bp1afnc98r8kjh******"}
  4. 使用DescribeSnapshots查询快照创建状态。当"SnapshotId"="s-bp1afnc98r8kjh******""Status":"accomplished"同时出现,表示快照已成功创建:
    aliyun ecs DescribeSnapshots --RegionId cn-hangzhou --InstanceId i-bp1afnc98r8k69****** --output cols=SnapshotId,Status

所需时间

创建一份快照的所需时间主要取决于云盘容量大小。

根据快照的增量原理,云盘的第一份快照为全量快照,耗时较久。再次创建快照,相对耗时较短,但依然取决于和上一份快照之间的数据变化量。变化越大,耗时越久。详情请参见原理介绍

下一步