性能和容量规划(3)

发表于:2008-09-08来源:作者:点击数: 标签:
MSIB 2.0 企业部署的恢复模型 下图给出了 MSIB 2.0 企业部署中典型的单点故障,下表介绍了 MSIB 2.0 企业部署是如何从单点故障中恢复过来的。 为了避免发生这些单点故障,建议您在投入实际运行之前在您的 MSIB 2.0 企业部署中采用本文前面介绍的高可用性技术

 

MSIB 2.0 企业部署的恢复模型

下图给出了 MSIB 2.0 企业部署中典型的单点故障,下表介绍了 MSIB 2.0 企业部署是如何从单点故障中恢复过来的。 为了避免发生这些单点故障,建议您在投入实际运行之前在您的 MSIB 2.0 企业部署中采用本文前面介绍的高可用性技术。

msib2tca1

查看完整的图像。

注: 在下表中,所谓的可接受时限是指小于默认 ASP 超时时间的一个期间,在理想情况下为 15 秒钟或更少。 为了进行本文所述的测试,所有的故障切换时间都由 MSIB 项目组进行了记录。

tdHeader vAlign=top>
单点故障 故障类型 检定/描述

1
(前端应用程序/Web 服务器)

套接字

由 NLB 将 Web 服务器从群集中删除,最终用户不会感觉到出现了错误或者数据丢失。

 

网络

由 NLB 将 Web 服务器从群集中删除,最终用户不会感觉到出现了错误或者数据丢失。

2
(前端搜索服务器)

套接字

由 NLB 将 搜索服务器从群集中删除,最终用户不会感觉到出现了错误或者数据丢失。

 

网络

由 NLB 搜索服务器从群集中删除,最终用户不会感觉到出现了错误或者数据丢失。

3 和 4
(防火墙之间的连接)

套接字

在可接受时限之内平稳过渡到备份防火墙。

 

网络

在可接受时限之内平稳过渡到备份防火墙。

5和6
(域控制器之间的连接)

套接字

在可接受时限之内平稳过渡到备份的域控制器。

 

网络

在可接受时限之内平稳过渡到备份的域控制器。

7 和 8
(前端 Web 和搜索服务器上的硬盘)

磁盘

NLB 将故障服务器从群集中删除掉。

9 和 10
(Web 或搜索服务器失效)

服务器

NLB 将故障服务器从群集中删除掉。

11
(第二防火墙层上的硬盘)

磁盘

由防火墙正确地将载荷传递到故障切换服务器上,不会给客户端带来数据损失或超时。

12
(防火墙失效)

服务器

由防火墙正确地将载荷传递到故障切换服务器上,不会给客户端带来数据损失或超时。

13
(防火墙和数据库群集之间的连接)

套接字

为了测试这个连接,建议您对使用未经高速缓存的数据库请求的 Web 页面进行测试,以确保不会发生最终用户可见的错误。

 

网络

为了测试这个连接,建议您对使用未经高速缓存的数据库请求的 Web 页面进行测试,以确保不会发生最终用户可见的错误。

14和15
(到域控制器的连接)

套接字

在可接受时限之内平稳过渡到备份的域控制器。

 

网络

在可接受时限之内平稳过渡到备份的域控制器。

16
(Business Desk 计算机和 SQL Cluster 之间的连接)

网络

为了测试这一连接,建议您在几种不同模块中对几种 Business Desk 功能进行测试,以确保不会发生任何错误,以至令系统处于一种部分失效的状态。

17
( MSCS 数据库故障切换:

交易、内容、管理、运动)

服务器

一个服务器错误会引起包括应用数据库在内的 MSCS 故障切换。 为了核实这种错误状态,建议您对使用未经高速缓存的数据库请求的 Web 页面执行 GET 操作,以确保不会发生最终用户可见的错误。 系统会在被动节点变成活动节点之后重试请求,由 Web 页面返回成功的请求。

18
(SQL 群集上的硬盘故障:

目录、搜索、用户)

磁盘

