预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共12页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

linux系统集群的架构与实现 基于Linux系统的开源与稳定性,以及目前服务器集群的广泛应用,小编下面为大家整理关于linux系统集群的架构与实现的文章,欢迎阅读参考: 1.引言 伴随互联网技术飞速发展和各种应用的逐渐开发,以及对计算机运行效率要求的不断提高,依靠增加单一服务器的处理能力并不能很好地解决迅速增长的网络应用的需求。因为采用单一服务器就意味着单点失效问题的存在,同时服务器的升级往往需要暂时中断服务。这都难以保证网络的高可用性,而且采用更高性能的服务器意味着更高的成本投入,由于这些特点,集群技术由此应运而生。而且由于其造价低廉,性能优异,便于管理,编程方便,可扩展性好等优势,集群系统的应用变得越来越广泛。 2.集群的概念和分类 集群就是一组计算机,它们作为一个整体向用户提供一组网络资源。这些单个的计算机系统就是集群的节点,它们之间通过高速网络连接。这些计算机能够协同工作,并对外表现为一个集成单一的计算机资源[1]。 常见的Linux集群系统分为如下三种基本类型: (1)高性能计算集群(HPC:HighPerfor-manceCluster)。主要特点为并行计算,目的是用于进行大规模数值计算,解决复杂的科学问题。这种集群中的服务器(也称计算节点)采用并行计算方法,把一个海量的计算任务分解成各个子任务,然后分配给各节点并行计算,并通过标准化的消息传递接口(PVM或MPI)实现各计算节点的同步和数据的汇集。根据其高效的计算特性一般应于于航空航天、环境科学、石油地震勘探计算数学、DNA模型计算等领域。 (2)高可用性集群(HA:HighAvailabi-lity)。主要特点为主备服务器自动无缝切换,目的是提供不间断的服务。它是由主、从或多台服务器组成。发生故障时,服务器自动切换到后备服务器,这种切换对用户是透明的,用户无法感觉到服务器的切换。目前,对于要求24小时提供不间断服务的地方常常使用高可用性集群。如实时计费系统、实时交易处理系统、气象信息数据库、科技信息数据库服务等领域。 (3)高可伸缩性负载均衡集群(HSLB:HighScalabilityLoadBalance)主要特点为负载均衡,目的是提供与节点个数成正比的负载能力,将系统的整体负载合理地分配到各个服务器节点上,使得每个节点都不会因为超负荷工作而崩溃;并且当对系统整体负载需求大于系统整体负载能力时,可以通过增加服务器节点,平滑地拓展系统负荷能力。这种集群非常适合提供大访问量的网络服务。如网上银行、图形对象发布、气象信息检索服务、科技信息检索服务等领域。 结合公司的服务器及实际应运情况,本文只讨论第一种高性能计算集群。 3.并行计算集群设计 并行集群构造方案是一个管理节点与一组同构或者异构的计算节点通过网络相连,管理节点承担分配并行任务和提供外部管理接口的任务,计算节点负责各自分配得到的并行计算任务以及和其它节点之间的数据交换,可选的存储节点提供配置文件和处理数据的统一管理[2][3]。以四个节点为例的集群系统的构造拓扑如图1所示。 集群软件模块如图2所示: (1)操作系统:Linux系统对不同计算机架构的良好支持保证了高性能集群的扩展能力和性价比。选取比较稳定的Linux系统版本(本文采用的是RedHat)。对于计算节点的系统管理可以采用PXE网络安装等方式,提升安装和管理的效率。 (2)节点间通信:通过建立节点间的无密码SSH访问实现节点间通信。 (3)文件共享方案:NFS文件共享系统的引入方便并行程序或者待处理的数据文件的统一部署。该方案便于统一管理,对可执行程序或者配置文件的修改都可以在同一路径下一次性完成。各个计算节点之间的环境变量等配置文件都相同。 4)计算任务分配:MPI。 4.实现并行计算集群的关键技术 高性能计算集群之所以高效其核心在于并行计算模型的设计[4]——MPI。 并行计算将进程相对独立的分配于不同的节点上,由各自独立的操作系统调度,享有独立的CPU和内存资源(内存可以共享);通过网络联接的不同计算机的多个进程,进程位于不同的计算机,消息传递是实现进程间通信的唯一方式;根据应用程序对消息传递功能的需求,全球工业、应用和研究部门联合推出标准的消息传递界面函数,不考虑其具体实现,以保证并行应用程序的可移植性在当前所有的消息传递软件中。最重要的就是MPI,MPI表示消息传递接口(MessagePassingInterface),它能运行在所有的并行平台上,包括SMP和PVP。 MPI的目的是为编写消息传递程序而开发的广范使用的标准。象这个接口一样,为消息传递建立一个实际的、可移植的、有效的和灵活的标准。实现如下目标: (1)统一的应用编程接口(不必为编译器或一个系统实现库)。 (2)允许有效的通信:避免存储器到存储器的拷贝,而允许计算和通