服务器群集

服务器群集

目录导航

群集的概念

群集由通过输入/输出系统互联的若干服务器构成。这些服务器连接到存储介质中,由分布资源管理软件(DRM) 进行管理。其组成部分处在不断的改进之中:刀片式服务器,快速InfiniBand I/O技术和更为复杂的DRM软件,这些部分组合在一起,使得群集成为IT经理们的实用工具。

主要的应用

服务器群集技术最主要的应用即在于网络负载平衡的功能。 网络负载平衡使用两台或更多台一起工作的主机计算机组成的群集,为服务器提供了高可用性和高伸缩性。Internet 客户端使用一个 IP 地址或一组地址访问群集。客户端无法区别群集和单一服务器。服务器应用程序并不表明它们是在群集上运行的。但是,网络负载平衡群集与运行单个服务器应用程序的单个主机有很大的区别,因为即使在某个群集主机发生故障的情况下,它也可以提供不间断服务。群集对客户端请求的响应也比单个主机快。

如果某个主机发生故障或脱机,则网络负载平衡通过将传入的网络通信重定向到工作的群集主机,从而带来了高可用性。连到脱机主机的现有连接将丢失,但是 Internet 服务仍然是可用的。在多数情况下(例如,就 Web 服务器而言),客户端软件可以自动重试失败的连接,而且客户端在接收响应时,只有数秒钟的延迟。 网络负载平衡通过在分配给网络负载平衡群集的一个或多个虚拟 IP 地址(群集 IP 地址)间分配传入的网络通信,从而带来了可变化的性能。然后,群集中的主机同时对不同的客户端请求甚至来自同一客户端的多个请求做出响应。例如,Web 浏览器可以从网络负载平衡群集中的不同主机获得所有单张网页中的多幅图像。这就提高了处理速度,并缩短了对客户端做出响应的时间。

网络负载平衡使得单个子网上的所有群集主机可以同时检测群集 IP 地址的传入网络通信。在每个群集主机上,网络负载平衡驱动程序充当群集适配器驱动程序和 TCP/IP 堆栈间的过滤器,以便在主机间分配通信。

群集的算法与原理

网络负载平衡采用一种完全分布式的算法,根据传入客户端的 IP 地址和端口,以统计方式将其映射到群集主机。此进程的发生不需要主机间进行任何通信。当发现到达的数据包时,所有主机同时执行这种映射,以快速确定哪个主机应当处理这个程序包。这种映射一直保持不变,直到群集主机数发生更改时为止。与集中式负载平衡应用程序相比,网络负载平衡筛选算法处理数据包的效率更高,因为前者必须修改和重新传送数据包。

网络负载平衡通过以下方式,控制从 Internet 客户端到群集中选定主机的 TCP 和 UDP 通信的分配:配置好网络负载平衡后,群集中的所有主机都接收传到群集 IP 地址的传入客户端请求。网络负载平衡筛选传到指定 TCP 和 UDP 端口的传入数据报,之后这些数据报才会到达 TCP/IP 协议软件。网络负载平衡在 TCP/IP 内管理 TCP 和 UDP 协议,从而逐个端口地控制其操作。

在多播模式下,网络负载平衡可以提供 Internet 组管理协议 (IGMP) 支持,限制交换流。除了指定端口的 TCP 和 UDP 通信以及多播模式中的 IGMP 通信,网络负载平衡不控制任何传入 IP 通信。它并不筛选其他 IP 协议(例如,ICMP 或 ARP),但是下述情况除外。请注意,当使用群集 IP 地址时,应当会看到来自特定点对点 TCP/IP 应用程序(例如 ping)的重复响应。如果需要,这些应用程序可以将专用 IP 地址用于每个主机,以避免这种操作。

为了协调其操作,网络负载平衡主机在群集内周期性地交换检测信号(详细信息,请参阅Internet 组管理协议 (IGMP))。IP 多播允许主机监控群集状态。当群集状态更改时(例如当主机发生故障、离开或加入群集时),网络负载平衡将调用称作“聚合”的过程,在该过程中,主机交换数量有限的消息,以确定群集的新的一致状态,并为主机指定最高主机优先级,即作为新的默认主机。当所有群集主机在正确的新群集状态下取得一致后,它们将在 Windows 事件日志中记录聚合的完成。完成这个过程一般用不了 10 秒种。

在聚合过程中,其余主机继续处理传入的网络通信。对工作主机的客户端请求不受影响。完成聚合后,将以故障主机为目标的通信重新分发给仍在工作的主机。经过负载平衡后的通信将在仍在工作的主机间得到重新划分,以便尽可能好地实现特定 TCP 或 UDP 端口的新的负载平衡。

