针对目前主流的一些存储双活方案中,分别有哪些存储仲裁机制来规避双活存储“脑裂”风险?

针对目前主流的一些存储双活方案中,分别有哪些存储仲裁机制来规避双活存储“脑裂”风险?各种存储仲裁方案优劣对比?

9回答

一般就是两类: 1、 一类是静态式仲裁,通过在存储内部设定“优胜者”来实现,优势是不需要外置仲裁装置,不需要仲裁网络,劣势是在某些故障场景下,会业务中断,比如“优胜者”存储失败的的时候,但是不会发生脑裂。 2、 另外一类是外置仲裁机制,一般又包括两种,一种是虚拟机监控程序,比...显示全部

一般就是两类:

1、 一类是静态式仲裁,通过在存储内部设定“优胜者”来实现,优势是不需要外置仲裁装置,不需要仲裁网络,劣势是在某些故障场景下,会业务中断,比如“优胜者”存储失败的的时候,但是不会发生脑裂。

2、 另外一类是外置仲裁机制,一般又包括两种,一种是虚拟机监控程序,比如 vplex 的 witness ,另外一种是基于仲裁盘的仲裁机制,比如 hds 的双活仲裁。这类仲裁的优势比第一类方式的系统连续性好,劣势是需要准备单独的服务器或者存储,以及仲裁需要的网络连接。

不管那类仲裁,正常情况下都可以预防脑裂的出现,当然从业务连续性的角度来看,外置仲裁的方式更优一些,具体采用监控程序还是仲裁盘的方式,可根据实际情况和现有环境来定,如果采用外置式的一般要求部署在第三个故障域,且对仲裁网络有一些要求,相比而言,监控程序的方式部署更简单一些,对实施条件要求低一些,也是未来的发展方向。

收起
 2020-09-03
浏览1177
guwenkuanguwenkuan  系统架构师 , 金融
neilrule白羊村挚爱咖啡等赞同了此回答
主流双活存储基本就两种模式,仲裁服务器和静态优先,一般情况下采取仲裁服务器和静态优先并存模式,仲裁服务器为主,当仲裁服务器宕机后,启用静态优先模式。厂商仲裁机制有两种,一种是网络仲裁服务器,另外一种是阵列仲裁盘方式。前一种通过网络协议层面实现仲裁,准备一台虚拟机或者...显示全部

主流双活存储基本就两种模式,仲裁服务器和静态优先,一般情况下采取仲裁服务器和静态优先并存模式,仲裁服务器为主,当仲裁服务器宕机后,启用静态优先模式。
厂商仲裁机制有两种,一种是网络仲裁服务器,另外一种是阵列仲裁盘方式。前一种通过网络协议层面实现仲裁,准备一台虚拟机或者物理服务器即可,后期部署更灵活,不受距离等限制。而另外一种阵列仲裁模式,需要第三个存储,而且还需要SAN打通等条件,后续实施受各种环境和距离影响,没有网络仲裁灵活。
从使用者角度来看 通过网络仲裁比阵列磁盘方式更容易部署和维护。多年使用和维护VPlex双活方案期间,出现过中间链路中断等情况,通过 仲裁服务器和静态优先 起到了仲裁作用,确保了业务连续性。这种仲裁方式还是比较靠谱的。

收起
 2020-09-01
浏览1203
孙伟光孙伟光  IT顾问 , 中国金融电子化公司
梦and天空挚爱咖啡guwenkuan赞同了此回答
简单总结了一下关于主流存储双活仲裁特点显示全部

简单总结了一下关于主流存储双活仲裁特点

收起
 2020-09-14
浏览654
王巧雷王巧雷  系统工程师 , sino-bridge
挚爱咖啡guwenkuan赞同了此回答
在涉及集群或容灾方面,仲裁一直都是一个非常必要的角色,可以在发送脑裂的情况下起到必要的作用,比如隔离一方的io路径,或者通过电源控制切断一个节点,避免发送争用,造成数据丢失。 一般可以通过产品自身的quorum机制(如磁盘、IP、节点数等等)来实现,这种方式一般会在主备站点间实...显示全部

在涉及集群或容灾方面,仲裁一直都是一个非常必要的角色,可以在发送脑裂的情况下起到必要的作用,比如隔离一方的io路径,或者通过电源控制切断一个节点,避免发送争用,造成数据丢失。

