银行故障

双活架构下如何保证数据故障时的一致性呢?

如果在运行过程中发生故障,如何保证相关数据的完整性呢?

参与7

2同行回答

sxtycxxsxtycxx 解决方案经理人工智能(计算机视觉)
针对存储的双活,两台存储中的不同的LUN构成双活LUN,提供给上层的主机使用,数据是从主机侧同时写入两个存储的LUN内,双活平台没有故障的时候,两端的数据始终是一致的 如果存储的双活出现的故障,此时,双活平台内部有仲裁机制,从两端中会重新选举一端的存储平台作为主存储给前端的主...显示全部
针对存储的双活,两台存储中的不同的LUN构成双活LUN,提供给上层的主机使用,数据是从主机侧同时写入两个存储的LUN内,双活平台没有故障的时候,两端的数据始终是一致的
如果存储的双活出现的故障,此时,双活平台内部有仲裁机制,从两端中会重新选举一端的存储平台作为主存储给前端的主机继续提供服务,待存储的双活修复好了后,双活两端的存储内部会自行比对,将存在的差异、增量的数据进行同步,待两端的数据一致后,继续双活对外提供服务
收起
互联网服务 · 2017-06-08
浏览2189
hwe lihwe li系统架构师IBM
对于双活架构下,会包含很多的层面,比如应用层,数据库层,服务器层,存储层等等,要实现真正的业务双活,必须做到每个层面都是活的,而每个层面都会有各自的技术来实现,数据的一致性也是通过这些层面采用的技术来保证的,比如数据层面采用oracle RAC,那么RAC需要解决的关键问题就是多节点...显示全部

对于双活架构下,会包含很多的层面,比如应用层,数据库层,服务器层,存储层等等,要实现真正的业务双活,必须做到每个层面都是活的,而每个层面都会有各自的技术来实现,数据的一致性也是通过这些层面采用的技术来保证的,比如数据层面采用oracle RAC,那么RAC需要解决的关键问题就是多节点进行数据访问时如何保证数据的一致性,Oracle是通过各节点间的私有连接进行内存融合(cache fusion)来保证各节点数据访问的一致性。对于存储层面,如果采用了svc来搭建双活架构,那么其数据一致性是通过svc节点之间的缓存数据同步来完成;

当双活架构发生故障的时候,最主要的是避免集群的脑裂,避免脑裂的方式是一定要部署第三站点的仲裁机制,仲裁站点可以采用存储仲裁或者ip仲裁等不同的方式,避免集群发生脑裂,从而导致业务数据的不一致性发生。

收起
硬件生产 · 2017-06-07
浏览2301

提问者

bryan
bryan0514
软件架构设计师金融研发
擅长领域: 云计算容器容器云

问题来自

  • 相关问题

    问题状态

  • 发布时间:2017-06-07
  • 关注会员:3 人
  • 问题浏览:4985
  • 最近回答:2017-06-08
  • X社区推广