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

使用场景

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

快照还可以制作自定义镜像,在大量ECS实例中快速部署应用环境。

注意事项

说明 自2017年3月28日起,快照正式商业化并纳入收费服务,计费详情请参见快照计费方式
  • 创建快照可能会轻微降低云盘的性能,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. 使用DescribeInstances筛选云盘ID:
    aliyun ecs DescribeInstances --RegionId cn-hangzhou --InstanceId i-bp1afnc98r8k69XXXXXX --output cols=DiskId
  3. 使用CreateSnapshot根据云盘ID创建快照:
    aliyun ecs CreateSnapshot --DiskId d-bp19pjyf12hebpXXXXXX
    返回以下信息时,表示已成功发起创建任务:
    {"RequestId":"16B856F6-EFFB-4397-8A8A-CB73FAXXXXXX","SnapshotId":"s-bp1afnc98r8kjhXXXXXX"}
  4. 使用DescribeSnapshots查询快照创建状态。当"SnapshotId"="s-bp1afnc98r8kjhXXXXXX""Status":"accomplished"同时出现,表示快照已成功创建:
    aliyun ecs DescribeSnapshots --RegionId cn-hangzhou --InstanceId i-bp1afnc98r8k69XXXXXX --output cols=SnapshotId,Status

所需时间

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

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

下一步

创建快照后,您可以继续以下操作: