1.两个数据中心,存储双活的话,如果通过SVC或者EMC vplex的话,对逻辑卷上层应用看到的是2个存储虚拟化后的一个卷,如果两个数据中心通信异常,导致脑裂的话,上面如果跑的是oracle RAC的话,如果oracle 判定A节点实例存活,而存储判断B节点存活,这个时候卷还是虚拟化后的卷,数据从A节点读B节点,这个时候的影响在哪里?会造成宕机吗? 这个场景不清除,请指点一下。谢谢!
2.oracle rac有网络心跳,磁盘心跳,存储有第三站点的仲裁,这个时候脑裂的判定,能否解释一下。谢谢!
3.还请问题一下,目前真正意义上的的双活数据中心,有那些案例?谢谢!
双活数据中心在金融业和运营商都有成功案例
实际上存储最终是为上层数据库及应用服务,如果这个跨中心的架构涉及到数据库、存储两层的组合,比如说存储双活之上是oracle rac,那么就比较复杂了。
首先对于存储本身的仲裁,应该有自己的算法,例如:
1)仲裁中心
2)最坏情况下,默认的算法。
对于跨中心的rac集群,同样有自己的规则:
1)仲裁盘
2)通过网络和磁盘心跳保证获得票数最多的子集活着。
3)实例小的节点存活。
但是当二者结合的时候,就有更复杂的场景可能会出现,尤其是出现两层架构仲裁的结果不一致。
为了避免这个结果出现,那么我们需要攻克以下问题:
例如,你可以通过oracle的仲裁参数misscount结合vplex的仲裁timeout参数来保障时间序列的一致性。
例如,你也可以调整各自默认算法的最终结果落到一边。
例如,你也可以通过二次开发来实现二者的联动。
最后,所有的前提条件和策略都需要得到模拟实践的检验。
收起