首页 > 范文大全 > 正文

不选贵的 只选对的

开篇:润墨网以专业的文秘视角,为您筛选了一篇不选贵的 只选对的范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

Linux集群技术包括集群基础架构、集群节点、存储、通信网络、监控管理、安全技术、负载均衡、作业调度、高可用、并行计算环境、性能调试、性能优化、分布式文件系统等诸多方面。应该如何选择呢?

集群节点

节点机是一个集群系统的核心部分,通常在采用商品化、标准化的节点和网络设备的基础上,通过一些特殊的硬件和软件系统,使集群节点作为一个整体工作。节点机一般分为计算节点、I/O节点、管理节点、登录节点等。

1.计算节点

计算节点主要完成计算,担负着繁重的计算任务。计算节点是集群系统的主体,整个集群系统中的大部分节点都是计算节点。计算节点任务比较单一,主要特点有:计算节点CPU有较高计算性能;有较高的访存带宽和较低的访存延迟;计算负载大,所以一般是高密度的多路CPU节点;I/O要求不高,所以不必配置较强的I/O扩展能力。表1是2005年11月公布的TOP500计算机所采用的CPU的情况。

2.I/O节点

I/O节点与存储设备、共享文件系统、高可用软件等组成存储系统,目前在大部分Linux集群应用中采用NFS文件系统。I/O节点作为NFS文件系统主节点,负责文件的I/O操作。I/O节点有如下要求:有较大的机箱空间和较强的I/O可扩展性;有较大的内存和很高的I/O性能;对可靠性要求高,一般需要高可用系统。

3. 其他节点

集群中除了计算节点、I/O节点外,还有管理节点、登录节点、编译节点、作业管理节点等。这些节点功能很多,但对性能要求不高。对于中小Linux集群系统而言,一般采用一个节点完成所有这些功能,有时用一个计算节点或I/O节点兼做这些任务。

总地来讲,单纯从 CPU 的角度来看,系统选择时要考虑以下几点:

该CPU是否有长远、持续的发展计划;

该CPU在同类处理器中的地位如何;

编译系统及相应的开发环境;

用户的具体应用是针对哪种类型的指令系统上开发的,因为只有该指令系统才能充分发挥处理器的性能;

如果要将应用运行在新的CPU上,程序移植的工作量如何?是否有ISV愿意或已经做了相应的移植工作?

通信网络

网络是集群中各个节点相互连接和协同工作的基础。在实际的集群系统中,通常采用两套彼此独立的网络。一套是普通百兆以太网,用于系统管理和文件服务等普通网络通信;另一套是高速网,主要负责并行计算的消息传递和数据交换。在TOP500中,集群的高速网主要有千兆以太网(Gigabyte Ethernet)、10G Ethernet、Quadrics、Myrinet、Infiniband、PathScale的Infinipath、IBM的SP网络、Dolphin SCI、SGI的Numa-Link、Gray的RapidArray等,其中在Linux集群中广泛使用的高速通信网络有千兆以太网、Myrinet、Infiniband等三种。

1.千兆以太网

千兆以太网是现在应用最广泛的网络,可用于Linux集群管理,也可用于Linux集群节点间数据交换和通信。虽然其网络带宽和延迟不如专用网络,但是在很多节点通信负载不大的应用环境中得到了广泛应用。千兆以太网的特

点是搭建容易,可以较低的成本满足大部分应用需求。

2.Myrinet

Myrinet 网络的设计目标是要在局域网环境中获得系统域网络的性能。因此,它采用了MPP 系统中数据包通信和交换技术,在设计时充分考虑了并行系统内部互连网络传输距离近、出错率低的应用环境,使用简化的链路控制协议实现数据传送,减小了数据传输时的协议开销;采用无阻塞的Clos 网络拓扑结构,减少了数据包在网络中的冲突;网络适配器处理机对网络的自动映像和路由选择功能,可以提高网络的可靠性。Myrinet 网络自从开发成功以来,以其高带宽、低延时和良好的可扩展性,成为构造大规模集群系统的理想选择,在历届TOP500中都占有较大份额。

