您可以使用快照组同时为一台 CVM 实例的多个云硬盘创建快照。这种方式确保了当您的业务跨多个云硬盘部署时,数据写入云硬盘的时序一致性和崩溃一致性得到保障。
注意:
前提条件
当前地域内您的快照个数和总容量未达最大值,详细信息请参见 快照使用限制。
CVM 实例状态为运行中或已关机,云硬盘挂载在云服务器实例上,状态为使用中。
注意事项
创建的快照大小可能会比硬盘的实际数据量大,具体原因请参见 快照相关问题。
快照仅保留硬盘上该时刻已经写入的数据,不会保留该时刻在内存中未写入硬盘的数据(例如,Linux 系统
/run
目录下的文件)。强烈建议您在创建快照前关机或确保内存数据已写入硬盘并暂停硬盘读写,并从以下两方面进行操作。数据库层面
对于数据库类型业务,建议先将数据库中所有表锁定为只读状态,防止在创建快照时有新数据写入,造成新数据无法被快照捕获的情况。本文以 MySQL 数据库为例,进行如下操作:
1. 执行以下命令关闭所有打开的表,并使用全局读锁锁定所有数据库的所有表。
flush
tables
with
read
lock
;
如下图所示:


2. 对云硬盘创建快照。
3. 执行以下命令解除锁定。
unlock
tables
;
如下图所示:


系统层面
从系统角度而言,数据在处理过程中通常先存放在内存缓冲区,等到适当的时候再写入云硬盘,以提高系统的运行效率。因此,在创建快照时,存在缓冲区中尚未写入云硬盘的数据将无法被写入快照以及从快照中恢复,会对数据一致性产生影响。
您可以执行
sync
命令,将文件系统内存缓冲区中的数据强制立刻写入云硬盘内,且在创建快照前避免写入新数据。执行命令后无错误信息返回,即表示缓存中的数据已写入云硬盘内。如下图所示:

操作步骤
使用控制台创建快照组
1. 登录 云服务器控制台。
2. 在需要创建快照组的实例所在行选择更多 > 创建快照组。如下图所示:


3. 在弹出的创建快照组对话框中,选择需要创建快照的所有云硬盘。


4. 输入快照组名称,选择保留时间后,单击确认。

