Chinaunix首页 | 论坛 | 博客
  • 博客访问: 101722799
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: LINUX

2008-04-28 22:16:41

 
文章来源中国IT实验室收集整理 作者Graham W…

定义节点组

    CSM 允许通过一些条件来对节点进行分组,这样,以后就可以针对某一组节点应用 CSM 命令了。对于需要引用具有相同属性的同类节点的情况来说,这一点将非常有用。

    CSM 既支持动态节点组又支持静态节点组。静态节点组包含节点名的一个固定列表,该列表可由管理员手动维护。比如,使用静态节点组,您必须手动将新定义的节点添加到相应的节点组中。在大型集群中,动态节点组更为常见,而且如果能被很好地设置还能节省大量时间和减少在命令行内的输入。动态节点组定义了这样的一个节点列表,该列表中的成员由特定的条件定义,而且如果一个节点(包括新定义的节点)满足这个给定的条件,它就会被自动放到相应的节点组。表 3 给出了一些动态节点组的定义。


表 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 有一个控制台服务器。

准备 Linux 发布版

    CSM 管理服务器应该包含需要跨集群安装的所有 Linux 发布版的 CD 上的全部内容。它也应该为在客户机上进行 CSM 安装做好准备,这是在任何安装进行之前都必须要做的。CSM 为此提供了两个命令,您必须为每个要安装的 Linux 发布版都要运行这两个命令。

要用所需的 CSM 数据准备 /csminstall/Linux 树,可以运行 copycsmpkgs 命令。例如:

copycsmpkgs -p /path/to/csm:/path/to/downloads InstallDistributionName=RedHatEL-WS 
	InstallDistributionVersion=4 InstallServiceLevel=QU1
copycsmpkgs -p /path/to/csm:/path/to/downloads InstallDistributionName=RedHatEL-AS 
	InstallDistributionVersion=3 InstallServiceLevel=QU5

要用所需的 Linux 发布版 CD 准备 /csminstall/Linux 树,可以运行 copycds 命令,例如:

copycds InstallDistributionName=RedHatEL-WS InstallDistributionVersion=4 
	InstallServiceLevel=QU1
copycds InstallDistributionName=RedHatEL-AS InstallDistributionVersion=3 
	InstallServiceLevel=QU5

一旦为这些 CD 设置好目录结构,您就能添加任意的定制包来在系统安装过程中进行安装或更新,例如:

  • Copy to /csminstall to ensure they are installed.
  • Copy to /csminstall to install only if an existing version is present.

可以用节点组名创建子目录以便在特定节点组上只安装或更新 RPMS(如果需要这么做的话)。

设置 CFM

    CSM 具有称为 Configuration File Manager (CFM) 的机制,可以用来跨集群分布文件。使用 CFM 可以跨集群发送相同的文件。如果在节点安装之前就做好设置,文件就会在安装过程中被分发。

    CFM 可以包含到管理服务器上的其他目录中的文件的链接。这些链接在被发送到节点时是跟随过来的而不是被复制过来的。这一点对于 hosts 之类的文件非常有用,如下所示:

mkdir /cfmroot/etc
ln -s /etc/hosts /cfmroot/etc/hosts

除了链接文件外,还可以复制文件到 CFM,例如:

  • 复制默认的 NTP 配置文件到 /cfmroot/ntp.conf
  • 为管理服务器添加服务器行,如下所示:
    /cfmroot/etc/ntp
    echo "management.server.full.name" gt; /cfmroot/etc/ntp/step-tickers

文件将会跨集群分发。

    在需要将少量文件发送到集群上的特定地点时,可以使用 CFM。但如果是要分发大型集群上的大量文件,最好不要使用 CFM 。例如,不要使用 CFM 来从一个 tar 归档文件安装额外的软件。如果在大型集群硬要使用 CFM,CFM 会花很长的时间运行,使之异常难用。请务必坚持用受支持的安装机制来安装软件。例如,使用 RPM 而非 tar 文件来安装软件并只复制配置文件(即那些很可能会随时间而更改的文件)到 CFM。

定制节点构建

    对于您计划安装在每个节点的操作系统来说,CSM 都有到标准网络安装机制的接口,比如 NIM on AIX®、autoYaST on Suse Linux 和 kickstart on Red Hat Linux。这里以 Red Hat 为例说明如何使用 kickstart 和 kickstart 配置文件进行节点安装。

    在开始设置 kickstart 之前,先要检查您是否拥有对所有节点的 rpower 控制权。这有助于 CSM 获得计算机的 UUID,尤其是在更新的 CSM 版本中。如果 UUID 不可用,或者 CSM 版本低于 1.4.1.3,CSM 就会尝试从节点的第一个 Ethernet 设备获得 MAC 地址。为了使 CSM MAC 地址收集可用,终端服务器配置必须匹配节点 BIOS 中的设置。使用 rconsole 命令可检查终端服务器连接。当成功建立起 rpower 控制和终端服务器连接(如果合适的话 )之后,就可以继续 kickstart 配置了。

    CSM 在文件 /opt/csm/install/kscfg.tmpl.* 中提供了默认的 kickstart 模板。如果需要的话,可以将这些模板复制到不同的文件并加以定制以更好地满足您自己的环境要求。这些模板是一个很好的起点,一般来说,您都应该采取对这些模板文件进行定制的方式而不是使用任何其他标准 kickstart 文件。原因是这些模板包含各种 CSM 函数(例如运行一个安装后脚本)的宏。CSM 通常在生成最终的 kickstart 文件供节点使用之前会先分析 kickstart 模板文件,这对于 kickstart 过程非常有帮助。最终的文件包含所有解析过的宏并包含针对模板内定义的一切内容的全部脚本。

通常,可以通过如下方式对模板进行更改:

  • 更改磁盘分区,可能需要包括 LVM
  • 改变默认密码
  • 编辑要被安装的包列表

    编辑完 kickstart 模板之后,运行 CSM setup 命令来生成最终的 kickstart 文件,并按如下所示进行最初的 UUID 或 MAC 地址收集:

csmsetupks -n node001 -k /opt/csm/install/your.kickstart.file -x

注意:需要使用 -x 开关,因为先前运行了 copycds 命令。

阅读(182) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~