副本集群可用性

一、集群可用性

集群可用性(availability)指集群正常运行时间的百分比,业界用 N 个9 来量化可用性,最常说的就是类似“4个9(也就是99.99%)”的可用性。

描述

通俗叫法

可用性级别

年度停机时间

基本可用性

2个9

99%

87.6小时

较高可用性

3个9

99.9%

8.8小时

具有故障自动恢复能力的可用性

4个9

99.99%

52分钟

极高可用性

5个9

99.999%

5分钟

 

二、理论及实际可用性

理论可用性指在不考虑程序Bug,未知异常导致的系统崩溃情况下的可用性,其值由各种可以预见的故障及其影响时间范围决定。实际可用性指在系统实际运行过程中的可用性,比如一个系统计算得到理论可用性为49,但是因为一个Bug导致集群宕机了一个小时,则其实际可用性也就达不到49

 

三、正常运行时间

集群不可用可以指节点宕机,io 处于完全中断场景下的不可用,此时如集群宕机 1min,则不可用时间为1min;如果一台物理机宕机1min,影响io10%,则不可用时间为6s

也可以指在如网络故障时,io时延超过上限情况下的不可用。比如对于一个SSD集群,单次io超过10ms则认为不可用,假设正常情况下,所有的io都可以在10ms内返回,即集群100%可用。如果某次故障网络抖动10min,期间有20%io时延超过10ms,则不可用时间为2min

 

四、可预期故障

集群理论可用性即为计算各种可预期故障对于集群的影响。如对于一个分布式副本集群来说,可预期的故障主要有:

1、磁盘故障(磁盘年故障率、磁盘数)

2、机器故障(机器年故障率、机器数)

3、升级节点影响

4、其他

 

五、用户io模型

发生故障时,在相同的 obj 影响比例下,用户 io 模型的不同对于系统可用性的表现也有着很大的关系。

弱相关模型:理想情况下,用户的每次 io 都是独立的,一次 io 卡住并不会影响其他io的执行。如虚机开启20个线程,每个线程独立的下发ioio完成后该线程可以继续下发其他的io,与其他线程io是否完成无关。

强相关模型:该场景下,即使故障并不影响本次 io 的执行,但是因为相关的其他 io 被阻塞,导致了本次的io也无法继续执行。如虚机开启了20个线程,这20个线程同时下发20io,需要等待这20io全部返回后,才继续下发下一批io。强相关模型会极大的增加系统受影响的范围比例。

 

六、实例计算

6.1、集群参数设置

三副本集群,120 台机器,分为3zone,每个zone 40台机器,每个机器开启12个节点,每个节点挂载一块800G SSD盘。

磁盘年故障率:0.44%

机器年故障率:2%

SSD磁盘时延:2ms,由该时延推导可得单线程最大iops500。若虚机开启20个线程,则虚机最大iops10000

 

6.2、节点升级影响

若单个节点升级过程中其上的 obj 1s 不可用。每个zone 40台机器,每个机器12块盘,受影响的obj比例为1/480。对于弱相关模型,单个线程期望为执行480iohang。而单线程最大iops500,升级过程中性能下降到了原来的480/500=96%。可以认为1s内几乎没有影响。升级整集群不可用时间为0

对于强相关模型,因为所有的线程 io 都相关,也是期望执行 480 io后卡住,20个线程总iops10000。此时性能为原来的480/10000 = 4.8%。在1s内几乎所有的io hang。升级整集群不可用时间为1371s

 

6.3、单块磁盘故障影响

假设单块磁盘故障会影响其上的 obj 15s。计算同升级,只是将时间延长到了15s

同理,弱相关模型单线程期望执行 480 io hangiops500, 15sio7500。性能下降到480/7500=6.4%。故障时不可用时间为14s

强相关模型性能下降到 480/150000=0.32%。故障时不可用时间为15s

 

6.4、机器故障影响

同单块磁盘故障影响,也会影响其上 obj 15s,只是范围扩大到了其上所有磁盘。

此时强弱模型得到的结果都为影响 15s

 

6.5、集群不可用时间

弱相关模型

单次升级影响:0s

磁盘故障影响:1440 * 0.44% * 14 = 88.7s

节点故障影响:120 * 2% * 15 = 36s

 

强相关模型

单次升级影响:1371s

磁盘故障影响:1440 * 0.44% * 15 = 95s

节点故障影响:120 * 2% * 15 = 36s

此时若要满足49的要求,每年仅支持升级2次。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值