创建快照组

最近更新时间: 2024-06-12 15:06:00

操作场景

您可以使用快照一致性组,为一台实例中的多块云盘同时创建快照。

前提条件

  • 您已经成功创建云服务器。

  • 当前地域内您的快照个数和总容量未达最大值,详细信息请参考快照使用限制

注意事项

快照仅保留硬盘上该时刻已经写入的数据,不会保留该时刻在内存中未写入硬盘的数据(例如,Linux 系统 /run 目录下的文件)。强烈建议您在创建快照前关机或确保内存数据已写入硬盘并暂停硬盘读写,并从以下两方面进行操作:

  • 数据库层面

    对于数据库类型业务,建议先将数据库中所有表锁定为只读状态,防止在创建快照时有新数据写入,造成新数据无法被快照捕获。本文以 mysql 为例,进行如下操作:

    执行 FLUSH TABLES WITH READ LOCK 命令关闭所有打开的表,并使用全局读锁锁定所有数据库的所有表。如下图所示:

    对云硬盘创建快照。

    执行 UNLOCK TABLES 解除锁定。如下图所示:

  • 系统层面

    从系统角度而言,数据在处理过程中通常先存放在内存缓冲区,等到适当的时候再写入云硬盘,以提高系统的运行效率。因此,在创建快照时,存在缓冲区中尚未写入云硬盘的数据将无法被写入快照以及从快照中恢复,对数据一致性产生影响。

    执行 sync 命令,将文件系统内存缓冲区中的数据强制立刻写入云硬盘内,且在创建快照前避免写入新数据。

    执行命令后无错误信息返回,即缓存中的数据已写入云硬盘内。如下图所示:

操作步骤

使用控制台创建快照组

  1. 登录云服务器控制台。

  2. 在【云主机】页面,单击目标实例所在行右侧的【创建快照组】。

  3. 在弹出的【创建快照组】对话框中,输入快照名称,并单击【确定】。

使用 API 创建快照组

您可以使用 CreateSnapshotGroup 接口创建快照组。