一个系统磁盘错误会引起包括应用数据库在内的 MSCS 故障切换。 为了检验这种错误状态,建议您对使用未经高速缓存的数据库请求的 Web 页面执行 GET 操作,以确保不会发生最终用户可见的错误。 系统会在被动节点变成活动节点之后重试请求,由 Web 页面返回成功的请求。

19

(域控制器故障)

服务器

失败的请求将会被路由到其他的域控制器。

20

(域控制器磁盘失效)

磁盘

失败的请求将会被路由到其他的域控制器。

服务器故障切换恢复

前面的部分讨论了如何利用网络负载均衡(NLB)和 Microsoft Cluster Service (MSCS)消除单点故障。 这一部分的目的是要介绍,当您在企业部署种使用了 NLB 和MSCS 时,MSIB 2.0 是如何从故障种恢复过来的。

ISA 故障切换

在 ISA 服务器因服务器故障而出现故障的时候, NLB 软件(运行在 ISA 服务器之上)将会把故障服务器从 NLB 群集中删除掉。 在 ISA 服务器因连接、RPC 或磁盘故障而出现故障的时候,ISA 服务器会将自己从群集中脱离开。 最后的结果是,仍然正常的冗余服务器将会把所有的请求接管过来。

msib2tca2

NLB 故障切换

当某一表示层服务器不能发送或响应心跳消息的时候,其他服务器将会进行收敛。 最后的结果是,仍然可对请求作出响应的表示服务器会为故障服务器处理所有的入站请求。 当某台新的表示服务器试图加入到该群集的时候,它将会发出一个意在收敛的心跳消息。 当所有的表示服务器都同意接受该成员的时候,将会对客户端的工作量重新划分。

msib2tca3

查看完整的图像。

SQL Server MSCS 数据库故障切换

SQL Server 使用了一套共享的磁盘子系统,它可以以一个群集服务器的形式工作。 当群集中的某活动 SQL 服务器出现故障的时候,备用的 SQL 服务器将会接管故障服务器的负载,处理客户请求,从同一共享盘上读取和写数据,如下图所示。

msib2tca4

确定预期的可用性

这一部分将介绍一个计算实例,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 秒。

下表给出了根据搜集到的数据和节点的目标 MTTF 为一个活动-活动 2 节点群集计算得到的可用性。 MTTF 仍然无法轻松测到,因此该表给出了在目标 MTTF 处的可用性。

描述 目标 MTTF

2 个活动节点,一个进行了故障切换

7 (天)

最后一个节点进行故障切换

3.5 (天)

描述

测量的时间结果

系统从 0 个活动节点恢复到 1 个活动节点所花的时间

9:56 (分钟)

系统从 1 个活动节点恢复到 2 个活动节点所花的时间

9:56 (分钟)

系统检测到故障并进行故障切换所花的时间

3:00 (分钟)

使用 MMASC 方法,此 2 节点活动-活动群集计算得到的可用性为 99.8867%

下表给出了在 MTTF 为 30 天的条件下,计算得到的活动-活动 2 节点群集的可用性。

描述 目标 MTTF

2 个活动节点,一个进行了故障切换

30 (天)

最后一个节点进行故障切换

15 (天)

描述

测量的时间结果

系统从 0 个活动节点恢复到 1 个活动节点所花的时间

9:56 (分钟)

系统从 1 个活动节点恢复到 2 个活动节点所花的时间

9:56 (分钟)

系统检测到故障并进行故障切换所花的时间

3:00 (分钟)

使用 MMASC 方法,此 2 节点活动-活动群集计算得到的可用性为 99.9735%

注: 前面的两张表格给出了一个节点和两个节点情况下的故障切换实例。 对于以单个节点而非一个群集的形式运行的服务器来说,预计其 MTTF 大约为 2节点活动-活动群集的一半。

Web NLB 群集

