分类: WINDOWS
2009-05-08 09:01:50
1. 前言
2. Windows 2003 Cluster 概述
Windows 2003的cluster技术总体分为两类
l 服务器群集(Serer Cluster)
l 网络负载平衡群集(Network Load balancing)
3. NLB概述
Network Load Balancing(NLB)是windows 2003提供的一种负载均衡技术,通过NLB可以将布署于不同服务器上的应用服务器进行压力分担。并可以实现在一台服务器错误时,自动转移至工作正常的服务器上,而访问应用服务器的用户感觉不到这种转移。
4. NLB工作原理
网络负载平衡使用两台或更多台一起工作的主机计算机组成的群集,为服务器提供了高可用性和高伸缩性。Internet 客户端使用一个 IP 地址或一组地址访问群集。客户端无法区别群集和单一服务器。服务器应用程序并不表明它们是在群集上运行的。但是,网络负载平衡群集与运行单个服务器应用程序的单个主机有很大的区别,因为即使在某个群集主机发生故障的情况下,它也可以提供不间断服务。群集对客户端请求的响应也比单个主机快。
如果某个主机发生故障或脱机,则网络负载平衡通过将传入的网络通信重定向到工作的群集主机,从而带来了高可用性。连到脱机主机的现有连接将丢失,但是 Internet 服务仍然是可用的。在多数情况下(例如,就 Web 服务器而言),客户端软件可以自动重试失败的连接,而且客户端在接收响应时,只有数秒钟的延迟。
网络负载平衡通过在分配给网络负载平衡群集的一个或多个虚拟 IP 地址(群集 IP 地址)间分配传入的网络通信,从而带来了可变化的性能。然后,群集中的主机同时对不同的客户端请求甚至来自同一客户端的多个请求做出响应。例如,Web 浏览器可以从网络负载平衡群集中的不同主机获得所有单张网页中的多幅图像。这就提高了处理速度,并缩短了对客户端做出响应的时间。
网络负载平衡使得单个子网上的所有群集主机可以同时检测群集 IP 地址的传入网络通信。在每个群集主机上,网络负载平衡驱动程序充当群集适配器驱动程序和 TCP/IP 堆栈间的过滤器,以便在主机间分配通信。
网络负载平衡采用一种完全分布式的算法,根据传入客户端的 IP 地址和端口,以统计方式将其映射到群集主机。此进程的发生不需要主机间进行任何通信。当发现到达的数据包时,所有主机同时执行这种映射,以快速确定哪个主机应当处理这个程序包。这种映射一直保持不变,直到群集主机数发生更改时为止。与集中式负载平衡应用程序相比,网络负载平衡筛选算法处理数据包的效率更高,因为前者必须修改和重新传送数据包。
NLB驱动处于TCP/IP和网卡驱动之间的一层协议,它控制着所有对群集中服务器的tcp/ip访问(如图1所示).
群集的最终工作原理即为将所有群集中的主机的mac地址虚拟成一个相同的地址,这样网络中所有针对群集的访问,均可以发送至群集所有的主机之上。
5. ColumBus实例应用
5. 1 硬件环境
群集服务器两台:
服务器名称:ClusterA,ClusterB(window中名称不区别大小写);
CPU: 志强1.66;
内存:
网卡:10/
数据库服务器一台:
Sql Server 2000数据库服务器一台(详细配置未知);
5.2 软件环境
两台群集服务器分别安装有:
Windows 2003 enterpise Server Edition;
window 2003的NLB组件(网络负载平衡);
IIS应用服务器组件;
IIS中布署了c++版的columbus测试程序, 该程序访问数据库服务器进行数据存取。
一台数据库服务器:
安装有Sql server 2000 enterprise Edition.