该系列文章的目的是把分散在公共领域不同地方的、用各种硬件和软件创建工作的 Linux 集群的过程所需要的信息,集中在一个地方。但是,这些文章并不打算介绍关于设计一个完整的新的大型 Linux 集群所需的基础知识。请参阅参考资料下的参考资料和红皮书获得一般性的架构指南。
本系列的前两部分介绍集群的安装,概述了使用 IBM 系统管理软件 —— 集群系统管理(ClusterSystemsManagement,CSM)进行的硬件配置和安装。第一篇文章直切主题,介绍了硬件配置过程。第二篇文章介绍管理服务器的配置和节点安装。本系列后续文章将介绍集群的存储后端,包括存储硬件配置以及 IBM 共享文件系统 —— 通用并行文件系统(General Parallel FileSystem,GPFS)的安装和配置。
这个系列可供系统架构师和系统工程师在使用 IBM eServer 集群 1350 框架规划和实现 Linux 集群时使用。(请参阅参考资料)。出于培训目的,正常集群操作中的一些内容可能还与集群管理员有关。
第 1 部分:集群的通用架构
在采取任何配置步骤之前,一个良好的设计至关重要。设计分为两个部分:
?物理设计
?每种机架类型的机架布局(例如,管理机架和计算机架)
?机房设计:在安装和生产期间(如果两者不同)应当如何布置机架
?机架间的连接图(用于网络、电源、控制台访问等等)
?机架内的电缆连接(用于存储、终端服务器等等)
?逻辑设计
?网络设计包括:IP 地址范围、子网配置、计算机命名规范等等
?CSM 配置,包括:定制脚本位置、硬件设置、监视需求
?操作系统需求、定制包列表、系统配置选项
?存储布局,包括文件系统布局、分区、复制等等
示例集群(请参阅图 1)完全由基于 Intel® 或 AMD 的 IBM Systems 计算机以及附加的 TotalStorage 子系统构成(关于这些系统的更多信息,请参阅参考资料)为简单起见,用千兆铜线以太网电缆提供集群的内部连接。电缆在多数情况下可以用 bonded/port-channeled/etherchannel 链接提高机架间的带宽,从而提供良好的传输速率 在这里插入自己喜欢的中继项 。
网络拓扑采用星形结构,所有机架向后连接到管理机架的主交换机。示例集群使用三个网络:一个用于管理/数据(计算网络),一个用于集群文件系统(存储网络),一个用于管理性设备的管理。前两个网络是普通的 IP 网络。多数任务使用计算机网络,包括进程间通信(例如MPI)和集群管理。存储网络专门用于集群文件系统的通信和访问。
图 1. 集群架构图
示例集群的一些额外设计和布局细节包括:
?
管理服务器——
管理服务器的功能可以放在一台服务器或多台服务器上。在单台服务器环境中,管理服务器以独立模式运行。也可以设置高可用性管理服务器。可以使用 CSM
高可用性(HA)软件在两台服务器之间进行 “心跳测试“,在发生故障情况时管理服务器之间的动态故障屏蔽。引入额外管理服务器的另一种可行方法是:当HA在环境中不重要的时候,使用复制设置。在这种情况下,可以把管理服务器的数据备份到其他活动系统,可以通过手动设置将备份系统联机以便接管管理工作(如果有必要的话)。在图 1中,管理网络连接用红色显示。管理服务器是 CSM 服务器,它使用 CSM 功能专门控制集群:负责系统安装、监视、维护和其他任务。在这个集群中,只有一台管理服务器。
?
存储服务器和磁盘 —— 可以用多种机制把多台存储服务器连接到基于磁盘的后端。可以用光纤、铜缆或结合使用二者,直接把存储器连接到集群,或者通过存储区域网络(SAN)交换机连接(请参阅图 1)。
这些服务器为集群中的其他服务器提供共享的存储访问。如果需要数据备份,请用额外的铜缆或光纤链路把备份设备连接到存储服务器。对于示例集群,存储的备份端是个单一实体,提供了跨集群的共享文件系统访问。本系列的下一篇文章介绍存储硬件和集群文件系统设置、配置和实现的细节。
?
用户节点
——
理想情况下,集群的计算机节点不应该接受外部连接,只应当由管理员通过管理服务器访问。系统用户可以登录到用户节点(或登录节点),在集群上运行他们的工作。每个用户节点都包含带有完整编辑功能的镜像、必要的开发工具、编译器和开发支持集群的应用程序和检索结果所必需的所有其他内容。
?
调度器节点 —— 为了在集群上运行工作负荷,用户应当把自己的工作提交到调度器节点。在一个或多个调度器节点上运行的调度器守护程序使用预定的策略在集群上运行工作负荷。与计算机点一样,调度器节点也不应当接受来自用户的外部连接。系统管理员应当从管理服务器管理它们。
?
计算节点 —— 这些节点运行集群的工作负荷,接受来自调度器的作业。计算机节点是集群中最常使用的部分。系统管理员可以轻易地使用管理服务器重新安装或配置它们。
?
外部连接 —— 示例外部连接在图 1中用绿色显示。这些连接被看作在集群之外,所以本文将不多做说明。
硬件配置装配好机架并把它们放在适当位置上,连接好全部电缆之后,仍要做大量的硬件配置工作。本文不介绍特定于某种具体集群的特定电缆连接细节。本文使用了上面列出的示例集群设计作为具体示例,说明了在安装集群前所需的硬件配置
逻辑网络设计
在安装集群时最常被忽略的任务就是逻辑网络设计。理想情况下,在实现集群前,应该在纸上进行逻辑设计。有了逻辑网络设计之后,就用它创建主机文件。在小型集群中,如果网络上没有太多设备,可以手工编写主机文件。但是,通常最好是生成一个命名规范,然后编写一个定制脚本,自动生成主机文件.
#p#副标题#e#
确保网络上的所有设备都在主机文件中表示出来。请看如下示例(包含示例名称):
?管理服务器 (mgmt001 - mgmtXXX)
?存储服务器 (stor001 - storXXX)
?计算节点 (node001 - nodeXXX)
?调度器节点 (schd001 - schdXXX)
?用户节点 (user001 - userXXX)
这个命名规范只涉及了网络中的五类计算机系统,而且只有一个网络,所以还不够好。还要考虑存储网络和计算机网络,以及设备管理网络。所以这个文件还需要扩展。需要访问集群文件系统的每个节点都需要存储网络上的一个地址。每个节点在计算网络上需要两个地址:一个用于计算地址,另一个用于基板管理控制器
(BMC),BMC 用来进行硬件监视和电源控制。表 1 用示例 IP 地址范围描述了更全面的命名规范。
表 1. 主机文件命名规范
DeviceCompute 192.168.0.0/24BMC 192.168.0.0/24Storage 192.168.1.0/24Device 192.168.2.0/24External ext n/wManagement servermgmt001mgmt001_dmgmt001_smgmt001_mmgmt001_eStorage serverstor001stor001_dstor001_s