顶级 Web 服务器 NLB 群集是一种双节点的 NLB 服务器群集。 这种系统的可用性是根据 MMASC 计算的。 对这一层来说,MSIB 项目组发现其平均故障切换时间为 15 分钟,MTTR 时间为 9 分钟 2 秒。 下表给出了两个不同的 MTTF ,并展示了 MTTF 数值是如何影响节点的总体可用性的。

下表给出了根据搜集到的数据,改变节点的 MTTF ,为一个活动-活动 2 节点群集计算得到的可用性。 MTTF 仍然无法轻松测到,因此该表给出了在目标 MTTF 处的可用性。

描述 目标 MTTF

2 个活动节点,一个进行了故障切换

7 (天)

最后一个节点进行故障切换

3.5 (天)

描述

测量的时间结果

系统从 0 个活动节点恢复到 1 个活动节点所花的时间

9:02 (分钟)

系统从 1 个活动节点恢复到 2 个活动节点所花的时间

9:02 (分钟)

系统检测到故障并进行故障切换所花的时间

0:15 (分钟)

使用 MMASC 方法,此 2 节点活动-活动群集计算得到的可用性为 99.9092%

下表给出了在 MTTF 为 30 天的条件下,计算得到的活动-活动 2 节点群集的可用性。

描述 目标 MTTF

2 个活动节点,一个进行了故障切换

30 (天)

最后一个节点进行故障切换

15 (天)

描述

测量的时间结果

系统从 0 个活动节点恢复到 1 个活动节点所花的时间

9:02 (分钟)

系统从 1 个活动节点恢复到 2 个活动节点所花的时间

9:02 (分钟)

系统检测到故障并进行故障切换所花的时间

00:15 (分钟)

使用 MMASC 方法,此 2 节点活动-活动群集计算得到的可用性为 99.9788%

注: 前面的两张表格给出了一个节点和两个节点情况下的故障切换实例。 对于以单个节点而非一个群集的形式运行的服务器来说,预计其 MTTF 大约为 2节点活动-活动群集的一半。

搜索 NLB 群集

顶级 搜索 NLB 群集也是一种双节点的 NLB 服务器群集。 这种系统的可用性是根据 MMASC 计算的。 对这一层来说,MSIB 项目组发现其平均故障切换时间为 15 秒钟,MTTR 时间为 4 分钟 56 秒。 下表给出了两个不同的 MTTF ,并展示了 MTTF 数值是如何影响节点的总体可用性的。

下表给出了根据搜集到的数据,改变节点的 MTTF ,为一个活动-活动 2 节点群集计算得到的可用性。 MTTF 仍然无法轻松测到,因此该表给出了在目标 MTTF 处的可用性。

描述 目标 MTTF

2 个活动节点,一个进行了故障切换

7 (天)

最后一个节点进行故障切换

3.5 (天)

描述

测量的时间结果

系统从 0 个活动节点恢复到 1 个活动节点所花的时间

4:56 (分钟)

系统从 1 个活动节点恢复到 2 个活动节点所花的时间

4:56(分钟)

系统检测到故障并进行故障切换所花的时间

0:15 (分钟)

使用 MMASC 方法,此 2 节点活动-活动群集计算得到的可用性为 99.9498% 。

下表给出了在 MTTF 为 30 天的条件下,计算得到的活动-活动 2 节点群集的可用性。

描述 目标 MTTF

2 个活动节点,一个进行了故障切换

30 (天)

最后一个节点进行故障切换

15 (天)

描述

测量的时间结果

系统从 0 个活动节点恢复到 1 个活动节点所花的时间

4:56 (分钟)

系统从 1 个活动节点恢复到 2 个活动节点所花的时间

4:56 (分钟)

系统检测到故障并进行故障切换所花的时间

00:15 (分钟)

使用 MMASC 方法,此 2 节点活动-活动群集计算得到的可用性为 99.9883%

注: 前面的两张表格给出了一个节点和两个节点情况下的故障切换实例。 对于以单个节点而非一个群集的形式运行的服务器来说,预计其 MTTF 大约为 2节点活动-活动群集的一半。

原文转自:http://www.ltesting.net