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

使用场景

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

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

注意事项

  • 创建快照可能会轻微降低磁盘的性能,I/O性能短暂变慢。您需要避开业务高峰。
  • 快照只会备份某一时刻的数据,创建快照期间,操作磁盘产生的增量数据不会同步到快照中。
  • 为保证成功创建快照,创建快照时,您不能修改ECS实例状态,比如停止或重启ECS实例。
  • 创建快照时,实例必须处于运行中已停止状态,磁盘必须处于使用中状态。
  • 您自行创建的快照会一直保留,请定期删除不再需要的快照。
  • 如果您使用多分区的单磁盘制作了扩展卷,创建的快照可以正常回滚磁盘
  • 使用多磁盘制作了动态扩展卷后,扩展卷中数据无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

所需时间

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

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

下一步

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