一般可以通过产品自身的quorum机制(如磁盘、IP、节点数等等)来实现,这种方式一般会在主备站点间实现;也可以通过额外的第三方仲裁来实现,仲裁位于第三方站点上。

收起
 2020-09-14
浏览644
潘延晟潘延晟  系统工程师 , 第十区。散人
挚爱咖啡guwenkuan赞同了此回答
仲裁的机制很多专家已经说的很清晰了。基本上就是 静态仲裁和第三站点 仲裁方式,两种方式也有各自的优缺点,对于规避脑裂风险,我觉得更多的还是要结合实际的系统架构,企业情况等等多方面的因素去指定方案,方案只是一种理想状态下的解决方案。但很多时候企业往往由于系统架构,资...显示全部

仲裁的机制很多专家已经说的很清晰了。基本上就是 静态仲裁和第三站点 仲裁方式,两种方式也有各自的优缺点,对于规避脑裂风险,我觉得更多的还是要结合实际的系统架构,企业情况等等多方面的因素去指定方案,方案只是一种理想状态下的解决方案。但很多时候企业往往由于系统架构,资金问题。设备型号版本等多方面的因素导致存在各种安全隐患。
所以我觉得理想状态下现有的技术方案都可以规避脑裂,但实际的环境往往并不理想,这并不是单纯靠某一项仲裁技术就能解决的,当系统架构上升到双活的层面,业务足够重要时,整个架构的维护就成了了一个运维项目。而不能单纯的只考虑某些风险。
对于重要的双活业务,在存储层面。我觉得面对脑裂的风险。首先就是先保证出现脑裂时系统不去争抢资源导致数据丢失。其次才是尽量保障业务的连续性。而具体采用哪种仲裁方式,则根据实际的情况去制定合适的方案。

收起
 2020-09-14
浏览667
JerryJerry  系统架构师 , 某金融公司
挚爱咖啡guwenkuan赞同了此回答
主流存储双活模式只有静态优先级模式和仲裁服务器模式,两种方式各有优劣。 静态优先级模式 :无需额外部署和复杂配置,存储阵列发生故障时,仲裁成功后优先级高的针对优先接管双活业务。这种仲裁方式优点就是快速部署,结合双活软件简单配置就可以上线,但仲裁可靠性上存在一些风险...显示全部

主流存储双活模式只有静态优先级模式和仲裁服务器模式,两种方式各有优劣。

静态优先级模式 :无需额外部署和复杂配置,存储阵列发生故障时,仲裁成功后优先级高的针对优先接管双活业务。
这种仲裁方式优点就是快速部署,结合双活软件简单配置就可以上线,但仲裁可靠性上存在一些风险,比如存储及双活软硬件出现“假死”很容易导致脑裂。

仲裁服务器模式 :需要单独部署第三方物理服务器或者虚拟机, 存储阵列发生故障时,仲裁服务器会根据双活节点状态进行仲裁,权重高的节点获胜。即使仲裁链路、仲裁服务器都故障,也能通过静态优先级模式仲裁。实现方式上有的通过专用仲裁软件,有的通过仲裁盘,各个厂商方式不一。
这种仲裁方式优点就是可靠性高,即使仲裁链路、硬件故障,也能够实现仲裁。但需要部署第三方物理服务器或者虚拟机,并且需要维护其环境配置,若环境质量较差,会严重影响仲裁质量。

综合推荐, 仲裁服务器模式更适合企业实践,稳定性和容错性都有保障。一般情况下,仲裁服务器的部署环境都能满足其部署要求,仅需要运维成本,整体方案也容易被接受。
除了仲裁机制外,为了保障存储的高可靠性和一致性,一般还会推荐配置强一致性双活LUN组(有的厂商也叫双活Pair ) ,尤其是对于数据库之类IO敏感应用的存储。 结合双活软件和仲裁机制,可以针对 强一致性双活LUN组实现更细腻的读写IO控制,可以在一定程度上减少双活失败或者仲裁失败带来的影响,不过这类配置视现场环境而定了。

收起
 2020-09-14
