云原生时代,阿里云 ESSD 快照服务 助力企业级数据保护( 三 )



文章图片
具有极速可用特性的快照服务 , 不仅能够进行数据备份、合规场景及长期归档业务 , 而且云盘数据可以一键备份到阿里云的对象存储服务(ObjectStorageService)上 , 与秒级间隔的本地快照副本保留形成近密远疏的快照保护策略 , 实现快照轻量创建 , 实时可用的极速克隆 , 秒级无损回滚的高级特性 。
极速克隆:在隔离于生产的跨可用区的容灾环境 , 快照克隆新盘实现可写快照 , 应用测试验证及业务恢复准备;消除云上业务压力 , 实现业务横向扩容 。比如MySQL数据库应用的横向扩容、备库搭建 , 实例创建及读写分离的都需要秒级拉起 , 极速克隆通过延迟加载技术实现本地快照副本的本地域内及跨集群的秒级数据可用 , 迅速克隆新盘 , 实现实例秒级拉起 。
云原生时代,阿里云 ESSD 快照服务 助力企业级数据保护
文章图片

文章图片
秒级回滚:本地快照副本数据与云盘本地存储 , 实现秒级IO无损回滚恢复 。快照生成过程基于改进型的ROW技术及全息索引技术 , 随着写入ESSD的云盘数据块变化 , 依据ESSD云盘IO性能读取的最佳模式进行云盘读取性能的优化 。无需从远端对象存储上拉取数据 , 达到秒级回滚IO性能无损 。
云原生时代,阿里云 ESSD 快照服务 助力企业级数据保护
文章图片

文章图片
在云盘创建多个极速可用快照后及发起回滚后的测试条件下 , 云盘性能读取性能基本无变化 。某友商的云盘在保留多个本地快照后 , IO读取性能出现不同程度的延迟抖动 。
云原生时代,阿里云 ESSD 快照服务 助力企业级数据保护
文章图片

文章图片
容器环境及ECS实例需要保护关联多盘的有状态应用 。单盘快照的最大问题是:有状态应用基于跨多云盘LVM、Windows动态盘及文件系统作为持久化存储 , 单云盘快照数据备份错误;数据库应用既兼顾性能又兼顾数据安全性 , 将日志文件WAL与数据文件分别位于不用的存储设备 , 无法定期进行系统整机备份及容灾 。
云原生时代,阿里云 ESSD 快照服务 助力企业级数据保护
文章图片

文章图片
除了K8S下的POD内有状态应用的部署及单ECS实例部署方式外 , 云环境下还存在着分布式应用的部署架构、应用高可用集群如:WindowsFailoverCluster、主备应用服务器高可用架构、OracleRAC基于共享存储的应用架构 , 而这些分布式架构同样需要跨云盘及跨节点的数据一致性保护要求 。
云原生时代,阿里云 ESSD 快照服务 助力企业级数据保护
文章图片

文章图片
云计算存储后端往往采用分布式存储架构 。在分布式环境下缺少全局逻辑时钟 , 这就使得实现单ECS实例及跨ECS实例 , K8S环境下的单POD及跨节点的多云盘的一致性组快照不是件容易的事情 。要实现快照对IO性能影响最低更是富有技术挑战性的 。业界针对多盘崩溃一致性快照的实现技术主要分为两大类:采取快照期间阻塞写IO的方式 , 实现基于时间点的跨多盘数据崩溃一致性采取逻辑时钟的定序算法 , 但依赖于分布式存储实现 , 实现难度较高 。
一致性组快照采取第二种方式 , 追求快照对IO性能无损 , 实现快照对应用性能影响到最小
实现原理:采取基于IO定序算法 , 快照创建无需写IO阻塞 。很多用户担心创建快照影响IO性能 , 只在业务低谷期才进行快照数据保护 。我们优化提升的多盘一致性组快照算法打破了人们对快照IO影响印象 , 基于写顺序保序机制 , 主动按照写IO到达底层存储的顺序 , 采取IO打标及定序过程 。基于快照完成时刻点及IO定序来确定快照中应该包含的IO数据集合 。由于快照定序过程相对于传统的方式 , 不会阻止IO写入过程;相比于传统的写时拷贝COW方式 , 快照生成过程采取写时重定向ROW的写入方式 , 后台数据集合引用生成过程对IO链路无影响 , 降低快照对IO性能的影响最小 , 对数据库业务的读写场景实现了IO性能无损 。