快照可以保留某一时间点的磁盘数据状态,常用于数据备份和制作自定义镜像。
使用场景
创建快照是极为重要的操作,在有操作风险的场景中,您可以提前创建快照备份数据。例如修改关键系统文件、实例从经典网络迁移至专有网络VPC、日常数据备份、实例误释放恢复、预防网络攻击、更换操作系统、为生产环境提供数据支撑和其他具有操作风险的场景。
快照还可以制作自定义镜像,在大量ECS实例中快速部署应用环境。
注意事项
说明
自2017年3月28日起,ECS快照正式商业化并纳入收费服务,计费详情请参阅快照计费方式。
- 创建快照可能会轻微降低磁盘的性能,I/O性能短暂变慢。您需要避开业务高峰。
- 快照只会备份某一时刻的数据,创建快照期间,操作磁盘产生的增量数据不会同步到快照中。
- 为保证成功创建快照,创建快照时,您不能修改ECS实例状态,比如停止或重启ECS实例。
- 创建快照时,实例必须处于运行中或已停止状态,磁盘必须处于使用中状态。
- 您自行创建的快照会一直保留,请定期删除不再需要的快照。避免快照容量持续扣费。
- 如果您使用多分区的单磁盘制作了扩展卷,创建的快照可以正常回滚磁盘。
- 使用多磁盘制作了动态扩展卷后,扩展卷中数据无I/O操作时,创建的快照可以正常回滚磁盘。如果扩展卷中一直有I/O操作,则回滚后的磁盘无法保证数据的完整性。
控制台操作步骤
在ECS管理控制台上通过实例页面创建快照的操作路径如下:
- 登录ECS管理控制台。
- 选择地域。
- 在左侧导航栏,单击实例。
- 找到需要创建快照的实例,单击管理。
5.单击左侧本实例磁盘,然后单击对应磁盘右侧的创建快照。一次只能选择一块磁盘,磁盘属性可以是系统盘和数据盘。
6.输入快照的名称,单击确定。
7.单击左侧本实例快照查看快照任务。您可以看到快照进度、预计剩余时间和快照状态。
您也可以通过存储 > 云盘页面的操作路径完成创建快照。
API操作步骤
本文API示例的调用工具为阿里云CLI。更多有关如何调用API的详情,请参阅 ECS API快速入门。
- 获取实例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
- 如果您已远程连接到ECS实例,可以通过实例元数据获取实例ID。例如Linux可以运行以下命令查询实例ID:
- 使用DescribeInstances筛选磁盘ID:
aliyun ecs DescribeInstances --RegionId cn-hangzhou --InstanceId i-bp1afnc98r8k69XXXXXX --output cols=DiskId
- 使用CreateSnapshot根据磁盘ID创建快照:
返回以下信息时,表示已成功发起创建任务:aliyun ecs CreateSnapshot --DiskId d-bp19pjyf12hebpXXXXXX
{"RequestId":"16B856F6-EFFB-4397-8A8A-CB73FAXXXXXX","SnapshotId":"s-bp1afnc98r8kjhXXXXXX"}
- 使用DescribeSnapshots查询快照创建状态。当
"SnapshotId"="s-bp1afnc98r8kjhXXXXXX"
和"Status":"accomplished"
同时出现,表示快照已成功创建:aliyun ecs DescribeSnapshots --RegionId cn-hangzhou --InstanceId i-bp1afnc98r8k69XXXXXX --output cols=SnapshotId,Status
所需时间
创建一份快照的所需时间主要取决于磁盘容量大小。
根据快照的增量原理,磁盘的第一份快照为全量快照,耗时较久。再次创建快照,相对耗时较短,但依然取决于和上一份快照之间的数据变化量。变化越大,耗时越久。