如果向群集添加了一个主机,则聚合允许该主机接收自己那份经过负载平衡的通信。群集的扩展不影响正在进行的群集操作,而且其实现过程对 Internet 客户端和服务器应用程序都是透明的。但是,当选择了“客户端相似性”时,它可能影响跨多个 TCP 连接的客户端会话,因为可能会将客户端重映射到连接间的不同群集主机。有关相似性的详细信息,请参阅网络负载平衡和状态可控的连接。

网络负载平衡假定,主机在群集内正常工作的时间与它同其他群集主机交换检测信号的时间一样长。如果在多次检测信号交换中,其他主机都没有接收到来自任何成员的响应,则它们将启动聚合,重新分发本来应由失败主机处理的负载。

WIN 2003中的服务器群集功能

服务器群集功能最早是为 Microsoft Windows NT Server 4.0 操作系统设计的,这一功能在 Microsoft Windows Server 2003 Enterprise Edition 和 Windows Server 2003 Datacenter Edition 操作系统中又得到重大改进。您可以借助服务器群集功能将多台服务器连接在一起,从而为在该群集中运行的数据和程序提供高可用性和易管理性。服务器群集提供了以下三种主要的群集技术优点:

更高的可用性。允许服务器群集中的服务和应用在硬件或软件组件故障下或在计划维护期间仍能不间断地提供服务。

更高的可扩展性。支持通过增加多个处理器(在 Windows Server 2003 Enterprise Edition 中最多可达 8 个,在 Windows Server 2003 Datacenter Edition 中最多可达 32 个)和额外内存(在企业版中,随机存取内存 [RAM] 最多可达 8 GB,在 Windows Server 2003 Datacenter Edition 中最多可达 64 GB)来扩展服务器。

更高的可管理性。允许管理员如同管理单台计算机那样管理整个群集内的设备和资源。

该群集服务是两种互为补充的 Windows 群集技术(为了扩展 Windows Server 2003 和 Windows 2000 基础操作系统而提供的)中的一种。另一个群集技术是网络负载均衡(Network Load Balancing,NLB)。该技术作为服务器群集的互补,可面向前端应用和服务(如 Internet 或 Intranet 站点、基于 Web 的应用、媒体流以及 Microsoft 终端服务)来支持高度可用和可伸缩的群集。

计算机群集的出现和使用已经有十几年的历史。作为最早的群集技术设计师之一,G. Pfister 对群集的定义是,“一种并行或分布式的系统,由全面互连的计算机集合组成,可作为一个统一的计算资源使用”。

将数台服务器计算机组合成一个统一的群集,多台服务器将可以在用户或管理员不必了解细节的情况下分担计算负载。例如,如果服务器群集中的任何资源发生了故障,则不论发生故障的组件是硬件还是软件资源,作为一个整体的群集都可以使用群集中其它服务器上的资源来继续向用户提供服务。

换言之,当资源发生故障时,同服务器群集连接的用户可能经历短暂的性能下降现象,但不会完全失去对服务的访问能力。当需要更高的处理能力时,管理员可以通过滚动升级过程来添加新资源。该过程中,群集在整体上将保持联机状态,它不仅可供用户使用,而且在升级后,其性能也将得到改善。

Windows Server 2003 Enterprise Edition 和 Windows Server 2003 Datacenter Edition 操作系统是完全针对用户和业务对群集技术的要求而设计开发的。主要目标是:开发一种能满足大多数商业机构和组织的群集需求的操作系统服务,而不是仅针对小型和特定的市场段。

Microsoft 市场调查显示,随着中小型商业机构的日常运作已越来越离不开数据库和电子邮件,因此它们对高可用系统的需求很大,而且这种需求日趋旺盛。易于安装和管理,被认为是这种规模的机构最关键的要求。Microsoft 的调查同时显示,那些对高性能和高可用性具有很高要求的大企业对基于 Windows 的服务器也日益感兴趣。

作为 Windows NT、Windows 2000 和 Windows Server 2003 基础操作系统的集成化扩展而开发的服务器群集服务,正是源于此次市场调查。该服务同其设计目标保持了一致,通过它可将多台服务器和数据存储组件连接成一个易于管理的单元,即服务器群集。对于大型和小型企业中运行基于 Windows Server 2003 和 Windows 2000 的应用程序的系统,服务器群集功能将可以赋予它们高可用性和易管理性。服务器群集功能还提供了开发可利用服务器群集的高可用功能并且具有群集意识的新应用程序所必需的应用程序接口和工具。

相关百科
返回顶部
产品求购 求购