3.Infiniband

InfiniBand总线拓扑结构是基于分组交换点到点连接的fat tree结构,有很好的扩展功能。它既能以PCB的形式提供芯片与芯片的互联,还能以电缆线的形式提供“out of the box”设备与设备之间的互联。每个单独的链接通道是4根信号线组成的双向数据通道,双向理论带宽是5Gb/s。

InfiniBand体系结构中包含5个基本层,自下向上依次是物理层、数据链路层、网络层、传输层和上层软件应用层,其中前4层是通过硬件完成的。在InfiniBand结构中还单独定义了一个Subnet Manager的概念,用来配置网络单元、错误报告、链接错误排除、机箱管理等。Infiniband每个单独的链接通道是4根信号线,2根输入、2根输出,每个数据方向是2.5Gb/s的带宽。目前的DDR方式能够达到单通道单方向5Gb/s带宽,在DDR方式下的双向带宽是10Gb/s。而且不同的通道之间还可以组合成为一个端口,这样带宽就可以成倍地增长。由于目前Infiniband支持到DDR,所以最高的理论带宽是60Gb/s。

由于Infiniband 完备的通信协议和网络底层的实现技术借鉴了以太局域网、光纤通道存储网络和广域网络的研究经验,因此具有很强的通用性。由于Infiniband具有工业标准、10Gb/s高性能的互联、RDMA(远程内存直接存取)、成本低廉、高QoS(服务质量)和RAS(远程访问服务)性能等诸多特点,得到了越来越广泛的应用。

从TOP500中可以看出,Myrinet作为经典的高速网络在TOP500中一直占有较大份额,但在2005年被迅速增长的千兆以太网超过;而Infiniband方兴未艾,从2003年出现以来,每年以大约三倍速度增长,发展势头甚至超过了千兆以太网。可以预测,未来几年Infiniband将成为Linux集群高速网络的增长点。

监控和管理系统

Linux集群在监控管理实现方式上更多强调如下特色:基于底层硬件和上层操作系统、应用软件的全局信息融合;基于集群基础架构、计算部件、I/O部件、交换部件、电源部件、存储部件等全局资产融合;远程监控管理及KVM本地化操作;历史数据分析、日志查询;物理拓扑发现等方面。目前国内外集群监控管理产品很多,表2列出了一些应用较广泛的Linux集群监控管理产品。

表2 linux集群监控管理产品比较分析

在Linux集群系统中还有一个必不可少的设备,那就是KVM切换设备。KVM是指键盘、视频和鼠标,通过KVM切换设备可以用一套KVM管理集群系统中的所有节点。目前KVM切换器朝着大规模、远距离、安全化方向发展。比如曙光新推出的基于IP的SKVM over IP系统,采用硬件视频压缩技术,充分利用现有以太网,通过简单的Web界面或基于客户端的软件控制台,实现了BIOS级多集群远程异地大规模多用户加密传输安全控制。

Linux集群监控管理系统未来将向智能化、仪表化、一体化、网格化方向发展,最终目标是让管理员可以像操作一台计算机一样,管理多个节点构成的远程、异地大规模分布式集群系统。

集群安全

伴随Linux集群在信息服务和商业计算中的普及,Linux集群安全也越来越受到重视。好的Linux集群服务器必须有过硬的安全管理技术。然而,集群安全是一个太大的概念,包含了硬件、登录点、网络、存储、应用等多个层次和多个方面,因此不能单独靠某个硬件或软件来保证集群安全,必须要有一套多层次、主动、立体的安全解决方案。当前,集群安全已成为不可缺少的基因被植入到Linux集群整体构架中,各大服务器厂商包括HP、曙光、IBM、联想均推出了自己的集群应用安全解决方案,学术界在集群节点级及应用级安全技术研究方面也非常活跃。

