清单 1 给出了一个简短的示例节点定义文件。如果其他节点具有与之相同的属性,可以在默认 stanza 文件的顶部定义它们。之后,每个 stanza 都应该代表一个节点名,下跟特定于节点的属性。这个例子显示了应该怎么样定义示例集群中的这三个机器 —— 两个计算节点,一个存储服务器。
清单 1. 示例节点定义文件
default:
ConsoleMethod = mrv
ConsoleSerialDevice = ttyS0
ConsoleSerialSpeed = 9600
InstallAdapterName = eth0
InstallCSMVersion = 1.4.1
InstallMethod = kickstart
InstallOSName = Linux
InstallPkgArchitecture = x86_64
ManagementServer = mgmt001.cluster.com
PowerMethod = bmc
node001.cluster.com:
ConsolePortNum = 1
ConsoleServerName = term002
HWControlNodeId = node001
HWControlPoint = node001_d.cluster.com
InstallDistributionName = RedHatEL-WS
InstallDistributionVersion = 4
InstallServiceLevel = QU1
node002.cluster.com:
ConsolePortNum = 2
ConsoleServerName = term002
HWControlNodeId = node002
HWControlPoint = node002_d.cluster.com
InstallDistributionName = RedHatEL-WS
InstallDistributionVersion = 4
InstallServiceLevel = QU1
stor001.cluster.com:
ConsolePortNum = 2
ConsoleServerName = term001
HWControlNodeId = stor001
HWControlPoint = stor001_d.cluster.com
InstallDistributionName = RedHatEL-AS
InstallDistributionVersion = 3
InstallServiceLevel = QU5
|
对于大型集群来说,节点定义文件的脚本要比本例中的这个脚本长很多。当如果将以下命令传递给 CSM ,它可以非常迅速地创建节点:
definenode -f <node-def-filename>
|
注意 node-def-filename 可被改为您在其中存储节点定义文件的文件名,例如,definenode -f //tmp/my_nodes.def。
CSM 节点数据库现在应该包含所有节点。对于本例中这个小型的集群来说,节点数据库应该包含 16 个计算节点、1 个用户节点、1 个调度器节点和 1 个存储服务器。CSM 管理服务器并不出现在 CSM 数据库内。可以通过 lsnodes 命令查看节点列表。还可以使用 lsnode -F 命令来查看更加详细的列表,该列表可用来备份 CSM 节点定义。如果将该命令的输出重定向到一个文件,您就可以使用 definenode -f 命令来重新定义节点了。
定义节点组
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 集群(1): 简介和硬件配置 下一篇:linux环境变量设置及保存地点
【文章评论】
【收藏本文】
【推荐好友】
【打印本文】
【我要投稿】 【论坛讨论】
更多相关文章
|
|