阿里云上如何创建应用一致性快照

简介: 云盘快照作为云盘数据保护的基础,提供了某一时刻的云盘数据的镜像副本。针对所生成的快照数据是否支持应用程序感知,快照数据的一致性主要分为:应用一致性快照和崩溃一致性快照。在快照生成的某一时刻,应用一致性快照确保虚拟机内部正在进行的文件系统的写入IO、系统缓存及数据库事务完成提交。使得应用程序一致性快照相对于崩溃一致性快照而言,在系统恢复时刻具有更快的启动速度及更低的恢复时间RTO。

阿里云快照服务结合云助手,提供应用一致性快照功能。当您使用应用一致性快照进行回滚时,可避免数据库等应用启动时进行日志回滚,确保应用处于一致性的启动状态。

前提条件

  • ECS实例的操作系统在以下范围中:
  • Windows:Windows Server 2019、Windows Server 2016和Windows Server 2012 R2。
  • Linux:CentOS 7.6及以上版本、Ubuntu 18.04及以上版本和Alibaba Cloud Linux 2.1903 LTS 64位。
  • ECS实例中云盘必须是ESSD类型云盘,且文件系统为EXT3、EXT4、XFS或NTFS。同时,不支持网络文件系统和共享文件系统。
  • ECS实例已安装云助手客户端。具体操作,请参见安装云助手客户端
    说明 2017年12月01日之后使用公共镜像创建的ECS实例,已默认预装云助手客户端。

背景信息

默认情况下,您创建的快照为崩溃一致性快照。如果您在创建快照时开启应用一致性快照功能,系统将根据实际情况为您创建应用一致性快照或者文件系统一致性快照。

类型 说明 实现方式
应用一致性快照 应用一致性快照在快照创建时刻备份内存数据及正在进行中的数据库事务,保证应用系统数据和数据库事务的一致性。通过应用一致性快照,没有数据的损坏及丢失,避免数据库启动时日志回滚,确保应用处于一致性的启动状态。

应用一致性快照以标签APPConsistent:True标识。

根据操作系统类型,实现方式如下:
  • Windows:通过卷影复制服务VSS(Volume Shadow Copy Service)实现。
  • Linux:通过执行自定义Shell脚本(需要您根据应用自行编写脚本)实现。应用一致性的效果,由您自己编写的脚本负责保证。
文件系统一致性快照 如果开启应用一致性功能,但不满足相关条件,系统将会为您创建文件系统一致性快照。

文件系统一致性确保在快照创建时刻同步文件系统内存和磁盘信息,冻结文件系统写操作,使得文件系统处于一致性的状态。通过文件系统一致性快照,可以避免操作系统在重启后进行chkdsk或fsck等磁盘检查修复操作。

文件系统一致性快照以标签FsConsistent:True标识。

根据操作系统类型,实现方式如下:
  • Windows:如果无Windows操作系统上特定应用的VSS Writer参与时,默认创建的为文件系统一致性。
  • Linux:如果无对应的应用脚本,默认创建的为文件系统一致性。

操作流程

  1. 步骤一:为ECS实例配置RAM角色开启应用一致性快照前,必须先为ECS实例配置相关的RAM角色。
  2. 步骤二:根据ECS实例的操作系统,开启应用一致性快照功能。
  1. 步骤三:检查快照创建结果创建完成后,您可以在云助手页面查看是否创建成功;在快照页面查看快照具体信息。

步骤一:为ECS实例配置RAM角色

  1. 使用阿里云账号登录RAM控制台
  2. 创建应用一致性快照相关的RAM角色。具体操作,请参见创建可信实体为阿里云服务的RAM角色示例为创建一个AppSnapshotRoleName的RAM角色。

image.png

  1. 创建应用一致性快照相关权限策略。具体操作,请参见创建自定义策略

image.png

创建一个AppSnapshotPolicy权限策略,具有查询快照相关信息、创建快照、设置标签和查询云盘信息等相关权限。您可以直接使用以下策略内容。

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ecs:DescribeSnapshot*",
                "ecs:CreateSnapshot*",
                "ecs:TagResources",
                "ecs:DescribeDisks"
            ],
            "Resource": [
                "*"
            ],
            "Condition": {}
        }
    ]
}

4.为RAM角色(AppSnapshotRoleName)设置自定义权限(AppSnapshotPolicy)。具体操作,请参见为RAM角色授权

image.png

5.为目标实例设置RAM角色(AppSnapshotRoleName)。具体操作,请参见授予实例RAM角色

image.png


步骤二:为Windows实例开启应用一致性快照

在Windows实例中,主要是通过Windows操作系统的卷影复制服务实现应用一致性。本节介绍如何为Windows实例开启应用一致性快照。

  1. 进入ECS实例列表页面。
  1. 登录ECS管理控制台
  2. 在左侧导航栏,选择实例与镜像 > 实例
  3. 在顶部菜单栏处,选择目标ECS实例所在地域。
  1. 找到目标实例,在操作列中选择更多 > 云盘和镜像 > 创建实例快照
  2. 创建实例快照对话框中,设置实例快照参数并启用快照极速可用功能。
  1. 创建实例快照对话框中,设置应用一致性快照。