Linux集群系统化的安全解决方案需要整合一系列集群安全产品,构架成联动和一体化的主动防护集群安全体系,实现对用户、资源和策略的统一管理,确保整体解决方案的安全一致性,进而向集群应用程序级安全、数据存储安全等纵深方面发展,这是集群安全系统发展的大趋势。

负载均衡技术

具有松耦合结构的集群比MPP(大规模并行处理)、SMP(对称多处理系统)等体系架构具有更好的性价比和可扩展性,但是需要解决透明性和高效性的问题。透明性是指客户端与集互时,就像和一台高性能服务器交互一样,集群内部的变动对于客户端是透明的。比如一套提供网页浏览服务的集群系统,从用户的角度看应该只有一个IP地址。高效性是指集群系统要有较高的稳定效率,比如一套提供网页浏览服务的集群系统,当用户连接请求增多时,增加的负载应该能够均衡地分散到集群的每个节点上,从而保证集群资源的有效利用。

集群负载均衡技术一般通过对计算任务调度和转移实现,由一个前端调度节点用虚拟IP对外提供服务,用户连接请求到达该节点后,前端节点根据一定的调度算法把请求转发到集群中的其他节点上。如果调度算法的依据是连接请求的IP地址,那么这种负载均衡策略就是基于IP的;如果调度算法的依据是连接请求的内容,那么这种负载均衡策略就是基于内容的。

基于IP的负载均衡是目前应用较为广泛、效率最高的调度技术,主要有网络地址转换(NAT)、直接路由(DR)和IP隧道(TUN)三种方式。基于上述技术,很多网络交换机厂商和集群厂商都推出了自己的负载均衡产品。硬件实现的产品一般效率较高,但成本也高;软件实现的产品一般有容错和日志等更灵活的功能。表3(见C7版) 列出了几种常见的产品。

表3 几种常见的负载均衡产品

负载均衡从本质上说也是为了保证集群节点资源的有效利用,对外提供SSI,而且负载均衡不能以降低系统稳定性为代价。所以在当前的集群系统中,负载均衡系统、作业调度系统、高可用系统往往是互相结合使用的。

高可用技术

随着Linux集群在各个行业应用的越来越广泛和深入,如何保证业务系统的高可用性和数据的安全,已成为众多用户关注的焦点问题。因此Linux集群高可用技术已经成为影响集群应用成败的关键因素。

目前集群系统的高可用性一般通过双机热备系统实现,即采用两个独立的节点承担关键业务,两个节点共享一套存储设备,作为一个系统共同工作。正常情况下由一个节点提供服务,另一个节点提供冗余,它们通过串口或网络互相检测对方状态是否正常,如果一个节点由于发生故障或需要维护而无法使用,另一个节点就会自动接管它的工作,从而保证业务的不间断运行,避免停机造成的损失。

表4对几种Linux集群高可用系统的技术特点做了比较分析,其中包括曙光高可用系统DHA、Vinca的Co-Standby,以及Fulltime Software的Octopus。

从表中可以看出,集群高可用技术主要关注系统的容错能力和发生故障时的检测切换机制。

作业管理

作业管理系统是Linux集群操作系统的重要组成部分,它能有效管理、统一调度集群系统中的各种全局资源,以及用户提交的作业,保证用户作业公平合理地共享集群资源,使系统具有高的吞吐率和利用率。在表5中,我们对Linux集群下几个作业调度系统的功能进行了比较,其中包括应用最广泛的platform公司的LSF、开源的openPBS、研究性质的Condor、以及IBM的Loadleveler。

从中可以看出,以上作业调度管理系统在实现和功能上大同小异。LSF在平台支持及可用性方面具有较高的优势,而openPBS作为一种应用范围较广的开源软件,也提供了很好的功能。Condor作为一个研究产品,为充分利用网络中的计算资源,在检查点操作和进程迁移方面做了很多努力。Loadleveler增强了Condor的高可用性。这些集群作业调度系统中都有异构平台支持、动态资源管理、记账安全等技术。

