AIX cluster.doc_第1页
AIX cluster.doc_第2页
AIX cluster.doc_第3页
AIX cluster.doc_第4页
AIX cluster.doc_第5页
已阅读5页,还剩9页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

IBM System p 集群节点的快速发现与管理程 燕, 软件工程师, IBM程燕,IBM 中国软件开发中心 HPC 部门的软件工程师,主要从事集群系统管理软件的相关研发工作。王 磊, 软件工程师, IBM王磊,就职于 IBM 中国系统与技术实验室,在 HPC 部门负责集群管理软件的开发。孙 靖, 软件工程师, IBM孙靖,IBM 中国软件开发中心 HPC 部门的软件工程师,主要从事集群系统管理软件的相关研发工作。简介:在实施 HMC-Attached System p 集群时,必然将 System p 节点,CEC FSPs (Service Processors) 或者 Frame BPAs(Bulk Power Assemblies)与 HMCs(Hardware Management Console)通过以太网连接起来。如何能够高效地管理 System p 节点以及 System p 节点与 HMCs 之间的链接是实施大规模集群时必然面对的问题。本文主要讲述了在 HMC-Attached System p 集群中,如何建立集群管理网络 Service Network。标记本文!发布日期:2010 年 3 月 29 日 级别:中级 访问情况241 次浏览 建议:0(添加评论) 平均分 (共 1 个评分 )在 Serive Network 中,设置一台管理服务器 MS (Management Server),通过 MS 中植入的 OpenSLP 工具以及定制的脚本,可以动态发现和高效管理集群中的所有节点。SLP 是 IETF 标准协议,广泛用于网络服务的动态发现。IBM System p 集群中的所有节点,包括 Frame BPAs,CEC FSPs 以及 HMCs,均支持 SLP 协议。建立 Service Network在 HMC-Attached System p 集群中,管理员首先要将 HMCs 与 CEC FSPs 或者 Frame BPAs 通过以太网连接起来。然后,管理员需要登录某个 HMC,将 CEC FSPs 和 Frame BPAs 的 IP 地址,手动添加至 HMC。当集群中的节点增加或者减少时,管理员都要相应地调整以太网,同时登录 HMC 进行相关的增加或者删除操作。当集群规模较小时,这种方法是可行的。但是当集群规模扩大时,需要更改的节点增多,或者 HMC 需要移交,管理员的操作难度就会加大,管理效率就会降低。如果可以在 HMCs 与 CEC FSPs 或者 Frame BPAs 连接的以太网中设置一台管理服务器(MS),并且在 MS 上启用 DHCP 服务。通过 MS,管理员可以快速的执行以下任务:(1)动态发现集群中的节点:HMCs,CEC FSPs 和 Frame BPAs。(2)快速建立或者删除 HMCs 与 CEC FSPs 或者 Frame BPAs 之间的链接。那么管理员就可以通过这个独立的以太网对整个集群进行快速而且高效的管理。本文将这个独立的集群管理网络称之为 Service Network。图 1.Service Network 拓扑结构Service Network 将 MS 和 IBM System p 集群中的所有节点通过交换机连接起来,构成一个独立的以太网。在 MS 上构建 DHCP 服务,当集群中的节点(比如 HMCs,Frame BPAs 以及 CEC FSPs)连接至 Service Network 时,将会获得一个 IP 地址。一般来说,HMC 有两个集成网口,eth0 和 eth1。可以将 eth0 用于连接 Service network,将 eth1 用于连接公网。对于 Frame BPA,可以只将一个端口(比如 SideA)连接至 Service Network;但通常情况下,管理员会将两个端口 SideA 和 SideB 一并连接至 Service Network。另外,HMC 本身也提供 DHCP 服务,为了保证 Service Network 的稳定性,建议将 DHCP 服务放置于 MS 上。通过 Service Network,所有的节点之间均可互相通信。在 MS 上启动 DHCP 服务在 MS 上,当 DHCP 服务配置成功之后,将 Service Network 中的各个节点顺序加电或者重启,所有的 HMCs,BPAs 和 FSPs 将会获得同网段的网络地址。当加电或者重启完成后,可以在 MS 上查验各个节点获得的 IP 地址。回页首动态发现集群中的节点SLP 简介SLP 是 IETF 标准协议 , 广泛用于网络服务的动态发现。作为客户端,SLP 可以使用服务类型或者属性来查找服务;作为服务提供者,SLP 可以在网络中广播自己的特色服务。在 SLP 中有三种角色:UA(User Agent, 用户代理),SA(Service Agent, 服务代理),DA(Directory Agent, 目录代理 )。UA 是 SLP 中的客户端,它可以根据服务的类型和属性,在网络中查找符合条件的服务。SA 是 SLP 中的服务器端,它提供了它所代理的服务的基本信息,并与 UA 与 DA 交互。DA 是一个可选的角色,它提供了一种集中式目录服务,SA 可以在上面注册服务,UA 可通过 DA 来查询,拥有 DA 就意味着不必每个 SA 都需要广播服务。这样 UA 与 SA 可以不必直接通信,在大型网络中可以有效降低网络流量。OpenSLP 简介OpenSLP 是 SLP 的一个开放源码实现,包含了用户可编写的 SA 和 UA 使用的 API 库。另外还提供了一个 DA,名为 slpd,配置文件为 /etc/slpd.conf。表 1. OpenSLP API 库的主要函数:函数 含义 SLPOpen 打开一个 OpenSLP API 实例 SLPClose 关闭一个 OpenSLP API 实例 SLPReg 注册一个服务和 URL SLPDereg 为服务注销一个 URL SLPFindSrvs 查找已注册的给定服务类型的服务 SLPFindSrvTypes 查找为某个范围注册的所有服务类型 除了 API 库之外,OpenSLP 还提供了 slptool,可以交互执行大部分的 SLP 功能,对于快速的注册或者查找服务非常有用。slptool 的用法也比较简单,命令行语法: #slptool options command-and-arguments options 是可选参数,command-and-arguments 是用于注册或者查询的参数。在本文中,我们主要使用 slptool 的查询功能。例如,要查询已注册目标服务器的服务,我们可以使用: #slptool findsrvs service:myserv 要查询已注册目标服务器的服务类型,我们可以使用: #slptool findattrs service:myserv 回页首MS 上使用 slptool 动态获取节点信息IBM System p 集群中的所有节点,HMCs、Frame BPAs 和 CEC FSPs 均支持 SLP 协议。在 Service Network 中,管理员更关心如何获取节点信息。集群中的节点相当于 SLP 中的 SA 或者 DA,MS 相当于 UA。那么在 MS 上,可以使用 OpenSLP 提供的 slptool 动态查找所有的节点信息。清单 1. 使用 slptool 发现新版本 HMC (V 及其以上版本) # slptool findsrvs service:management-software.IBM:hardware-management-console service:management-software.IBM:hardware-management-console: /30,5040 service:management-software.IBM:hardware-management-console: /fe80:21a:64ff:fe79:d258/64,65535 service:management-software.IBM:hardware-management-console: /fe80:21a:64ff:fe79:d25a/64,65535 service:management-software.IBM:hardware-management-console: /21,9900 # slptool findattrs service:management-software.IBM:hardware-management-console (type=hardware-management-console),(level=3),(machinetype-model=7042CR4), (serial-number=069037B),(name=cdlhmc4),(uuid=402c67c72375b6016a80001a647aad46), (ip-address=30,,fe80:21a:64ff:fe7a:ad46/64,fe80:21a:64ff:fe7a:ad48/64),(web-url=),(mtms=7042CR4*069037B),(web-management-interface=true),(secure-web-url=),(cimom-port=),(secure-cimom-port=5989) (type=hardware-management-console),(level=3),(machinetype-model=7042CR4), (serial-number=066F61B),(name=cdlhmc3),(uuid=4041fc8e666bb6013d58001a6479d258), (ip-address=21,, fe80:21a:64ff:fe79:d258/64,fe80:21a:64ff:fe79:d25a/64),(web-url=), (mtms=7042CR4*066F61B),(web-management-interface=true),(secure-web-url=:8443),(cimom-port=),(secure-cimom-port=5989) 清单 2. 使用 slptool 发现低版本 HMC (V 以下的版本) # slptool findsrvs service:management-software.IBM:hardware-management-console: service:management-software.IBM:hardware-management-console:/87,3852 (type=hardware-management-console),(level=3),(machinetype-model=7310CR4), (serial-number=101292B),(name=), (uuid=b9e325690eb23d569d21087ab25891df),(ip-address=87,87, 87), (web-url=),(mtms=7310CR4*101292B),(web-management-interface=true), (secure-web-url=:8443),(cimom-port=), (secure-cimom-port=5989),0 service:management-software.IBM:hardware-management-console:/87,3852 (type=hardware-management-console),(level=3),(machinetype-model=7310CR4), (serial-number=101292B),(name=), (uuid=b9e325690eb23d569d21087ab25891df), (ip-address=87,87,87),(web-url=),(mtms=7310CR4*101292B), (web-management-interface=true), (secure-web-url=:8443), (cimom-port=),(secure-cimom-port=5989),0 清单 3. 使用 slptool 发现 BPA # slptool findsrvs service:management-hardware.IBM:bulk-power-controller service:management-hardware.IBM:bulk-power-controller:/5,65535(type=bulk-power-controller),(serial-number=99200G1),(machinetype-model=9A00-100),(fru-serial-number=0),(name=Server-9A00-100-SN99200G1),(frame-number=0),(cage-number=0),(ip-address=5,39),(web-url=5:473),(slot=0),(bpc-machinetype-model=9A00-100),(bpc-serial-number=99200G1),(Image=fips350/b1014p_0943.350),(cimom-namespace=),(secure-cimom-port=),(firmware-image-info=EP350_034),(mtms=9A00-10099200G1),(MicroActiveCodeImage=EP350_034),(MicroInactiveCodeImage=EP350_034),(level=3),0 service:management-hardware.IBM:bulk-power-controller:/47,65535(type=bulk-power-controller),(serial-number=99200G1),(machinetype-model=9A00-100),(fru-serial-number=0),(name=Server-9A00-10099200G1_A),(frame-number=0),(cage-number=0),(ip-address=47,31),(web-url=47:473),(slot=1),(bpc-machinetype-model=9A00-100),(bpc-serial-number=99200G1),(Image=fips350/b1014p_0943.350),(cimom-namespace=),(secure-cimom-port=),(firmware-image-info=EP350_034),(mtms=9A00-10099200G1),(MicroActiveCodeImage=EP350_034),(MicroInactiveCodeImage=EP350_034),(level=3),0 清单 4. 使用 slptool 发现 FSP # slptool findsrvs service:management-hardware.IBM:cec-service-processor service:management-hardware.IBM:cec-service-processor:/69,65535( type=cec-service-processor), (serial-number=10F0C43), (machinetype-model=8234-EMA), (fru-serial-number=YL10D8317144), (name=), (frame-number=0), (cage-number=0), (ip-address=69,45), (web-url=69:473), (slot=1), (bpc-machinetype-model=0), (bpc-serial-number=0), (Image=fips350/b1016a_0943.350), (cimom-namespace=root/ibmsd), (secure-cimom-port=5989), (firmware-image-info=EM350_036), (mtms=8234-EMA10F0C43), (MicroActiveCodeImage=EM350_036), (MicroInactiveCodeImage=EM350_031), (level=3),0 service:management-hardware. IBM:cec-service-processor:/32,65535( type=cec-service-processor), (serial-number=027ACA4),(machinetype-model=9125-F2A), (fru-serial-number=YH10HA93J00X), (name=fsp1),(frame-number=1),(cage-number=6),(ip-address=32,42), (web-url=32:473),(slot=1),(bpc-machinetype-model=9A00-100), (bpc-serial-number=99200G1),(Image=fips350/b1027a_0943.350),(cimom-namespace=), (secure-cimom-port=),(firmware-image-info=ES350_038),(mtms=9125-F2A027ACA4), (MicroActiveCodeImage=ES350_038),(MicroInactiveCodeImage=ES350_036),(level=3),0 创建自动化脚本由上面的示例可以看出,slptool 可以快速地动态发现集群中的所有节点;但是 slptool 所输出的信息较多,不太方便管理员分析关键信息。可以在 MS 上创建一个自动化脚本,只输出一些重要的信息。例如:MTMS,HostName,IP address 和 Frame number。清单 5. slptool 自动化脚本 #!/usr/bin/perl use strict; # 定义 HMC,CEC 和 BPA 的动态发现命令 my HMC_DISC_CMD = ( slptool findattrs service:management-software. IBM:hardware-management-console, slptool findsrvs ser-vice:management-software. IBM:hardware-management-console: ); my CEC_DISC_CMD = ( slptool findattrs ser-vice:management-hardware. IBM:cec-service-processor, slptool findsrvs ser-vice:management-hardware. IBM:cec-service-processor ); my BPA_DISC_CMD = ( slptool findsrvs ser-vice:management-hardware. IBM:bulk-power-controller ); my %allhmc; my %allcec; my %allbpa; disc_hmc(); disc_cec(); disc_bpa(); # 定制脚本执行后的输出格式 my $formatstr = %-10s %-12s %-15s %-20s %-30s %-12s %-12sn; printf ($formatstr, device, type-model, serial-number, hostname, ip-address, frame-number, cage-number); # 根据格式打印输出结果 foreach my $hmcinfo (values %allhmc) printf($formatstr,HMC,$hmcinfomachinetype-model, $hmcinfoserial-number,$hmcinfoname, $hmcinfoip-address); foreach my $cecinfo (values %allcec) printf($formatstr,CEC,$cecinfomachinetype-model, $ce-cinfoserial-number,$cecinfohostname, $cecinfoip-address,$cecinfoframe-number, $cecinfocage-number); foreach my $bpainfo (values %allbpa) printf($formatstr,BPA,$bpainfomachinetype-model, $bpainfoserial-number,$bpainfohostname, $bpainfoip-address, $bpainfoframe-number, $bpainfocage-number); # 动态发现 HMC sub disc_hmc my allout; # 执行 HMC 发现命令后,收集所有输出结果 foreach my $cmd (HMC_DISC_CMD) # Execute the command my output = $cmd; allout = ( allout, output ); chomp allout; # 分析每一行输出结果,抽取关键信息 foreach my $line (allout) my %kv; if ( $line = /type=hardware-management-console/ ) # Extract all “key=value” pairs and keep them in a hash foreach my $item (split /),/, $line) if ( $item = /(*(S+)=(S*)*/ ) $kv$1 = $2; # Use “type-model*serial-number” as the key $allhmc$kvmachinetype-model*$kvserial-number = %kv; #while ( my ($key, $value) = each %kv) # print $key = $valuen; # # 动态发现 CEC sub disc_cec my allout; # 执行 CEC 发现命令后,收集所有的输出结果 foreach my $cmd (CEC_DISC_CMD) my output = $cmd; allout = ( allout, output ); chomp allout; # 分析每一行输出结果,抽取关键信息 foreach my $line (allout) my %kv; if ( $line = /type=cec-service-processor/ ) foreach my $item (split /),/, $line) if ( $item = /(*(S+)=(S*)*/ ) $kv$1 = $2; $allcec$kvmachinetype-model*$kvserial-number= %kv; # 动态发现 BPA sub disc_bpa my allout; # 执行 BPA 发现命令后,收集所有的输出结果 foreach my $cmd (BPA_DISC_CMD) my output = $cmd; allout = ( allout, output ); chomp allout; # 分析每一行输出结果,抽取关键信息 foreach my $line (allout) my %kv; if ( $line = /type=bulk-power-controller/ ) foreach my $item (split /),/, $line) if ( $item = /(*(S+)=(S*)*/ ) $kv$1 = $2; $allbpa$kvmachinetype-model*$kvserial-number= %kv; 清单 6. 运行 slptool 自动化脚本显示结果 # ./nodedis_script device type-model serial-number hostname ip-address frame-number cage-number HMC 7042CR4 1050FBB e108m6hmc02 21, HMC 7310CR4 101292B e108v3hmc01 87, CEC 9125-F2A 0262662 33,44 1 4 CEC 9125-F2A 027ACB4 47,31 1 7 CEC 9125-F2A 027ACA4 42,32 1 6 CEC 8234-EMA 10F0C43 45,69 0 0 CEC 8204-E8A 06AD9A2 53,4 0 0 BPA 9A00-100 99200G1 39, 5 0 0 回页首管理集群中的节点在 Service Network 中,当管理员利用 slptool 动态发现 HMCs,Frame BPAs 和 CEC FSPs 节点之后,管理员可以根据实际的需求灵活地创建某个 HMC 与 Frame BPAs 或者 CEC FSPs 之间的链接。当 Frame BPAs 或者 CEC FSPs 节点发生变化时,管理员可以重设或者删除链接;当 HMC 发生变化时,管理员可以将现有的链接移交至另外一台 HMC;或者将一个 Frame BPA 或者 CEC FSP 节点同时链接至不同的两个 HMC,实现 HMC fail over 的功能。节点的管理功能主要包括以下两个方面:1. 建立或删除 Frame BPAs 与 HMCs 之间的链接 2. 建立或删除 CEC FSPs 与 HMCs 之间的链接 在对节点进行管理之前,管理员可以在 MS 上通过 SSH 登录某个 HMC,利用 HMC 提供的命令来实现管理功能。回页首SSH 登录 HMC在 MS 上,管理可以手动登录 HMC,但每次均需要输入密码比较麻烦。本文介绍了 MS 与 HMC 之间通过交换密钥的方式实现 SSH 自动登录。首先在 MS 上创建 RSA 密钥对。清单 7. 创建 RSA 密钥对 #rm -f /.ssh/id_rsa*;ssh-keygen -t rsa -f /.ssh/id_rsa -N Generating public/private rsa key pair. Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: ed:61:83:c7:c4:b5:d8:f7:f1:21:f7:7a:9a:0b:db:4d rootMS 该命令将在 /.ssh/ 目录下生成一对公钥和密钥。清单 8. 查看 RSA 密钥对 # ls -al /.ssh/id_dsa* -rw- 1 root root 1192 2009-10-15 22:41 id_dsa -rw-r-r- 1 root root 1115 2009-10-15 22:41 id_dsa.pub #cat /.ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArz+xFZyQcvfPG5+47JjmN9yBhphS/La0IMwSkdNS/ YSSmReEGdmHEyZgWzGyJREMy1VnufoGlngPUSIgYvS2UViKMEmdYFxelVkUXEBwc+utRR2sUgdE4M khMTO9obONIfMC05HqBejnf5ZfeQOf8SOXssEkwqGj/VVhS1SrNkmAhvC1+9m9ZXr4EE9KhEkCAgGg 5LXFBY29D30fluroQcGBYVXmPxhHiolfog6/M3Mx373xM7kgOw9MpQ/JcuD28DfpsX8f3lK3zvXqwB Nqqq3McINQQulIbr+w3kMvjI8S6vWhot0WLAEiKWVu4lF8RSAlFh6c+pcdbNAzAa9Ukw= rootMS 在 HMC 上用命令 kauthkeys -a string of id_rsa.pub 将 MS 上生成的公钥添加至 HMC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论