image.png

  • 如果同时选中启用应用一致性快照是否默认包含Writer,创建应用一致性快照。
  • 如果只选中启用应用一致性快照,创建文件系统一致性快照。
  1. 说明 选中启用应用一致性快照后,ECS实例将自动安装云助手插件。
  2. 单击确定创建后会返回云助手命令ID和命令执行ID,您可以根据命令执行ID查看创建结果。

image.png


步骤二:为Linux实例开启应用一致性快照

在Linux实例中,需要您根据ECS实例上的应用程序定制Shell脚本(应用冻结脚本和应用解冻脚本)实现应用一致性。本节介绍如何为Linux实例开启应用一致性快照。

  1. 根据ECS实例上的应用,准备对应的应用冻结脚本和应用解冻脚本,并上传到ECS实例。您可以通过FTP或云助手将应用冻结脚本和应用解冻脚本上传到ECS实例。
  • 应用冻结脚本:权限设置为仅root用户具有读、写和执行权限,保存路径为/tmp/prescript.sh
  • 应用解冻脚本:权限设置为仅root用户具有读、写和执行权限,保存路径为/tmp/postscript.sh
  1. 注意 如果脚本设置错误(例如权限、保存路径或文件名设置错误等),最终创建的快照为文件系统一致性快照。
  2. 进入ECS实例列表页面。
  1. 登录ECS管理控制台
  2. 在左侧导航栏,选择实例与镜像 > 实例
  3. 在顶部菜单栏处,选择目标ECS实例所在地域。
  1. 找到目标实例,在操作列中选择更多 > 云盘和镜像 > 创建实例快照
  2. 创建实例快照对话框中,设置实例快照参数并启用快照极速可用功能。
  1. 创建实例快照对话框中,设置应用一致性快照。

image.png

  • 如果选中启用应用一致性快照启用文件系统IO冻结及解冻,并正确设置脚本,则创建应用一致性快照。
  • 如果选中启用应用一致性快照启用文件系统IO冻结及解冻,但未设置脚本或未正确设置脚本,则创建文件系统一致性快照。
  1. 说明 选中启用应用一致性快照后,ECS实例将自动安装云助手插件。
  2. 单击确定创建后会返回云助手命令ID和命令执行ID,您可以根据命令执行ID查看创建结果。

image.png


步骤三:检查快照创建结果

创建应用一致性快照后,您可以在云助手页面查看是否创建成功,并在快照页面查看实例快照和云盘快照信息。

  1. 云助手页面,查看应用一致性快照是否成功创建。
  1. 选择运维与监控 > 发送命令/文件(云助手)
  2. 单击命令执行结果页签。
  3. 单击目标命令执行ID,查看执行结果。

image.png
如上图所示,ExitCode返回值为0,表示云助手上创建应用一致性快照执行成功,此时回显信息中显示实例快照ID。
如果ExitCode返回值不为0,请根据ExitCode错误码信息排查相关问题。更多信息,请参见错误码信息

  1. 快照页面查看实例快照和云盘快照信息。
  1. 选择存储与快照 > 快照
  2. 单击实例快照页签,查看已创建的实例快照。
  3. 单击云盘快照页签,根据快照的标签信息,检查创建的快照是应用一致性快照还是文件系统一致性快照。
  • 应用一致性快照(显示APPConsistent:True标签)

image.png

  • 文件系统一致性快照(显示FsConsistent: True标签)

image.png


相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6月前
|
弹性计算 运维 安全
最佳实践:计算巢服务如何创建快照策略并利用快照回滚云盘
计算巢是一款打通isv和客户的生态云产品,旨在解决isv云上售卖、交付、部署、运维问题,建立isv与客户的通道。为应需要对定期为云盘备份数据的场景,需要使用快照策略。本文介绍了在如何在一个计算巢服务中创建快照策略并应用于对应的云盘,以及如何利用快照回滚计算巢服务实例的云盘。
|
4月前
|
监控 Java 数据中心
通用快照方案问题之服务雪崩问题如何解决
通用快照方案问题之服务雪崩问题如何解决
21 0
|
4月前
|
应用服务中间件 测试技术 微服务
通用快照方案问题之本地启动多个服务如何解决
通用快照方案问题之本地启动多个服务如何解决
29 0
|
4月前
|
缓存 前端开发 搜索推荐
通用快照方案问题之快照准确性的保障如何解决
通用快照方案问题之快照准确性的保障如何解决
59 0
|
存储 缓存 前端开发
前端快照实现方案详解
前端快照实现方案详解
515 1
|
11月前
快照一致性组
快照一致性组
57 1
|
11月前
快照一致性组是什么?
快照一致性组是什么?
162 3
|
存储 弹性计算 数据管理
构建稳健数据管理与备份策略:ECS数据持久化与备份实践
本文深入探讨了云服务器ECS的数据管理与备份策略,聚焦于数据持久化存储、数据库与ECS的协同,以及实施有效的数据备份策略和利用快照进行数据恢复。通过实际代码示例,读者能够全面了解如何在云计算环境中保障数据的安全性、可用性和可恢复性。
345 0
|
存储 缓存 算法
带你读《存储漫谈:Ceph原理与实践》——3.1.2 快照与克隆
带你读《存储漫谈:Ceph原理与实践》——3.1.2 快照与克隆
|
存储 负载均衡 数据中心
带你读《存储漫谈:Ceph原理与实践》——3.2.5 元数据 / 数据同步
带你读《存储漫谈:Ceph原理与实践》——3.2.5 元数据 / 数据同步