Vplex的 仲裁机 Witness 故障时执行原理?

 singlefailure 与 double failure 。谁来讲透,你们就不用担心 仲裁如何 选取位置了。不懂仲裁建哪里都一样,当发生故障时候你也没法人工干预。 官方有16个场景,比较复杂。 原厂专家来好好分析一下,多多赐教。...显示全部

 singlefailure 与 double failure 。谁来讲透,你们就不用担心 仲裁如何 选取位置了。不懂仲裁建哪里都一样,当发生故障时候你也没法人工干预。
官方有16个场景,比较复杂。 原厂专家来好好分析一下,多多赐教。

收起
参与7

查看其它 1 个回答wangyf的回答

官方的 16 个场景考虑了主机集群的切换,太复杂,容易搞晕,其实理解 witness 主要关注存储层面就可以了,主机层面按主机的仲裁规则去理解。

对于存储层面,双活方案由三点三线组成,三点是:生产站点 A 、生产站点 B 、仲裁站点 C ;三线是: A 和 B 之间的复制链路、 A 和 C 之间的仲裁链路、 B 和 C 之间的仲裁链路。

加起来可以理解为一共 6 个故障点, 6 个故障点可以有两种失败情形:

1 、单点故障:

vplex 双活机制下,可以保证任何一个单点故障,都不会引起业务中断,比如只是 A 站点发生灾难(是最严重的情况,如果只是 A 站点里面的存储坏了或者 vplex 坏了或者交换机坏了,破坏性不会超过整个站点的灾难), witness 会通知 B 站点继续处理业务,业务不中断,不需要人为干预。

2 、双点故障:

双点故障指上面的 6 个故障点有两个同时发生了故障,比如站点 A 和站点 C 同时发生了灾难,就属于双点故障。

双点故障下,会不会发生业务中断分情况来看, 6 个故障点两两组合,会导致业务中断的共有以下五种情况,此时需要人为手动干预才能恢复业务,这五种情况如下(见图):

除了这五种两点故障场景外,其他的场景也不会造成业务中断,不需要人为干预。

注意以下最后两个场景下,其实它说明了为什么 witness 要放在第三个站点,因为如果 witness 和 vplex 放在同一个站点,当这个站点发生了失败,虽然是个单点故障,但是相当于发生了如最后两图所示的双点故障,会导致业务中断,如果 witness 在第三个站点就不会有问题,这时 witness 建议在不同站点的主要原因。

综上所述,一般只需要避免发生如上五种双点故障,就可以避免业务中断,或者说如果进行灾难演练,可以着重演练这几种场景,因为这几个场景是需要人为操作恢复的。

不过只要按照最佳实践来部署,发生双点故障属于极小概率事件,实际环境中很少能碰上。

硬件生产 · 2020-09-03
浏览1317

回答者

wangyf 最近回答过的问题

回答状态

  • 发布时间:2020-09-03
  • 关注会员:3 人
  • 回答浏览:1317
  • X社区推广