a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 196|回复: 2

[红旗认证] 安装大型Linux集群的配置服务和安装简介

[复制链接]
发表于 2012-8-4 12:16:06 | 显示全部楼层 |阅读模式
从多个独立的硬件和软件,包括 System x? 和 IBM TotalStorage? 系统,创建一个可运行的 Linux? 集群。这个系列包含多个部分,本文是其中的第 2 部分,阐述了如何配置集群中的管理服务器以及如何安装节点。
; A( G, T; {4 x9 x4 l! r3 M  简介; [# F7 T7 @3 z- @
  本文是系列文章中的第 2 部分,该系列涵盖了安装和设置一个大型 Linux 计算机集群的全部内容。有关如何从多个独立的硬件和软件创建一个可运行的 Linux(R) 集群的资源很多,本系列力求把这些公共领域里的资源中的最新信息集中起来以供您参考。本系列文章无意为您提供有关如何设计一个新的大型 Linux 集群的基础知识;要获得一般性的架构方面的知识,请参考本文中提到的相关参考资料和 Redbooks?。
5 P# R' Y2 N/ h" n5 H  本系列是针对系统架构师和系统工程师使用 IBM eServer? Cluster 1350 框架配置板载磁盘,前提是服务器内至少有两个磁盘,并且需要为操作系统启用磁盘故障保护。1 {2 @4 e- E- s* p4 {, X3 C- u
  将磁盘配置为单一镜像之后,用第一个 RHEL CD 引导服务器来安装 RHEL 操作系统。根据控制台的不同,您可能需要更改安装的外观。例如,对于一个低分辨率的控制台,您可能需要通过在引导提示符后键入 linux vga=normal 来引导 CD。当看到 Linux 安装 GUI 时,请按照以下指导正常进行安装:
4 _6 [7 z& d) N6 i% j9 h; K. L0 @8 ?  选择语言、键盘图、鼠标类型等。配置磁盘分区,如下所示: 128Mb /boot 主分区。 2 GB 交换分区。 将剩余空间分配给 LVM 分区且不进行格式化执行逻辑卷 (LVM) 设置,如下所示: 命名卷组系统。 添加逻辑卷,如 表 1 所示。设置网络接口,如下所示: 根据以上的示例主机文件,激活 boot 上具有固定 IP 地址 192.168.0.253/24 的 eth0 。 将主机名设置为 mgmt001.cluster.com.。 在此阶段,不需要设置网关/DNS ,如果有外部 IP 信息,可以在安装过程中再对其进行配置。 将防火墙设置为 no firewall 以允许所有连接。如果需要 IP 表,可以在后面对之进行配置。应用本地设置,选择合适的时区。设置 root 密码;本例中的密码是 cluster。定制安装包使之包括如下内容: X Window 系统 KDE(即,K 桌面环境) Graphical internet 服务器配置工具 FTP 服务器 网络服务器 遗留软件开发 管理工具 开始安装。
  c0 S/ q$ _9 ~  表 1. 逻辑卷布局逻辑卷挂载点大小Root/ 8192 MBVar/var 8192 MBUsr/usr 8192 MBOpt/opt 4096 MBTmp/tmp 2048 MBCsminstall/csminstall 10240 MB
$ C! m( X4 B8 V* e  安装完成后,需要逐一处理所有安装后的设置屏幕。针对您自己的环境对管理服务器进行安装后的定制。比如,您可能需要配置 X 服务器使之适合您自己的 KVM(键盘、视频和鼠标)设置。
8 K9 a- Z  {9 K9 m5 }7 h& B  安装 CSM' K, Z4 s- [) V  y0 p
  在支持系统上安装 Cluster Systems Management (CSM) 软件总的来说多少比较简单。在 IBM Linux 集群文档库(参见 参考资料)可以找到 HTML 格式和 PDF 格式的相关文档。
1 V+ i! C$ I& O5 P, I) [  第一步是将软件复制到管理服务器。因为必须要以 root 用户身份执行安装,所以可以将其存储到 root 根目录。表 2 给出了一种合适的目录结构。
7 P$ Q& d, [' C3 t  Q  表 2. CSM 软件目录描述/root/manuals/csm/PDF 格式的 CSM 文档 /root/manuals/gpfs/PDF 格式的 GPFS 文档/root/manuals/rsct/PDF 格式的 RSCT 文档/root/csm/CSM 软件(CSM 压缩包的内容)/root/csm/downloads/开源 RPMS for CSM 下载(例如 autorpm)$ \% v5 k, `$ M
  要安装 CSM,需安装 csm.core i386 RPM 包。该包也适用于 the x86_64 架构。安装完该包之后,就可以安装 CSM 管理服务器了。首先,将 /etc/profile.d/Csm.sh 引入到当前的 shell 来获得新的路径设置。然后,运行 installms 命令并将 CSM 许可证应用到系统。以下是需要输入的命令:8 N6 _5 j4 l' o9 j: N* m
  rpm -ivh /root/csm/csm.core*.i386.rpm. /etc/profile.d/Csm.shinstallms -p /root/csm/downloads:/root/csmcsmconfig -L Your License File
* F; v" c  y; R( G% Z' X  注意:如果没有 CSM 许可证文件,同样可以运行 csmconfig -L 命令接受 60 天的试用许可证。60 天的试用期过后,您必须要应用正式的 CSM 许可证以继续 CSM 功能。
" m3 R3 u6 P2 Z1 d) v( }! Q  针对大型集群进行优化, ]8 v$ H( g% a1 O$ Y6 d6 i
  CSM 本身就具有可伸缩性。Red Hat Linux 在许多标准条件下也能很好地正常工作。但为了让大型的集群环境能顺利运行,还是需要对管理服务器进行一些优化。以下列举了优化方法的一些样例:6 X0 k% k0 P, w5 m8 [
  侦听在特定接口上的 DHCP 请求。 编辑 /etc/sysconfig/dhcpd DHCPD 配置文件以使 DHCPDARGS 设置为合适的接口。变量 DHCPDARGS 存在于 Red Hat Linux 的 /etc/init.d/dhcpd DHCPD 启动脚本中,用来启动具有特定参数的 DHCP 守护程序。为了能够在 eth0 侦听,请确保多个参数均已包含在引号之内,如下所示:
) V, s, w' d: U4 |$ I4 @  DHCPDARGS="eth0"增加 ARP 表大小和超时设置。 如果一个很大的网络的同一个子网上具有很多或全部集群,ARP 表就可能会过载,就会让人觉得 CSM 和网络请求的响应速度太慢。为了避免上述现象,需要对运行中的系统做如下更改,并将这些更改添加到 /etc/sysctl.conf 文件,以使更改能够持久有效:
- n9 r9 ^0 @8 q/ `1 A  net.ipv4.conf.all.arp_filter = 1net.ipv4.conf.all.rp_filter = 1net.ipv4.neigh.default.gc_thresh1 = 512net.ipv4.neigh.default.gc_thresh2 = 2048net.ipv4.neigh.default.gc_thresh3 = 4096net.ipv4.neigh.default.gc_stale_time = 240增加 NFS 守护程序的数量。 默认地,标准的 CSM 扇出值为 16。这意味着跨集群运行的命令会一次运行 16 个节点,节点安装也是如此。Red Hat Linux 的标准 NFS 设置是 8 个可同时运行的守护程序。您可以扩展 NFS,方法是增加 NFSD 线程数到 16 以匹配默认的 CSM 扇出值。如果增加扇出值,您可能也会想增加 NFS 的线程数。一般地,扇出值为 32、NFS 线程数为 32 对于保证速度和可靠性已经足够,而且还能允许同时安装具 32 节点的单个 rack。要实现这一目的,创建配置文件 /etc/sysconfig/nfs 并添加如下行:, I6 E  R' D- r  |
  RPCNFSDCOUNT=16设置 NTP 服务器。 默认的 Red Hat Linux 配置应该也适用于 NTP 服务器。向 /etc/ntp.conf NTP 配置文件添加一个配置行以允许集群网络上的节点能够与管理服务器的时钟同步,如下所示:
1 q! Y7 O6 b; T* U+ e( C  restrict 192.168.0.253 mask 255.255.255.0 notrust nomodify notrap如果管理服务器能够连到一个外部的时钟服务器,通过添加如下一行来将该管理服务器的时钟与这个外部时钟服务器同步:- E$ f( L- L. v+ S, z4 ?, E
  server server.full.name通过如下指令确保 NTP 服务器在运行并会在引导时自动启动:  X3 P) F% O9 x
  chkconfig ntpd onservice ntpd start安装节点
$ |( A# u# T* {* V- w# b  完成所有的设置和配置步骤之后,CSM 管理服务器就安装完毕了。在安装节点之前,需要在 CSM 管理服务器上完成一些额外的配置来定义节点安装的方式。在 CSM 管理服务器上执行本节所示的安装步骤。
回复

使用道具 举报

 楼主| 发表于 2012-8-4 12:16:07 | 显示全部楼层

安装大型Linux集群的配置服务和安装简介

  清单 1. 示例节点定义文件( J2 k( y# t/ M6 R1 p
  default:ConsoleMethod = mrvConsoleSerialDevice = ttyS0ConsoleSerialSpeed = 9600InstallAdapterName = eth0InstallCSMVersion = 1.4.1InstallMethod = kickstartInstallOSName = LinuxInstallPkgArchitecture = x86_64ManagementServer = mgmt001.cluster.comPowerMethod = bmcnode001.cluster.com:ConsolePortNum = 1ConsoleServerName = term002HWControlNodeId = node001HWControlPoint = node001_d.cluster.comInstallDistributionName = RedHatEL-WSInstallDistributionVersion = 4InstallServiceLevel = QU1node002.cluster.com:ConsolePortNum = 2ConsoleServerName = term002HWControlNodeId = node002HWControlPoint = node002_d.cluster.comInstallDistributionName = RedHatEL-WSInstallDistributionVersion = 4InstallServiceLevel = QU1stor001.cluster.com:ConsolePortNum = 2ConsoleServerName = term001HWControlNodeId = stor001HWControlPoint = stor001_d.cluster.comInstallDistributionName = RedHatEL-ASInstallDistributionVersion = 3InstallServiceLevel = QU5对于大型集群来说,节点定义文件的脚本要比本例中的这个脚本长很多。当如果将以下命令传递给 CSM ,它可以非常迅速地创建节点:2 o- Z) F* w+ ?$ M6 K
  definenode -f node-def-filename注意 node-def-filename 可被改为您在其中存储节点定义文件的文件名,例如,definenode -f //tmp/my_nodes.def。3 n  K* n* r# {3 u( y: f
  CSM 节点数据库现在应该包含所有节点。对于本例中这个小型的集群来说,节点数据库应该包含 16 个计算节点、1 个用户节点、1 个调度器节点和 1 个存储服务器。CSM 管理服务器并不出现在 CSM 数据库内。可以通过 lsnodes 命令查看节点列表。还可以使用 lsnode -F 命令来查看更加详细的列表,该列表可用来备份 CSM 节点定义。如果将该命令的输出重定向到一个文件,您就可以使用 definenode -f 命令来重新定义节点了。
) Y, x% N* N4 x) f1 }8 e8 k( W  定义节点组
0 m  c3 J. ^: c" V4 G! G9 f  CSM 允许通过一些条件来对节点进行分组,这样,以后就可以针对某一组节点应用 CSM 命令了。对于需要引用具有相同属性的同类节点的情况来说,这一点将非常有用。- _8 H' e3 n8 y# d- y! O
  CSM 既支持动态节点组又支持静态节点组。静态节点组包含节点名的一个固定列表,该列表可由管理员手动维护。比如,使用静态节点组,您必须手动将新定义的节点添加到相应的节点组中。在大型集群中,动态节点组更为常见,而且如果能被很好地设置还能节省大量时间和减少在命令行内的输入。动态节点组定义了这样的一个节点列表,该列表中的成员由特定的条件定义,而且如果一个节点(包括新定义的节点)满足这个给定的条件,它就会被自动放到相应的节点组。表 3 给出了一些动态节点组的定义。
+ a" B; y+ m  V8 U  l/ a1 l  表 3: 动态节点组定义命令注释Nodegrp -w "Hostname like ‘node%‘" ComputeNodes创建一个 ComputeNodes 节点组Nodegrp -w "Hostname like ‘schd%‘" SchedulerNodes创建一个 SchedulerNodes 节点组Nodegrp -w "Hostname like ‘stor%‘" StorageNodes创建一个 StorageNodes 节点组Nodegrp -w "Hostname like ‘user%‘" UserNodes创建一个 UserNodes 节点组Nodegrp -w "Hostname like ‘node%‘ && ConsoleServerName==‘term002‘" Rack02 nodegrp -w "Hostname like ‘node%‘ && ConsoleServerName==‘term003‘" Rack03 nodegrp -w "Hostname like ‘node%‘ && ConsoleServerName==‘term...‘" Rack... 基于 Hostname 和 ConsoleServerName 为每个 rack 创建一个节点组。假设每个 rack autorpm 有一个控制台服务器。. r5 j, F+ E7 m% J6 O% b: C
  准备 Linux 发布版
) L$ L. W' R; i6 Q  CSM 管理服务器应该包含需要跨集群安装的所有 Linux 发布版的 CD 上的全部内容。它也应该为在客户机上进行 CSM 安装做好准备,这是在任何安装进行之前都必须要做的。CSM 为此提供了两个命令,您必须为每个要安装的 Linux 发布版都要运行这两个命令。
  p7 a" s8 `) B/ v8 l6 C  要用所需的 CSM 数据准备 /csminstall/Linux 树,可以运行 copycsmpkgs 命令。例如:$ F4 J! G2 V% Y
  copycsmpkgs -p /path/to/csm:/path/to/downloads InstallDistributionName=RedHatEL-WS InstallDistributionVersion=4 InstallServiceLevel=QU1copycsmpkgs -p /path/to/csm:/path/to/downloads InstallDistributionName=RedHatEL-AS InstallDistributionVersion=3 InstallServiceLevel=QU5要用所需的 Linux 发布版 CD 准备 /csminstall/Linux 树,可以运行 copycds 命令,例如:+ X2 |6 g" Z8 C2 s' l) D3 V
  copycds InstallDistributionName=RedHatEL-WS InstallDistributionVersion=4 InstallServiceLevel=QU1copycds InstallDistributionName=RedHatEL-AS InstallDistributionVersion=3 InstallServiceLevel=QU5一旦为这些 CD 设置好目录结构,您就能添加任意的定制包来在系统安装过程中进行安装或更新,例如:! G: @4 Z4 ]# }7 Z2 i7 p2 Q# ?1 D
  Copy to /csminstallhttp://Linux.chinaitlab.com/.../x86_64/install to ensure they are installed. Copy to /csminstallhttp://Linux.chinaitlab.com/.../x86_64/updates to install only if an existing version is present.
; F6 g% D1 m/ L( ~3 }( d  可以用节点组名创建子目录以便在特定节点组上只安装或更新 RPMS(如果需要这么做的话)。! L$ Z6 J" W, o# z1 J& _
  设置 CFM
1 J) G& S% e) l: G  CSM 具有称为 Configuration File Manager (CFM) 的机制,可以用来跨集群分布文件。使用 CFM 可以跨集群发送相同的文件。如果在节点安装之前就做好设置,文件就会在安装过程中被分发。
+ F% _7 ]* w/ E6 X' |9 k  CFM 可以包含到管理服务器上的其他目录中的文件的链接。这些链接在被发送到节点时是跟随过来的而不是被复制过来的。这一点对于 hosts 之类的文件非常有用,如下所示:
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-4 12:16:08 | 显示全部楼层

安装大型Linux集群的配置服务和安装简介

  在使用 System x 硬件的例子时,您通常会希望获得板载 Broadcom Ethernethard 适配器的 Broadcom 网络驱动程序所提供的性能和稳定性。要实现这一目的,可按如下步骤操作,这些步骤使用的是 Broadcom bcm5700 驱动程序而不是 Red Hat Linux 提供的标准的 tg3 网络驱动程序:
/ y2 i5 _+ p$ z* a6 q- H& b! }8 d# a" `  因为处理的是一个内核模块,所以要确保针对目标系统安装的内核源匹配内核等级和类型(UP 或 SMP)。从 Broadcom (参看 参考资料)下载最新的 bcm57xx 驱动程序并解包驱动程序源代码。从解包后的 bcm 驱动程序的 src 目录运行 make 来针对当前的运行内核进行构建。将构建驱动程序 (bcm5700.ko for 2.6 kernel 或 bcm5700.o for 2.4 kernels)复制到管理服务器上的 /csminstall/csm/drivers/lt;kernel versiongt;/x86_64。如果想针对其他内核版本进行构建,可以运行 make clean 来清除当前的构建,然后再运行 make LINUX=/path/to/your/kernel/source。
) Z( s$ s5 u6 h4 [1 e  CSM 在构建 RAM 磁盘映像时,使用目录结构 /csminstall/csm/drivers/lt;kernel versiongt;/lt;architecturegt 之下的驱动程序;当内核版本匹配 RAM 磁盘内核版本时,这些映像用来在安装过程中引导系统。注意当为安装映像创建驱动程序时一定要小心:安装内核的内核版本号可能会不一样。例如 Red Hat 通常会在版本字符串尾部追加单词 BOOT。如果内核版本与所安装系统的运行内核相匹配,驱动程序对当前的操作系统也可用。如果您不能确认内核的版本,可以在 RAM 磁盘映像内进一步深入研究,如以下一节所述。' |0 _! ~4 U3 e5 A3 `" R" O9 d
  修改 RAM 磁盘
$ x6 Q: K3 r, W  通常,这一步骤不推荐使用。但有时候又不得不这么做,比如不能确认内核版本的情况。在由于更新应用程序或其他情况而需要深入研究 RAM 磁盘映像时,以下命令会很有帮助。
4 U  O& S; `# @! `, D+ Z; R  当使用主机总线适配器 (HBA) 将存储直接被连到 Red Hat Linux 系统时,存储驱动程序(例如 qlogic qla2300 驱动程序)可能会在 ServeRAID 驱动程序(用于内部系统磁盘即操作系统磁盘)之前加载。如果是这样,就意味着安装在错误的磁盘上了。/dev/sda 代表的是附加存储介质而非本地磁盘上的 LUN。在这种情况下,在安装新的操作系统时,对重写 SAN 上而非本地磁盘上的数据要格外小心。为避免其发生,请从 CSM 用来创建引导映像的默认 Red Hat RAM 磁盘上移除 qlogic 驱动程序。当然,系统运行时也需要驱动程序,所以请使用另外一种机制,例如 post 安装脚本来为运行中的操作系统安装驱动程序。由于默认 Red Hat qlogic 驱动程序通常都不是故障转移驱动程序,所以推荐采用上述做法。
6 e& x- `7 {7 Y. r  例如,从 Red Hat Enterprise Linux Advanced Server Version 3 的默认 RAM 磁盘映像移除 qla2300 驱动程序。表 4 给出了能实现此目的的命令。3 V: C0 X% a  w4 I3 G8 s! @
  表 4: RAM 磁盘命令命令目的cd /csminstallhttp://Linux.chinaitlab.com/RedHatEL-AS/3/x86_64/RedHatEL-AS3-QU5/images/pxeboot 转到包含所需更改的 RAM 磁盘映像的那个目录。cp initrd.img initrd.img.orig 备份原始映像。mkdir mnt 创建一个挂载点。gunzip -S .img initrd.img 解包这个映像。mount -o loop initrd.img /mnt 将这个映像挂载到挂载点。手动步骤手动移除所有到 mnt/modules/* 中的 qla
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-4-29 18:26 , Processed in 0.186928 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表