数据库
SQL Server 2000 由 MSIB 2.0 及其依赖项用于连接到数据库上。 由于数据库服务器是运行在平台操作系统和服务顶部的,因此存在很多引起故障的原因,包括:
文件/磁盘系统失效
网络故障
数据库应用程序故障
服务器故障
建议采用的解决方案
建议采用两种 Windows 2000 高可用性解决方案:
Microsoft 群集服务 (MSCS)。 这种解决方案适用于 MSIB 数据库服务器。 这种解决方案可以提供可靠性,不过却不能提供额外的可扩展性,这是因为其工作负荷并不是分布式的。
网络负载均衡(NLB)。 这种解决方案适用横向扩展模式。 在这种模式下,多个数据库服务器在一个单一的虚拟 IP 地址之下进行了负载均衡。 一般情况下这些数据库服务器是作为主数据库服务器的用户工作的,这个数据库服务器则作为一个数据发布者工作。 在一个数据库服务器出现故障的时候, NLB 将该服务器从群集中删除并将连接指向其他正常的服务器。
解决方案部署中应当包括对数据库和构成数据库的存储过程的备份。
类似地,如果现有的计算机出现了硬件资源的瓶颈,那么您应当为 Web 群添加后端 SQL 服务器。 在添加了更多 SQL 服务器之后,构成 MSIB 2.0 解决方案的数据库应当在 SQL 服务器中分离开来。
MSIB 2.0 企业部署的恢复模型
下图给出了 MSIB 2.0 企业部署中典型的单点故障,下表介绍了 MSIB 2.0 企业部署是如何从单点故障中恢复过来的。 为了避免发生这些单点故障,建议您在投入实际运行之前在您的 MSIB 2.0 企业部署中采用本文前面介绍的高可用性技术。
注: 在下表中,所谓的可接受时限是指小于默认 ASP 超时时间的一个期间,在理想情况下为 15 秒钟或更少。 为了进行本文所述的测试,所有的故障切换时间都由 MSIB 项目组进行了记录。
单点故障 | 故障类型 | 检定/描述 |
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(域控制器磁盘失效) | 磁盘 |
|