浏览671
zzy3620zzy3620  系统环境管理 , 北部湾银行
挚爱咖啡guwenkuan赞同了此回答
这个问题已经回答的很全面了,就是静态仲裁和第三站点仲裁两个方案,静态路由相对比较可控,通过磁盘心跳或者网络心跳进行的第三方仲裁,主要还是依赖存储设备自身的仲裁机制完成,在链路中断时在任何一个节点都有可能,这时候整个系统架构规划时就需要提前考虑到在任何一边运行需要...显示全部

这个问题已经回答的很全面了,就是静态仲裁和第三站点仲裁两个方案,静态路由相对比较可控,通过磁盘心跳或者网络心跳进行的第三方仲裁,主要还是依赖存储设备自身的仲裁机制完成,在链路中断时在任何一个节点都有可能,这时候整个系统架构规划时就需要提前考虑到在任何一边运行需要处理的相关问题,例如系统间访问关系等。

收起
 2020-09-14
浏览678
aixchina 邀答
张鹏张鹏  高级技术主管 , 中国金融电子化公司-中小金融机构灾备服务中心
挚爱咖啡guwenkuan赞同了此回答
前面的几位老师已经总结的很全面了,这里想从另一个角度来谈谈。其实脑裂这个问题,在多节点共享资源的环境下,就会产生,各个厂商都有其解决方案,说到百分百规避呢,应该也不现实,只是降低发生的概率。这里想谈谈,如果发生了脑裂该怎么办。对资源而言,如果多个控制节点都不去争用,导致...显示全部

前面的几位老师已经总结的很全面了,这里想从另一个角度来谈谈。
其实脑裂这个问题,在多节点共享资源的环境下,就会产生,各个厂商都有其解决方案,说到百分百规避呢,应该也不现实,只是降低发生的概率。
这里想谈谈,如果发生了脑裂该怎么办。
对资源而言,如果多个控制节点都不去争用,导致的是不能提供正常存储服务,业务中断,这当然是不能忍受的,但是,最少有一点是好的,存在存储里的数据是安全的,不会被乱改。
如果多个节点一同去争用,那么可能不仅仅是存储服务不可用这么简单,有可能存储中的数据也会不完整,这是我们不希望发生的事情。
一旦发生脑裂,前端应用如果可以暂停对存储的访问,是最好的,等存储状态正常了,再恢复。
同上前端应用不能中断,那么就要放弃某些争用节点,单控制节点访问存储,这里所说的单控制节点可以是某个存储的某个控制器,也可以是某个存储网关,或者某个独立存储。
单控制节点虽然有单点故障的风险,但是可以短暂的恢复存储的正常访问,对保证数据安全有利,不得已而为之。

收起
 2020-09-14
浏览764
邓毓邓毓  系统工程师 , 江西农信
挚爱咖啡guwenkuan赞同了此回答
在存储双活方案,防范脑裂通用的做法就是使用仲裁机制,在第三站点放置仲裁服务器或者仲裁存储阵列。通常有以下三种方式:一是优先级站点方式。这种方式最简单,在没有第三方站点的情况下使用,从两个站点中选一个优先站点,发生脑裂后优先站点仲裁成功。但如集群发生脑裂后,优先站点...显示全部

在存储双活方案,防范脑裂通用的做法就是使用仲裁机制,在第三站点放置仲裁服务器或者仲裁存储阵列。通常有以下三种方式:一是优先级站点方式。这种方式最简单,在没有第三方站点的情况下使用,从两个站点中选一个优先站点,发生脑裂后优先站点仲裁成功。但如集群发生脑裂后,优先站点也发生故障,则会导致业务中断,因此这种方案并非推荐的方案;二是软件仲裁方式。这种方式应用比较普遍,采用专门的仲裁软件来实现,仲裁软件放在第三站点,可以跑在物理服务器或虚拟机上,甚至可以部署到公有云上;三是阵列仲裁盘方式。这种方式是在第三站点采用另外一台阵列创建仲裁盘。这种方式稳定性,可靠性比较高。

收起
 2020-09-03
浏览1179

提问者

lxk215313951系统工程师, 城市商业银行

核心存储选型优先顺序调查

发表您的选型观点,参与即得50金币。

问题状态

  • 发布时间:2020-09-01
  • 关注会员:10 人
  • 问题浏览:2179
  • 最近回答:2020-09-14