【ESSD技术解读-03】阿里云块存储企业级特性之异步复制
简介: 在大数据时代,数据就是企业的核心资产,是企业的生命线。在现实世界中,灾难时有发生,当发生灾难时,容灾能力成为企业能否生存的关键。云上容灾服务,通常称为 DRaaS(灾难恢复即服务)不但能够省去自建容灾中心的开销,还能节省后续运维成本,帮助客户快速建立起跨地域的容灾方案,即买即用,随时释放的特性也为用户提供了极大的弹性。本文介绍了云上容灾产品形态,企业可结合自身特点选择合适的容灾方案,针对异步复制产品解析了传统容灾与云上容灾的技术架构。阿里云块存储也结合自身架构特点实现了块存储的异步复制产品。
前言
数据是企业的生命线
数据异地容灾是企业级客户的一个普适需求,尤其是对于政府,金融等大客户,更是核心需求。在大数据时代,数据就是企业的核心资产,是企业的生命线。在现实世界中,灾难时有发生,当发生灾难时,容灾能力成为企业能否生存的关键。
在美国“911”事件中,美国的双子大楼倒塌,数家银行的数据中心因此毁于一旦。德意志银行,因为在几十公里外做了数据备份,很快恢复了业务,得到用户的好评,而纽约银行因为没有灾备方案,在数月后倒闭。
21 年 3 月份,法国最大数据中心运营商 OVHcloud 机房着火,超 350 万网站受到影响。
在刚刚过去的郑州 720 水灾中,郑州大学第一附属医院河医院区受到连续暴雨影响,整个院区淹水导致停电,医院启动了异地容灾机制,仅用 15 分钟就将核心业务紧急切换至东区核心机房,保证了其他两个院区的正常运转。
云上容灾成为趋势
一个个真实案例警钟长鸣,这也使得企业对数据保护,容灾的投入不断扩大。传统的容灾方案,往往需要企业自建容灾中心,购买专线,以及投入人力进行运维等,投入成本较大。在云计算快速发展的时代,越来越多的企业客户考虑云上容灾。云上容灾服务,通常称为 DRaaS(灾难恢复即服务)不但能够省去自建容灾中心的开销,还能节省后续运维成本,帮助客户快速建立起跨地域的容灾方案,即买即用,随时释放的特性也为用户提供了极大的弹性。 下表中总结了 DRaaS 与传统容灾方案的对比,可以看出 DRaaS 与传统容灾相比具有零基建、少运维、高弹性的特点,因此,在云计算快速发展的时代,DRaaS 也成为容灾的趋势所在。
DR as a Service |
传统线下DR |
|
弹性 |
按需建立,按需释放 |
提前规划 |
建设费用 |
按量计费,仅需云盘和所需带宽费用, 0 基建 |
一次性买断阵列和网络,初期投资高 |
容灾数据链路 |
专用网络 |
自行铺设专线,租用带宽 |
最佳实践 |
Cloud on Cloud 与云上多种组件配合,达到最优模式 |
自行摸索 + 供应商推荐模式 |
功能演进 |
随公有云升级与演进 |
购买新设备、软件、升级 |
ESSD 云盘异步复制
阿里云块存储 ESSD 产品是全球领先的旗舰级产品,已经逐渐走向成熟。为了更好的服务企业客户,满足企业客户云上容灾需求,阿里云块存储也推出自己的 DRaaS 产品,云盘异步复制,实现云盘的跨地域异步复制。本文介绍了用户如何选择合适的云上容灾产品,从技术角度解析了不同容灾架构的异同点,然后介绍针对 ESSD 架构我们如何选择容灾架构以及云盘异步复制背后的技术原理。
企业如何选择云上容灾方案
根据 RPO,RTO 选择合适的容灾类型
企业在选择容灾方案时,首先应该根据自己的业务特点确定自己的容灾等级。在容灾领域通常使用 RPO(Recovery Point Objective)来衡量一个容灾系统最多可能丢失的数据的时长,RTO(Recovery Time Objective),来衡量从灾难发生到整个系统恢复正常所需要的最大时长。
国家出台了相关标准,把容灾能力分为六个等级,如下图所示
对于企业来说从一级到六级,级别越高,数据丢失的风险越低,但是容灾建设的成本越高。在传统存储行业中,通常数据备份归档类产品可以满足一到二级容灾需求,普通存储阵列的备份功能可以满足三到五级需求,高端存储阵列的异步复制功能可以满足四到五级需求,而高端存储同步复制,双活功能,以及基于应用的复制可以满足五到六级需求。
那么对于云上,各大云厂商也提供了丰富的云产品来满足不同的容灾级别需求,云上灾备中心通常提供跨地域或者跨可用区的云上灾备服务,可以满足一到四级的需求,而异步复制、同步复制产品可以满足五到六级容灾需求。主流的应用,例如数据库业务通常也有自己的容灾产品,最高可以做到 IO 级别的容灾粒度。
从上面的级别可以看出异步复制可以满足四到五级容灾需求,也是银行等金融客户以及政府单位等广泛需要的。
根据系统特点选择合适的容灾服务
从实现方式的角度来分类,现有云厂商的容灾方案大致分配三类:基于应用、基于实例和基于块存储:
基于应用
这类通常是针对某种特定的应用服务进行的容灾方案,例如云数据库,消息队列,对象存储等,使用相关云服务的用户可以根据自己的需要选择对应产品的容灾服务,这种容灾服务的优势是结合业务往往能够做到应用级别的一致性,缺点是普适性不强,只有基于特定的应用的业务才可以使用。
基于云主机
对于只购买了 IaaS 服务,或者有自己的定制化业务,又或者是应用级容灾服务不能满足需求的,可以选择基于云主机的容灾方案,这种方案会做整机的数据一致性保护,或者跨实例的数据一致性保护,容灾端通常除了存储数据的恢复,也进行主机网络的恢复,使用起来比较便捷,这种容灾服务优点是操作简单,普适性强,缺点是在容灾端也需要买好主机资源,成本相对较高。
基于块存储(云盘)
容灾的核心是数据容灾,因此也有部分厂商针对云盘本身推出跨地域复制产品,这种产品形式比较灵活,对应用一般没有限制,复制期间不需要容灾端购买主机,可以降低用户成本,也可以无缝与其他云服务搭配使用,形成应用级容灾类似的效果。同样基于云盘可以做一致性组,对一组云盘的复制数据满足崩溃一致性语义。
ESSD云盘异步复制,简单几步帮你搞定业务恢复
云盘异步复制功能支持 ESSD 产品跨 Region(地域)进行云盘数据的异步复制,RPO 为 15 分钟。用户仅需要简单 3 步就可以完成一个容灾对的创建:首选选择需要复制的云盘,第二选择容灾站点并创建从盘,第三创建容灾对并激活容灾对。容灾对激活后云盘数据就会周期性复制到容灾站点对应的从盘上了,当用户想暂时停止复制时,可以使用容灾对的停止功能来暂时终止复制。
当故障发生时,用户可以使用故障切换功能,完成主备站点的切换,故障切换会断开复制链路,并使得从端设备恢复到上一个复制的一致性点,提供给用户可读可写权限。
当灾难恢复后,用户想将业务恢复到原有生产站点,可以使用反向的恢复功能,将从站点产生的增量数据恢复回主站点。
云上异步复制背后的技术
本章就容灾产品中广泛使用的异步复制技术探讨一下其实现原理以及与传统存储的架构异同。容灾的核心是数据的容灾,块存储容灾是最通用的容灾方案,因此后文的探讨主要针对云盘的异步复制技术。
传统存储的复制架构
传统存储异步复制实现方式大致有三种:
基于存储网关:存储网关位于服务器与存储设备之间,是构架在 SAN 网络上的存储服务技术。存储网关可以对进入的 IO 流提供灵活多样的存储服务,存储网关与主机服务器和阵列是分离的,不占用主机和存储端的资源,可以方便的支持异构系统之间的复制,但由于 IO 多了网关链路,所以性能会有一定的损失,不太适合对性能要求高的业务。
基于主机:在 SAN 存储中通常实现在 Initiator 端,在主机端根据 IO 复制要求进行数据分流,典型实现如 DRBD,这种架构对后端的存储阵列没有要求,主机端需要安装相应的软件。做灾备服务的第三方厂商多采用这种架构。
基于存储阵列:多数存储阵列厂商会结合自己的阵列特点实现基于存储阵列的复制架构,这种架构下厂商会根据自己阵列 IO 架构实现在 Target 端,对数据进行追踪和双写。
云上异步复制的两种技术架构
云厂商通常结合自己的产品特点,通常有两种技术架构:
有代理的实现架构:这种方式通常需要在用户虚拟主机中安装插件作为 IO 代理,插件通过截获用户 IO 请求并转发进行复制,这种方案优势在于可以提供应用级别的一致性语义。这种架构对云盘厂商没有特殊要求,容易做到异构系统的容灾,劣势是用户使用时需要部署插件才能使用,对用户操作系统的版本可能有限制。云产品第三方服务商通常采用这种架构。
无代理的实现架构:这种实现方式往往基于底层的存储系统,依托存储系统提供的一致性点以及获取数据差异位图等技术进行全量或者增量数据复制,能为用户提供数据崩溃一致性语义。这种方式的优势是可以结合存储系统进行高效的差异数据复制,并且对用户主机系统无入侵,业务使用方式更简单,劣势是无法做到应用级数据一致性。主流云厂商通常具有自主研发的块存储服务,通常会结合块存储的自身架构特点实现无代理方式的复制架构。
阿里云 ESSD 云盘异步复制架构
阿里云块存储也推出了自己异步复制产品,本章介绍一下阿里云如何结合自身架构实现异步复制产品。
阿里云块存储异步复制功能采用的是无代理的实现方式。系统架构如图所示,容灾管理软件分别在生产站点和容灾站点部署,容灾管控系统周期性的发起复制任务给异步复制 IO 组件,复制组件从云盘存储系统后端获取数据差异并将差异数据复制到目标区域,目前跨区域复制的 RPO 设计目标为 15 分钟。
高可用架构
异步复制技术实现上采用高可用架构。考虑到故障场景下系统依然能做到可用,容灾管理组件会在生产站点和容灾站点同时部署,而不是采用容灾组件部署在单边或者在第三放区域部署的方式。容灾管理的元数据信息会在容灾对的主从都同步一份。这就保证了主站点灾难时,从站点的容灾管理功能仍然可用。此外,容灾管理软件以及复制链路上都分别采用了高可用架构,所有管控节点均采用一主两备方式部署,保证了容灾服务自身的服务连续性。
高效复制
异步复制的复制流程采用增量方式进行复制,能够最大程度的降低复制和传输的数据量,这也提高了复制效率。依托底层存储系统高效的内部获取一致性点技术,能够高效的获取云盘的数据崩溃一致性数据视图,通过存储系统内部索引技术能够高效的获取数据的增量差异。下图给出一个存储系统如何获取一致性点的差异位图。获取到的差异位图会被序列化为数据差异日志,即 DCL(Data Change Log)发送给复制组件,根据差异位图读取相应区域的一致性点数据并写入到从盘。
复制链路也会根据云盘的大小带宽等特性将复制流程进行自动分片,并发复制,从而提升复制的效率,最大程度满足 RPO。下图展示了复制组件获取差异位图和复制任务的过程,云盘会根据大小切分成多个数据分片存储到不同的数据服务器上,复制组件会从存储服务器获取一致性视图的 DCL,根据云盘大小和带宽情况,决定将一个云盘切分为多少个子任务进行复制,以更好的适配复制带宽。下图是复制 IO 组件的工作原理。
主盘性能无损
依托存储系统本身的高效索引系统和高性能一致性点生成技术,异步复制对主站点云盘本身的性能影响很小,可以忽略不计,主盘性能完全满足官方售卖标准。
秒级 RTO
传统的备份业务通常会把数据存储在 OSS 等外部系统上,需要使用时再利用 OSS 快照创建出盘,创盘和加载数据,会使得 RTO 时间较长,通常达到分钟级或者更长。云盘异步复制对从端云盘进行周期性的写入,云盘在复制阶段不可读写,在故障切换后可以瞬间可用,RTO 可达秒级,这得益于从盘数据一直在线的设计和存储系统可快速恢复到一致性点的架构优势。
总结与展望
本文介绍了云上容灾产品形态,企业可结合自身特点选择合适的容灾方案,针对异步复制产品解析了传统容灾与云上容灾的技术架构。阿里云块存储也结合自身架构特点实现了块存储的异步复制产品,相较于传统的异地容灾方案,块存储的容灾方案有如下优势:
低成本:无需绑定虚拟机使用,用户在容灾站点只需要购买云盘,而无需购买备用虚拟机,在容灾恢复时可根据需要购买虚拟机,从而大大降低运营成本。
易用性:无需用户虚拟机安装代理插件,做到应用无感知,对用户主机操作系统无版本要求。按需购买,操作简单,即买即用,支持一键切换和一键生成容灾演练盘。
高可用:容灾组件均采用高可用区设计,保证在灾难场景下容灾系统能够进行容灾切换操作。
业务快速恢复:提供较低的业务恢复时间,RTO 可达秒级。
极低的性能开销:复制期间主盘性能几乎不受影响。
块存储异步复制产品致力于为用户提供简单高效易用低成本的异地容灾解决方案,后续将持续丰富产品特性,陆续推出一致性复制组,共享盘支持,数据链路压缩与去重等特性,丰富产品的使用场景和降低用户的使用成本,打造可靠易用低成本的 DRaaS 服务,敬请期待。
作者:阿里云存储 李玮玮
原文链接
本文为阿里云原创内容,未经允许不得转载。
【ESSD技术解读-03】阿里云块存储企业级特性之异步复制的更多相关文章
- 阿里云全球首次互联网8K直播背后的技术解读
3月28日,云栖大会·深圳峰会现场,阿里云发布并现场演示了阿里视频云最新8K互联网直播解决方案.这是全球发布的首个8K视频云解决方案,也是全球首次8K互联网视频直播. 视频地址:https://v.q ...
- 阿里技术分享:阿里自研金融级数据库OceanBase的艰辛成长之路
本文原始内容由作者“阳振坤”整理发布于OceanBase技术公众号. 1.引言 OceanBase 是蚂蚁金服自研的分布式数据库,在其 9 年的发展历程里,从艰难上线到找不到业务场景濒临解散,最后在双 ...
- 性能达到原生 MySQL 七倍,华为云 Taurus 技术解读【华为云技术分享】
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...
- POLARDB v2.0 技术解读
点击观看“POLARDB 2.0 升级发布会”:https://yq.aliyun.com/live/1136 回顾POLARDB 1.0 POLARDB 1.0 主要的改进包括采用了计算存储分离的架 ...
- 阿里云存储OSS之九大使用技巧
http://www.biphp.com/cloud-computing/%E9%98%BF%E9%87%8C%E4%BA%91%E5%AD%98%E5%82%A8oss%E4%B9%8B%E4%B9 ...
- DLL技术应用03 - 零基础入门学习Delphi46
DLL技术应用03 让编程改变世界 Change the world by program DLL的加载和调用 [caption id="attachment_2685" alig ...
- 腾讯云存储专家深度解读基于Ceph对象存储的混合云机制
背景 毫无疑问,乘着云计算发展的东风,Ceph已经是当今最火热的软件定义存储开源项目.如下图所示,它在同一底层平台之上可以对外提供三种存储接口,分别是文件存储.对象存储以及块存储,本文主要关注的是对象 ...
- 分布式架构和微服务CI/CD的范本技术解读
随笔分类 - 分布式架构--http://www.cnblogs.com/hujihon/category/858846.html (ZooKeeper.activemq.redis.kafka)的分 ...
- Switch分销技术解读
Switch分销技术解读 来源:环球旅讯|2009-03-13 当Switch在海外成熟运作近40年后,该业务终于进入中国市场.但对于中国业者来说,知道Switch的人很少,了解Switch的人更少. ...
- [技术博客]阿里云签名机制字符串的C语言实现
[技术博客]阿里云签名机制字符串的C语言实现 问题描述见:阿里云签名机制 话不多说,上字符串函数转化函数代码 bool AlicloudRequest::sendV2Request() { if( q ...
随机推荐
- android ndk生成第三方库的so方法(ndk-build,Application.mk,Android.mk)
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明 本文作为本人csdn blog的主站的备份.(Bl ...
- Lambda Web Browser使用教程
Lambda web browser是一个功能强大的UE内置浏览器插件, 允许用户在编辑器模式和运行时启动一个浏览器窗口, 对于一些采用传统BS架构的项目而言, 控制页面都放在前段, 若想要将控制页面 ...
- 记录--你还在傻傻的npm run serve吗?快来尝尝这个!
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 背景 大家在日常开发中应该经常会有需要切换不同环境地址的情况.当一个项目代码切换环境地址时,vue-cli没有能够感知文件的变化,所以代理 ...
- Mac M芯片使用PD安装centos7无页面安装
1.选择Centos镜像 点击继续 设置虚拟机名称: 点击创建 : 选择第一个回车开始下载系统,下载完成进入设置页面,首先输入 1 设置语言: 进入语言设置,选择77普通话: 选择c继续,又回到系统配 ...
- 美团一面:项目中使用过Redis吗?我说用Redis做缓存。他对我哦了一声
引言 Redis,作为一种开源的.基于内存且支持持久化的键值存储系统,以其卓越的性能.丰富灵活的数据结构和高度可扩展性在全球范围内广受欢迎.Redis不仅提供了一种简单直观的方式来存储和检索数据,更因 ...
- jenkens2权威指南
第1章 Jenkins简介 Jenkins 2是什么 JobConfigHistory:这个插件可以追溯XML配置的历史版本信息, 并且允许你查看每次变更的内容. JenkinsFile Jenkin ...
- 网页实现串口TCP数据通讯的两种方案
概述 串口和TCP数据通讯客户端的形式比较多,但是网页中用的比较少. 其实最大的是网页无法访问本地资源造成的,可能是出于安全方面考虑吧. 解决方案也不是没有,这里介绍几种供大家参考. 方案一:专用 ...
- ET介绍——强大的基于.dotnet7+Unity3d的双端C#开源游戏框架
ET是一个开源的游戏客户端(基于unity3d)服务端双端框架,服务端是使用C# .net core开发的分布式游戏服务端,其特点是开发效率高,性能强,双端共享逻辑代码,客户端服务端热更机制完善,同时 ...
- #最大公约数#CF346A Alice and Bob
题目传送门 CF346A 分析 可以发现其所能表示的数就是能被最大公约数整除的数,且这些数不能超过最大值, 于是判断一下取数的奇偶性即可 代码 #include <cstdio> #inc ...
- #概率,dp#JZOJ 4212 我想大声告诉你
题目 小\(x\)和他的\(n-1\)个朋友,进行\(k\)轮游戏,每轮等概率选出一个人作为获胜者并退出游戏, 其余在游戏中的人有\(p\)的概率被迫退出游戏,问对于任意的轮数\(k\),使小\(x\ ...