简介: 本文描述了阿里云块存储快照服务基于高性能 ESSD 云盘提升快照服务性能,提供轻量、实时的用户体验及揭秘背后的技术原理。依据行业发展及云上数据保护场景,为企业用户及备份厂商提供基于快照高级特性的数据保护的技术方案,满足云上用户数据保护的迫切需求,保障云上企业业务连续性。
2021年7月份,国际知名咨询公司 Gartner 发布了公有云的 IaaS(基础设施即服务)和 PaaS(平台即服务)平台的“魔力象限(Magic Quadrant)”,阿里云凭借其领先的技术能力首次成为“远景者”象限的公有云服务提供商,其中阿里云块存储获得单项得分第一的成绩,阿里云计算、存储,网络及安全得分获得全球第一。存储领先业界的背后离不开高性能的 ESSD 云盘产品为用户提供高可用、高可靠、高性能的块级随机访问服务及原生的快照数据保护能力。
原生业务新需求
随着云原生技术的发展,越来越多的企业基于云计算的虚拟化、弹性扩展及蓬勃发展的云原生技术的分布式框架,容器技术、编排系统、持续交付及快速迭代,构建起大规模、弹性扩展强、丰富的云上分布式业务场景。企业应用的部署规模,存储,计算等资源需求随之成指数增长,导致传统的数据保护方案无法满足云端新的技术变化。用户面临的市场竞争环境更加激烈,迫切需要适应业务规模及发展的云端数据保护方案来满足自身竞争力及业务的发展需要。虽然数据保护的业务背景及场景因云计算及云原生而发生变化,但用户对数据保护的诉求没有发生变化,衡量的标准依然是恢复时间点目标 RTO 及恢复点目标 RPO。
用户追求的首要目标依然是业务连续性,即在业务面临中断威胁,迅速实现业务恢复;业务面临增长压力,迅速实现业务扩展。用户根据业务场景对云上的数据保护及快照服务提出了如下的迫切需求:
- 创建时间短:快照极速完成,关键业务即刻进行数据备份。
- 极速可用:快照极速可用,应对突发事件,完成云盘回滚恢复。
- 业务扩展:业务量突增需要业务扩容。
- 整机保护:单 ECS 实例及多 ECS 实例的关联多盘的一致性数据保护。
- 测试验证:生产环境以外即可进行数据测试验证及恢复。
- 恢复速度快:文件系统及应用数据处于应用一致性的备份状态,避免应用宕机恢复过程。
- 容器备份:容器业务环境的快速迭代及发布,迫切需要保护元数据及应用业务数据。
根据存储网络工业协会 SNIA 对快照的定义:快照是指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。阿里云块存储快照就是提供 ESSD 云盘某一时刻的一致性数据镜像。适应行业的发展趋势,快照服务不断发现用户的新需求及新场景,不懈地进行了新功能开发及迭代演进,极致升级优化 ESSD 云盘快照的高级企业新特性:快照极速可用特性、应用一致性快照及适应分布式应用架构的一致性组快照及快照跨地域复制的异地灾备功能。在不断独立输出及被集成的发展过程中,满足了云上企业用户的需求,服务大数据、游戏,人工智能、金融行业等领域,也得到了阿里云其他团队如:云数据库团队 RDS、混合云备份团队、弹性容器实例 ECI、容器服务 ACK 等业务团队及用户的反馈:
- 云数据库团队 RDS 行业用户的评价是:RDS 的秒级备份产品对齐业界的数据库备份产品,降低原有物理文件备份对实例资源占用,有效降低了数据保护风险。
- 弹性容器实例 ECI 容器加速收益客户图森的评价是:极速型缓存加速功能加速了容器应用发布,降低了仿真平台的计算时间,将计算任务降低到平均 5 分钟以内,产品发布周期极大缩短。
- 按照混合云备份客户的说法,应用一致性整机备份能力完全对标 VMware 虚拟化平台的快照功能。
- 快照服务提供的一致性组快照及应用一致性能力,完全满足 2021 年 Gartner 对阿里云块存储服务评测能力。容器业务 ACK 团队通过 2021 年 Forrestor 容器备份评测能力。
典型场景
轻量、实时的快照极速可用特性,一致性组快照及应用一致性快照的高级特性,为企业用户及第三方备份厂商快速构建起:极速备份恢复、容灾测试、副本利用及容灾切换的副本数据管理(Copy Data Management)应用场景。Gartner 于 2021 年 7 月份发布的关于存储及数据保护的技术趋势(Hype Cycle)分析中,将容器备份、云数据备份及副本数据管理(CDM)列为未来几年的数据保护的行业发展趋势。Gartner 对副本数据的管理的基本定义为:基于应用一致性的主存储快照在辅助存储上生成“Golden Image”,并利用其进行备份,容灾及测试,而且异构存储作为能力的基本条件。阿里云的 ESSD 的高级快照服务特性完全满足构建 CDM 的条件,帮助用户实现云上副本数据管理的原生数据保护典型场景:
备份恢复:极速型备份及标准型备份相结合,提供近密远疏的备份可恢复点。基于云上的 ECS 实例的整机保护及 K8S 环境的容器应用,定期创建极速可用快照。在启用一致性组快照特性及极速可用特性后,本地即时快照的生成间隔可以到秒级。快照即时副本本地保留,成为极速型备份,用于秒级 IO 性能无损恢复。周期性基于上层的企业应用生成整机应用一致性快照。本地快照副本同时通过网络上传到对象存储 OSS 上作为标准型备份。标准型备份在完成备份数据上传后,本地域全可用区可见,适合保留时间长的历史数据。
容灾测试:基于极速型备份的容灾测试。副本数据管理中要求对灾备环境定期测试。定期的测试可以提高灾备环境的可靠性,避免配置问题和环境变更问题使得真的灾难发生时,容灾切换无法正确完成,从而导致业务无法快速进行容灾系统恢复。基于本地快照副本的极速克隆技术,灾备实例及拉起容器应用,周期性进行挂载及备份数据测试验证。传统基于复制技术的方案,需要等待快照在灾备端复制可用后才能进行测试演练。而采取极速型备份方式后,实现灾备端的秒级克隆,秒级挂载及秒级启动测试。
副本利用:基于极速型备份的数据分析。在不影响生产环境的情况下,灾备环境下基于极速克隆技术,进行容器应用的定时拉起,对副本进行大数据计算及分析,挖掘数据价值。副本利用在实践中也体现在 MySQL 数据库应用基于极速型备份进行只读备库的即时拉起,进行离线数据分析。
容灾切换:业务从生产环境切到灾备环境。当生产发生较大灾难时,短时间无法恢复业务,生产无法继续,将业务从生成中心切换到灾备中心;在生产中心业务恢复后,再将业务进行容灾切回。
相比于传统的副本数据管理 CDM 方案,云计算环境及云原生环境拥有大规模弹性的同构的计算环境,企业用户不必进行设备资源及软件投入;极速型备份及极速型克隆技术极大地降低了副本开发、测试及容灾切换的恢复时间点目标 RTO;云上快照服务的统一的备份数据格式降低了各种管理流程中所需的副本数量,消除了备份软件之间数据格式兼容性问题。
技术原理
我们对分布式快照算法和实现进行了大量优化,让用户可以抛开影响性能的顾虑,随时进行轻量、实时的数据保护。“轻”: 在快照创建期间不影响 IO 读写性能。“快”:ESSD 云盘快照可以在秒级创建、秒级回滚和秒级克隆-极速可用特性,满足用户实时数据保护和 DevOps 快速编排上的需要。
极速可用特性
具有极速可用特性的快照服务,不仅能够进行数据备份、合规场景及长期归档业务,而且云盘数据可以一键备份到阿里云的对象存储服务(Object Storage Service)上,与秒级间隔的本地快照副本保留形成近密远疏的快照保护策略,实现快照轻量创建,实时可用的极速克隆,秒级无损回滚的高级特性。
极速克隆:在隔离于生产的跨可用区的容灾环境,快照克隆新盘实现可写快照,应用测试验证及业务恢复准备;消除云上业务压力,实现业务横向扩容。比如 MySQL 数据库应用的横向扩容、备库搭建,实例创建及读写分离的都需要秒级拉起,极速克隆通过延迟加载技术实现本地快照副本的本地域内及跨集群的秒级数据可用,迅速克隆新盘,实现实例秒级拉起。
秒级回滚:本地快照副本数据与云盘本地存储,实现秒级 IO 无损回滚恢复。快照生成过程基于改进型的 ROW 技术及全息索引技术,随着写入 ESSD 的云盘数据块变化,依据 ESSD 云盘 IO 性能读取的最佳模式进行云盘读取性能的优化。无需从远端对象存储上拉取数据,达到秒级回滚 IO 性能无损。
在云盘创建多个极速可用快照后及发起回滚后的测试条件下,云盘性能读取性能基本无变化。某友商的云盘在保留多个本地快照后,IO 读取性能出现不同程度的延迟抖动。
一致性组快照
容器环境及 ECS 实例需要保护关联多盘的有状态应用。单盘快照的最大问题是:有状态应用基于跨多云盘LVM、Windows 动态盘及文件系统作为持久化存储,单云盘快照数据备份错误;数据库应用既兼顾性能又兼顾数据安全性,将日志文件 WAL 与数据文件分别位于不用的存储设备,无法定期进行系统整机备份及容灾。
除了 K8S下的 POD 内有状态应用的部署及单 ECS 实例部署方式外,云环境下还存在着分布式应用的部署架构、应用高可用集群如:Windows Failover Cluster、主备应用服务器高可用架构、Oracle RAC 基于共享存储的应用架构,而这些分布式架构同样需要跨云盘及跨节点的数据一致性保护要求。
云计算存储后端往往采用分布式存储架构。在分布式环境下缺少全局逻辑时钟,这就使得实现单 ECS 实例及跨 ECS 实例,K8S 环境下的单 POD 及跨节点的多云盘的一致性组快照不是件容易的事情。要实现快照对 IO 性能影响最低更是富有技术挑战性的。业界针对多盘崩溃一致性快照的实现技术主要分为两大类:
- 采取快照期间阻塞写 IO 的方式,实现基于时间点的跨多盘数据崩溃一致性
- 采取逻辑时钟的定序算法,但依赖于分布式存储实现,实现难度较高。
一致性组快照采取第二种方式,追求快照对 IO 性能无损,实现快照对应用性能影响到最小
实现原理:采取基于 IO 定序算法,快照创建无需写 IO 阻塞。很多用户担心创建快照影响 IO 性能,只在业务低谷期才进行快照数据保护。我们优化提升的多盘一致性组快照算法打破了人们对快照 IO 影响印象,基于写顺序保序机制,主动按照写 IO 到达底层存储的顺序,采取 IO 打标及定序过程。基于快照完成时刻点及 IO 定序来确定快照中应该包含的 IO 数据集合。由于快照定序过程相对于传统的方式,不会阻止 IO 写入过程;相比于传统的写时拷贝 COW 方式,快照生成过程采取写时重定向 ROW 的写入方式,后台数据集合引用生成过程对 IO 链路无影响,降低快照对 IO 性能的影响最小,对数据库业务的读写场景实现了 IO 性能无损。
对数据库应用使用 2 块盘, 2 个客户端,容量为 4TB,随机写,iodepth=16,jobs=1, 写入块大小 16KB 的测试数据库高 IOPS 场景中,快照创建过程中对 IO 影响测试,友商1及友商2的快照创建过程中对 IO 的性能影响几乎增加了 1 到 3 倍。
应用一致性快照
ESSD 云盘快照数据的一致性类型主要分为崩溃一致性和应用一致性。崩溃一致性要求文件系统及应用程序具有宕机恢复能力,其特点是恢复点目标 RPO 低,业务影响小。但在以下场景无法满足数据备份可靠性高及秒级恢复时间点目标 RTO:
- 原子性缺陷风险:文件系统及数据库应用实现事务原子性的实现具有一定的难度,可能存在缺陷。系统顶级会议 USENIX 上发表的《All File Systems Are Not Created Equal》一文阐释了应用程序及内核保证原子性可能存在实现缺陷。
- 数据丢失风险:主流文件系统默认以性能优先方式工作,崩溃一致性备份存在数据丢失风险。 Linux 上 ext4 文件系统默认数据写入模式为 ordered 模式,文件系统校验修复过程存在数据丢失风险;数据库应用配置为性能优先,业务数据有丢失风险。
- 生成时间长及影响大:传统文件级物理备份方式及备份代理方式依赖于逻辑卷快照的生成,耗时长及系统影响大。备份代理需要安装内核驱动,兼容性差及维护成本高;文件备份过程需要读取数据,耗费系统 CPU 及 IO 资源。应用一致性快照仅在生成一致性时间点与应用互通,无增量数据生成及备份读写操作。
实现原理:与传统备份方式相比,应用一致性快照对用户的价值在于提供云原生的无代理应用一致性快照,简化了客户使用传统备份方式所产生的:资源消耗,发布复杂性、软件兼容性,内核开发,软件维护的成本。采取跨平台插件与专有一致性组件相结合的方式,基于文件系统内核及 Windows 上的 VSS 机制实现快照期间 IO 及应用事务的数据静默,达到企业应用程序在存储快照中的数据一致性要求。所采取的生成协议基于影响时长自动恢复 IO 影响,快照一致性类型取决于创建协议提交结果及应用状态,优化从上层应用到底层存储的链路长度及一致性组件性能,将 IO 影响时长降低到秒级。创建频率间隔可根据业务要求做到文件系统一致性秒级完成创建及分钟级应用一致性快照间隔。
从崩溃一致性到应用一致性,从单盘一致性快照到多云盘组快照的一致性,ESSD 快照的一致性分类实现完全对标业界块存储公有云全类型的快照一致性分类。从安全风险及应用支持可扩展性上与友商实现对比,实现的原生无代理快照的优势:无常驻服务,无公网 IP 地址及端口开放风险,角色安全授权,无额外内核驱动参与;支持动态发现逻辑卷及企业应用。基于 ESSD 云盘存储快照,无代理备份,无需维护内核驱动,虚拟机内部无数据读取搬运。
通过实际对国内外主要云厂商的快照创建时长及 IO 影响时长测试,基于 ESSD 系统盘及数据盘的 SQL Server 数据库应用能够实现秒级写 IO 阻塞及分钟级快照间隔,应用一致性快照的创建时长比友商降低了 2 到 3 倍。应用一致性的整机恢复,避免崩溃一致性快照恢复时日志重放过程,从而提高了数据库应用的启动速度。
业界功能对比
与业界公有云其它友商的快照特性横向对比,ESSD 云盘是目前唯一个全面支持快照极速可用特性及一致性组快照的云厂商,满足企业核心应用上云的数据保护场景对快照 RTO 及 RPO 的要求。
未来展望
数据保护不是亡羊补牢而应未雨绸缪。随着云原生技术的蓬勃发展,特别是容器技术的演进,企业用户对云上保护的恢复点目标 RPO 及恢复时间点目标 RTO 的要求越来越高。后续,我们也将基于 ESSD 云盘推出更多新功能,比如:高密快照、连续数据保护,基于多 ECS 实例的应用一致性保护能力,继续为用户提供快照特性的“轻”、“快”及“弹”的特性品质,降低企业数据保护的 RTO 及 RPO,提供更多原生快照服务高级特性,助力企业数据保护。
原创作品:阿里云存储 凡钧
原文链接
本文为阿里云原创内容,未经允许不得转载。