分布式存储容灾—风雨不期而至,留一手总有必要

如果一个篮子里的鸡蛋都碎了,你是否还有另外一个篮子装有鸡蛋?

如果你父亲失业了,你的母亲能否支撑起家庭的经济?

如果路上车胎爆了,你出门是否准备了备胎?

如果Plan A不能继续了,你是否还有Plan B?

人生那么漫长,每个人都可能遇到意外,那么是什么可以保证你在前行的道路上不受影响、那些意外能平稳度过呢?Yes,答案就是——两手准备、双重保障!同理,企业在面对意外甚至是灾难的时候,容灾能力就显得尤为重要。

公有云的场景下,如上图所示,我们面对的是海量的用户数据,而用户的需求是业务持续在线。传统的容灾方案已经无法适应云的特点和要求。为此,我们今天就来谈一谈双活容灾。

双活是什么

双活是一种节约资源的系统灾备(Disaster Recovery)方案,双活系统中的两个数据中心不仅能够同时承担用户业务,两者还能为对方提供实时备份的功能。

简单来说,“双”就是说两端互为“备胎”的关系,任意一端故障都可以保证业务数据不丢失,启动“备胎”属性,完成主端的功能;“活”就是说两端的关系是对等一致的,都是“活”的,可以同时为上层应用提供服务。

仲裁部署方案

仲裁机制是双端数据中心在链路中断的情况下的脑裂处理方案。

简而言之,仲裁就是双活两端因为心跳丢失而失去联系时,一体化的站点分裂成两个独立的数据中心,系统需要决策出哪一边是唯一可用的,这时候,就需要由仲裁机制来判断。Yes,你可以认为仲裁就是裁判的意思。

双活支持静态优先第三方仲裁两种仲裁机制。

静态优先仲裁是一种默认仲裁模式,会预置优先端和非优先端,两端之间的心跳丢失时,优先端存活,非优先端死亡。

如上图所示,预置A为优先端、B为非优先端。当站点A与站点B之间因为心跳丢失而无法感知对方时,静态优先仲裁机制会直接判定A端存活,B端死亡,完成系统脑裂。但是,如果站点A故障导致两端心跳异常,静态优先依然会判定B端死亡,此时就会导致业务中断。所以部署双活优选第三方仲裁模式,通过第三方仲裁来区分设备故障和中间链路故障这两种场景。

第三方仲裁机制,如上图,双活两端心跳发生异常,两端自身无权决定是否获胜,都会向第三方仲裁服务器获取仲裁结果,最终确定是“存活”还是“死亡”。如果第三方仲裁设备故障,则自动转换为静态优先模式。

双活如何实现容灾

如上图所示,双活架构是基于两套存储集群构建AA双活容灾关系,基于两套数据中心的卷虚拟出一个跨站点的虚拟卷,该卷的数据在两个存储集群之间实时同步,且两套数据中心能够同时处理应用服务器的I/O读写请求,面向应用服务器提供无差异的AA并发访问能力。任意一个数据中心故障,都能做到数据零丢失,业务能迅速切换到另外一个站点运行,无需人工介入,对用户无感知,从而保证业务连续性。等待故障恢复之后,存储两端之间再做增量数据同步,用户可以回到两端站点同时处理业务的状态。

成熟的双活技术通常采用复制集群技术,复制集群能够提供双活LUN的数据实时同步和双活LUN数量线性扩展的能力,充分满足云上业务快速增长的需求。

Finally

双活容灾是保障业务连续性的一柄尖刀利刃,是保障用户业务可靠上云的强大后盾。企业应用不做容灾就好比开车出远门不带备胎、做计划不做Plan B,意外的发生,可能只是时间的问题。

双活容灾,有“备”无患。

本为转载自华为云社区 作者:dos_wang

更多云存储技术干货请到华为云硬盘社区

你可能感兴趣的:(分布式存储容灾—风雨不期而至,留一手总有必要)