服务器故障切换恢复
前面的部分讨论了如何利用网络负载均衡(NLB)和 Microsoft Cluster Service (MSCS)消除单点故障。 这一部分的目的是要介绍,当您在企业部署种使用了 NLB 和MSCS 时,MSIB 2.0 是如何从故障种恢复过来的。
ISA 故障切换
在 ISA 服务器因服务器故障而出现故障的时候, NLB 软件(运行在 ISA 服务器之上)将会把故障服务器从 NLB 群集中删除掉。 在 ISA 服务器因连接、RPC 或磁盘故障而出现故障的时候,ISA 服务器会将自己从群集中脱离开。 后的结果是,仍然正常的冗余服务器将会把所有的请求接管过来。
NLB 故障切换
当某一表示层服务器不能发送或响应心跳消息的时候,其他服务器将会进行收敛。 后的结果是,仍然可对请求作出响应的表示服务器会为故障服务器处理所有的入站请求。 当某台新的表示服务器试图加入到该群集的时候,它将会发出一个意在收敛的心跳消息。 当所有的表示服务器都同意接受该成员的时候,将会对客户端的工作量重新划分。
SQL Server MSCS 数据库故障切换
SQL Server 使用了一套共享的磁盘子系统,它可以以一个群集服务器的形式工作。 当群集中的某活动 SQL 服务器出现故障的时候,备用的 SQL 服务器将会接管故障服务器的负载,处理客户请求,从同一共享盘上读取和写数据,如下图所示。
确定预期的可用性
这一部分将介绍一个计算实例,MSIB 项目组为本文使用了这种计算方法以确定 MSIB 2.0 企业部署的可用性,也称为预期的正常运行时间。 这一实例是根据 Microsoft Technical Report 中的Markov Model of Availability for Server Clusters 中的数学模型给出的,地址在 http://go.microsoft.com/fwlink/?LinkId=15127.
在这一模型中需要考虑五个 MSIB 2.0 企业部署的群集。 这五个群集都是由两个节点/计算机构成的,它们必需能够正常运行,令那些考虑要可用的系统真正可用。 出于这一分析的考虑,群集列举如下:
1.面向 Internet 的防火墙 NLB 群集
2.Web NLB 群集
3.搜索 NLB 群集
4.内部防火墙 NLB 群集
5.SQL Server 群集
每个群集都有一个可用性,p n 其中,0n <=1。 整个系统的可用性由以下的计算得到:
p1 X p2 X p3 X p4 X p5
群集内每个节点的可用性可以通过带入以下三个数值的平均测量值得到。
故障切换时间 是指从群集发现某一节点停止响应到将其从群集内删除所花的时间。
平均恢复时间(MTTR) 是指将该要素重新引入群集所花的平均时间。
平均无故障时间(MTTF) 是难测量的一个指标。 故障可能会按照一定的频率发生,不过也可能是随机发生的。 为了进行讨论,在计算过程中允许您在可用性计算时对 MTTF 进行变动。 之所以这么做是为了帮助您判断要确保特定数量的九的可用性,您的部署必需要满足或必需要超过的 MTTF 。 这是本文计算可用性的方法与其他方法的根本差别。
MSIB 项目组首先切断活动-活动群集中来自服务器/节点的基本网络连接,然后再重新启用这些连接,通过这种方法测量了企业部署的恢复时间和故障切换时间。 对于活动——被动 SQL 群集,项目组从群集管理控制台执行了一个移动组命令。 如需了解关于如何测定恢复时间和故障切换时间的更多信息,参见“附件 C——Collecting Availability Data”。 请注意由 MSIB 项目组为本文所述测试部署的系统是按照 MSIB 2.0 随带的 MSIB 2.0 Deployment Guides 中所述的严格的设置和配置进行部署的。
ISA NLB 群集
ISA 网络负载均衡(NLB)群集是一种双节点的 NLB Web 服务器群集。 这一系统的可用性是根据服务器群集可用性的马尔可夫模型(MMASC)计算的。 这一实例是根据 Microsoft Technical Report 中的Markov Model of Availability for Server Clusters 中的数学模型给出的,地址在 http://go.microsoft.com/fwlink/?LinkId=15127对这一群集来说,MSIB 项目组发现其平均故障切换时间为 3 分钟,MTTR 时间为 9 分钟 56 秒。