简单构划Linux集群
|
|
|
作者:佚名
来源:InterNet 加入时间:2005-2-15 |
组建一个集群首先要确定设计目标,然后根据用户的实际情况,选择一种合适的集群方案,最后勾画出集群的大体运行环境。这样对整个集群有了总体的把握,就为下一步集群的组建实施过程奠定了基础。
集群目标
我们以组建简单的、小型的、基于Linux的集群系统为例。该系统大约有10到20台左右的计算机,关键是一台具有负载平衡能力的服务器。该服务器在这里必须要实现以下两项功能:
◆ 服务转发功能。它能接受来自公网中客户端的多种基于TCP/IP的服务请求,例如FTP、Telnet和HTTP等,并且能将这些服务转发到当前负载最轻的、私网中真实服务器上去执行。在私网中的真实服务器处理完该项服务后,再由该虚拟服务器将结果返回给公网中的客户端。
◆ 动态负载平衡功能。该虚拟服务器因为也是一台负载平衡器,所以要能够监视内部网络中的实际服务器的负载状况,找出负载最轻的服务器。
集群方案
这里介绍一种集群(Cluster)技术——虚拟服务器(Linux Virtual Server,LVS)。它通过在内核中打上IPVS的补丁,实现基于IP层和基于内容请求分发的负载平衡调度解决方法,将一组服务器构成一个实现可伸缩的、高可用网络服务的虚拟服务器。虚拟服务器的体系结构可以这样描述,一组服务器通过高速的局域网或地理分布的广域网相互连接,在它们的前端有一个负载调度器(Load Balancer)。负载调度器能无缝地将网络请求调度到真实服务器上,从而使得服务器集群的结构对客户是透明的。客户访问集群系统提供的网络服务就像访问一台高性能、高可用的服务器一样。客户程序因为不受服务器集群的影响,所以一般不需做任何修改。系统的伸缩性通过在服务机群中透明地加入和删除一个节点来达到,通过检测节点或服务进程故障正确地重置系统达到高可用性。
目前,IPVS软件已经实现了三种IP负载均衡技术:网络地址转换(NAT)、IP隧道转发(TUN)和直接路由响应(DR)。IPVS有八种负载调度算法:轮叫(Round Robin)、加权轮叫(Weighted Round Robin)、最少链接(Least Connections)、加权最少链接(Weighted Least Connections)、基于局部性的最少链接(Locality-Based Least Connections)、带复制的基于局部性最少链接(Locality-Based Least Connections with Replication)、目标地址散列(Destination Hashing)和源地址散列(Source Hashing)。
根据上面的目标,这里选用网络地址转换(NAT)的负载均衡技术。
集群环境
示例的集群环境如图1所示。
图1 集群环境示意图
该集群由三个部分组成,第一个部分是来自公网的客户端;第二个部分是负责转交服务、平衡负载的虚拟服务器,也可称之为负载平衡器;第三部分是私网中真实的服务器。公网的客户端IP地址假设从10.44.110.202开始,虚拟服务器的IP地址有两个,一个是10.44.110.201,另一个是192.168.0.1,在其上运行的操作系统是Red Hat Linux,选用的实施方案是LVS。
私网中的真实服务器的IP地址分别为192.168.0.2、192.168.0.3……192.168.0.m,在其上运行的操作系统可以是Linux,也可以是Windows。这些真实服务器都将设192.168.0.1为网关,并都增加了通往公网10.44.110.0的路由。
[文章录入员:nancy] |
|
|
|
|