当前,网格应用呼之欲出,资源分配和作业调度再度成为Linux集群技术的热点,伴随应用规模的不断增大,如何平衡不同用户和不同作业类型对系统的不同要求,如何提高Linux集群系统在网格环境下的利用率和吞吐率,如何支持对远程计算资源和数据资源的安全访问调度和多种资源的联合调度等,都是未来Linux集群作业调度管理要解决的问题。

集群文件系统

集群节点的独立性一方面提高了集群系统的可扩展性,另一方面也给文件系统设计带来了新的问题。集群环境文件系统一致性控制、集群环境不同层次的异构,使文件管理的难度加大,由此产生了对集群文件系统的下列要求:透明的全局文件系统,用户和应用可以透明地访问集群文件系统中的数据,而无需关心这些数据的实际存储位置;文件系统的元数据和文件数据分布在集群系统中,消除了集中式系统中的存储瓶颈;根据文件系统的访问记录,重新分布文件数据,从而平衡负载;在集群系统中构建全局统一的文件缓存,集中内存缓存和磁盘缓存。

1. NFS

Sun公司1985年NFS2协议,1995年NFS3协议,2000年NFS4协议。NFS(网络文件系统)采用Client/Server模型,其单服务器结构和无状态协议,使得节点崩溃容易恢复。NFS属非Unix语义,对于要求严格语义的应用,需要使用文件锁。而NFS下使用文件锁需要关闭客户端属性缓存,这使得NFS的性能大大降低而难于满足应用的要求。NFS应用非常广泛,适用于中小规模的集群(几个到几十个节点)。

2.AFS

由CMU与IBM联合研制, AFS 3.0之后转给Transarc公司,后演变为DCE DFS。AFS有着非常高的可扩展性,可扩展到几千个节点,采用全局名字空间,且与位置无关,并基于Kerberos认证体系,有着良好的安全性。但AFS性能不高,容错性也较差,同时一致性也太弱,采用会话语义导致很多应用受限制。

3. PVFS

由Clemson大学研制,1998年公开,用于Beowulf类型的Linux集群。PVFS基于消息传递,采用多个I/O服务器、单一元数据服务器设计。PVFS与NFS相比有很大的性能提升,其采用一个元数据服务器来维护一个全局的名字空间,而文件存储于多个I/O服务器上,文件块与I/O服务器上子文件的映射由Striping(基于分散读写模式)策略决定,通过计算即可知道,因此大大提高了I/O性能。但PVFS没有容错机制, 采用非Unix语义,并且没有文件锁,其可扩展性较差,应用规模很大时容易导致服务器崩溃。

4. Lustre

Lustre是Cluster File System公司研制的分布式文件系统,采用的技术包括:面向对象磁盘、元数据请求的批处理、支持通过网络来对Lustre进行管理和监控等。文件数据存储在面向对象的磁盘(Object-base Disk)上,用分布式的面向对象的存储服务器(OST,Object Storage Target)来负责真正的文件系统I/O和与存储设备的接口;用元数据服务器(MDS,Metadata Server)来存储与管理文件和文件系统的元数据。

5. DCFS

DCFS(曙光并行文件系统)基于消息传递,采用多存储服务器结构,文件数据在多个存储服务器上striping,基于多元数据服务器,按根目录的子树来分布;支持客户端缓存、通信层封装,以支持多种通信协议。

从以上五种Linux集群文件系统的介绍,我们可看到其体系结构的研究逐渐成熟,表现在不同文件系统的体系结构和设计的策略基本一致。在设计的细节上各自采用了很多特有的先进技术,力求实现很好的性能和可扩展性。与此同时,Linux集群文件系统在与并行文件系统的结合等方面也有着进一步发展的趋势。(作者单位:国家智能计算机研究中心)