首先,群集的总可用性或正常运行时间取决于要使整个群集处于“正常运行”状态,需要群集的一部分处于活动状态。
- 一台运转正常的机器够了吗?这意味着任何一台机器都可以在需要时承担全部负载。
- 他们是否都需要同时处于活动状态?即,没有冗余。
- 也许三分之二的在线就足够了?与第一种情况相比,这将允许更大的工作量。
如您所见,前两种情况的计算非常简单。假设单个服务器在任何给定时间在线的概率为p = 0.95。现在,对于三台服务器,它们全部同时在线的概率为p 3 = 0.857375。
在相反的情况下,在给定的时间至少有一台计算机处于活动状态,则通过反转问题并查看计算机处于脱机状态的可能性,可以更轻松地进行计算。单个计算机脱机的概率为q = 1- p = 0.05,因此,它们同时处于关闭状态的概率为q 3 = 0.000125,从而给出概率1- q 3 = 1-(1- p)3 = 0.999875至少有一个上升。
三分之二的案例很难计算。在四种可能的情况下,三台服务器中至少有两台处于运行状态。1)ABC上升,2)AB上升,3)AC上升,4)BC上升。所有这些的概率分别是ppp,ppq,pqp和qpp。由于情况是不相交的,因此可以将概率加在一起,得出总A = p 3 + 3 p 2 q = 0.992750。
(可以将其扩展到更多机器。这些因素是众所周知的二项式系数,因此,手工计算不同的情况主要是一种练习。)
当然,这样的计算是通过使用现成的计算机程序来处理要容易得多......至少在一个在线calculater可以在这里找到:
http://stattrek.com/online-calculator/binomial.aspx
输入输入值:成功概率= 0.95,试验次数= 3,成功次数= 2,我们得到结果“累积概率:P(X≥2)= 0.99275”。还提供了其他一些相关的值,并且在线工具也使您可以轻松地使用其他数字。
是的,以上所有假设均假设服务器独立发生故障,这是a)我忽略了影响整个集群的所有问题,b)组件老化等任何事情都不会使服务器在发生故障时发生故障或几乎同时。