一、集群
一 般来说,集群是指一组高性能计算机通过高速网络连接起来的,在工作中像一个统一的资源,所有节点使用单一界面的计算系统。集群技术的出现,使得使用多台 PC或工作站就可获得同大型机相匹敌的计算能力,同时成本大大降低,从而在很多高性能计算领域内由集群完全取代大型机也将成为可能。
广义上的集群的节点可以是任意类型的计算机,包括PC机、工作站、SMP等等,甚至是大型机。Linux集群是指一类以 PC架构计算机为集群节点,以某一版本Linux操作系统为集群节点操作系统的集群。由于Linux本身具有开放源码、稳定、支持PC架构等诸多优势,以 及操作系统及节点机价格的因素,Linux集群技术被认为是最具发展潜力的集群技术。
|
回页首 |
|
二、集群系统管理
根据典型的集群体系结构,集群中涉及到的关键技术可以归属于四个层次:网络层、节点机及操作系统层、集群系统管理层、应用层。
- 网络层:网络互联结构、通信协议、信号技术等。
- 节点机及操作系统层:高性能PC或工作站、分层或基于微内核的操作系统等。
- 集群系统管理层:资源管理、资源调度、负载平衡、并行I/O、安全等。
- 应用层:并行程序开发环境、串行应用、并行应用等。
集 群技术是以上四个层次的技术有机结合,所有的相关技术虽然解决的问题不同,但都有其不可或缺的重要性。集群系统管理层是集群系统所特有的功能与技术的体 现。在未来按需(On Demand)计算的时代,每个集群都应成为业务网格中的一个节点,所以自治性(自我保护、自我配置、自我优化、自我治疗)也将成为集群的一个重要特征。 自治性的实现,各种应用的开发与运行,大部分直接依赖于集群的系统管理层,并且,系统管理层的完善程度,决定着集群系统的易用性、稳定性、可扩展性等诸多 关键参数。正是集群管理系统将多台机器组织起来,使之可以被称为"集群"。
|
回页首 |
|
三、IBM Cluster1350,Linux高性能集群
Cluster1350是IBM公司目标定位于高性能计算市场的Linux集群,包括一套完整的解决方案,集成了众多IBM与非IBM的先进的软硬件技术,有其特有的技术优势与强大的服务支持。Cluster1350集群的体系结构如下图所示:
Cluster1350体系结构
- High Speed Network
Cluster1350的计算网络可选Myrinet超高速网络或者千兆以太网,以及相应的通信协议,用于并行计算时各节点间数据交换。
- Manage Node
Cluster1350 的管理节点为xSeries345 (2U),操作系统为Linux,目前支持RedHat 7.2与7.3,RedHat AS2.1,以及SuSe 8.0和8.1,SuSe SLES7.2和8.0。自带两个10M/100M/1000M自适应网卡,支持RAID,有RSA适配器接口(PCI插槽)。
- Compute Node
Cluster1350的计算节点为xSeries335 (1U),操作系统为Linux,目前支持RedHat 7.3,RedHat AS2.1,以及SuSe 8.0和8.1,SuSe SLES7.2和8.0。自带两个10M/100M/1000M自适应网卡,有RSA适配器接口(PCI插槽)。
- RSA (Remote Supervisor Adapter)
RSA适配器节点机主板上的ISMP以及C2T Chain等其它相关硬件配合工作,用于实现对集群中各节点的电源管理、机器硬件状态监测、日志报告等管理功能,是Cluster1350中硬件控制的接 入点。一个Cluster1350集群中可以有多个RSA配置器,每一个RSA适配器最多可控制24个节点。
- Terminal Server
各节点通过串口连接到Terminal Server,通过Terminal Server,管理员在管理节点上可以获得任意受控节点的控制台,而不管该节点在普通网络(Management Network)上是否可达。一个Cluster1350集群根据规模不同,可以有一个或多个Terminal Server。在节点比较少时,也可以不用Terminal Server,而用KVM交换机以及xSeries335前面板上的控制按钮配合来实现控制台切换,不过后一种方式当节点数目增多时连接及操作复杂度会越 来越高。
- Management Network
Cluser1350的集群管理网络由各节点上的ISMP (Integrated Systems Management processor)、C2T Chain (Cable Chain Technology)、RSA适配器、Terminal Server、Management Switch/VLAN构成。其中ISMP内置于安节点主板,由C2T Chain级联,然后通过RSA适配器用网线连接到管理网络;各节点用串口线连接到Terminal Server,Terminal Server也通过网线连接到管理网络。这样,管理节点通过管理网络可以便捷地实现对集群所有节点的控制。
- Cluster Network
Cluster Network可以是普通的网络,主要用于集群系统管理软件对集群的管理,比如监控节点状态、网络安装各节点操作系统、更新各节点配置文件及软件等。Cluster Network一般不用于并行计算时各节点间数据交换。
- Cluster System Management Layer
IBM公司为Cluster1350提供功能完备的基于SRC (System Resource Controller)和RSCT (IBM Reliable Scalable Cluster Technology)的CSM (Cluster System management),GPFS (General Parallel File System)等集群管理软件,可以便捷地完成基本的集群系统管理工作。还可以再选择安装其他用于Linux集群的管理调度软件以实现负载平衡、任务调度 等功能。
- Application Layer
科学计算、商务服务、信息服务等各种需要大规模计算或高可靠性服务的应用都可以在Cluster1350上运行。Cluster1350不是面向任何特定的应用的设计,应用层根据用户的需要而不同。
此外,根据需要Cluster1350还可以配置专门的存贮节点,通常是xSeries345。
Cluster1350由各节点主板内置硬件和RSA 适配器、C2T Chain级联技术等与CSM等集群系统管理软件相配合,实现了可靠、强大、易用、可扩展的系统管理功能。
- 整个集群可由单一节点控制。包括所有节点的开机、关机、状态查询、显示远程控制台、安装操作系统、升级各节点系统及应用软件等所有工作在内,都可以在管理节点上完成。一个集群只需一套外置输入/输出设备(键盘、鼠标、显示器)。
- 可以使管理人员方便地完成集群的部署。xSeries335和xSeries345为集群系统量身定做,安装,连 接都很简单。整个集群管理结构只需少量线缆相连。安装配置好集群管理节点的操作系统及CSM后,管理员可以同时进行所有计算节点的安装及配置,而这一过程 只需几条命令即可完成。
- 方便的使用期管理。在CSM的支持下,管理员只需登录到管理节点,便可完成在所有指定计算节点上同时安装/缷载rpm软件、升级CSM客户端、更新配置文件、执行同一shell命令(脚本)等操作,可以对集群节点的进行动态/静态分组管理,删除或新增节点。
- 有效地监控各节点的资源状况。CSM的后台进行时刻监控所有指定资源的状态,并且及时响应给相应的处理程序或集群管理员,而并不需要很大的带宽。
- 可以及时检测到系统错误,准确定位错误,并自动解决或记录日志以帮助管理员手工处理错误。
对于普通Linux集群来说,以上这些管理工作在没有专用集群管理系统的情况下工作量是随着 集群规模的扩大而急速增长的,有时还会导致硬件资源的浪费。而Cluster1350彻底地解决了这个问题,使管理集群变得像管理一台计算机一样简单方 便,使用户可以将主要精力用于应用方案的设计与开发,而不用在这些繁琐的集群管理工作上投入过多不必要的时间。
|
回页首 |
|
四、CSM (Cluster System Management)
CSM 是IBM公司开发,专门用于集群系统管理的中间件,在Cluster1350解决方案集成。CSM的设计思想与体系结构来自PSSP (IBM Parallel System Support Programs for AIX)与其它一些开源的集群管理软件。还有一些中间件及技术,虽然不直接为用户服务,但构成了CSM的不可或缺的基础,包括RMC、SRC、RSCT 等。
CSM的体系结构如下图所示。
CSM体系结构
(引用自Linux Clustering with CSM and GPFS, IBM Redbook)
其中CSM Server只安装运行于管理节点,CSM Client安装运行于所有受控节点。CSM体系结构中各模块功能详细说明如下:
- Database and Distributed Management Server (DMS)
管理节点上的CSM系统数据库,用来存贮整个集群的配置信息。比如所有节点的参数,分组等。集群中的每一个计算节点都要注册到此数据库,才能通过CSM由管理节点控制。而CSM的大部分管理命令,都需要从此数据库中读取相关配置信息。
- l Managed Node
集群中正常连接并且已经正确安装配置好操作系统及CSM的节点。安装工作正确完成后CSM数据库中对应的节点属性会自动改为Managed,说明该节点已经由管理节点所控制。
- Node Group
对CSM系统受控节点的分组管理。默认的几个分组的判断条件是操作系统类型、版本,CSM版本,电源管理方式等。具体管理中可以实现自定义的分组。分组的定义方式类似于SQL中视图的定义,支持多条件及模糊条件,支持分组嵌套。另外CSM节点管理支持动态和静态分组。
- Distributed Shell (dsh)
使用dsh可以同时在集群中指定的一个或者多个节点上同时执行同一shell命令。比如 dsh -a date。
- Hardware control
硬 件控制功能依赖于xSeries335, xSseries345节点机以及RSA卡的支持,以实现对集群节点的一些基本操作,如开机、关机、关闭系统、重新启动等。此功能与节点是否安装操作系统 无关,因为这些指令直接由节点机主板上专门的服务处理器执行,只要节点电源正常,便会响应。
- Hardware Control Point
这里"硬件控制点"指的是RSA卡。
- rpower
rpower是CSM的一个重要的管理命令,用来控制节点的开机、关机、重新起动、状态查询等。一个典型的查询命令是这样的:rpower -n node01 query,表示查询名为node01的节点当前状态,正常结果on或off。
- Configuration File Management (CFM)
CFM的主要功能是保持所有节点配置文件同步更新。比如管理员要修改所有节点/etc目录下某个配置文件,他只需在管理节点编辑好一个同名文件,放在特定 目录下,然后执行一个简单的命令CFM就可以将配置文件更新到所有指定的节点。CFM也可用于普通文件的管理,其过程和管理配置文件相同。
- rdist
rdist是CFM的一个内部命令,完成更新指定节点指定文件的功能。
- Remote Console
借助MRV In-Reach Terminal Server 或者Equinox Serial Provider (ESP),可以在管理节点上切换至任意一个在CSM数据库中定义的节点的控制台,而与其是否已经安装操作系统无关。
- Event Response Resource Manager (ERRM)
CSM的ERRM模块可以响应已定义的事件,执行命令或脚本。一些重要的事件已经由CSM预先定义,用户也可以根据需要定制新的事件。ERRM可以监控的资源包括文件系统、节点可达性、程序运行状况等。
- Sensors
Sensors是用户自己编写的脚本,以获得系统的某个特定参数,并将其发送给ERRM,再由ERRM做出响应。
- Install (kickstart, NIM, SIS)
此功能模块使得集群在安装配置好管理节点后可以同时安装所有计算节点的操作系统及CSM。kickstart安装方式只支持RedHat Linux,SIS方式支持的Linux类型比较多,如RedHat, SuSe等。
- Logging
利用CSM日志记录,可以方便地定位错误,帮助分析系统状态。
- RMC Daemon (Resource Monitoring and Controlling)
RMC Daemon后台进程运行于集群的所有节点,监控资源状态,发送、接收、执行CSM命令。CSM中所有的管理功能,除了基本的硬件控制之外,全部都需要RMC Daemon的支持。
|
|
回页首 |
|
五、小结
Linux 集群技术近年来有了令人瞩目的发展,越来越多的服务商和研究人员致力于Linux集群各方面技术的研究,出现了各种各样的Linux集群系统解决方案。 Cluster1350是其中一个优秀的方案,它融合了一些已经很成熟的UNIX集群的思想与技术,也不排斥当前可用于Linux集群的开源软件,并且诸 多技术可以适应未来的随需应变的电子商务时代及实现集群的自主计算。Cluster1350将成为集群相关的商务应用和网格计算、高性能计算、高可用计算 等技术研究的重要基础。
关于作者