ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2.3.6 CSM、RMC和RSCT管理系统

2021-07-14 10:32:18  阅读:401  来源: 互联网

标签:CSM trace RMC rsct usr 2.3 RSCT HMC


最后更新2021/07/14

这是一组逻辑组件,由几种软件组合在一起,实现小型机、分区、HMC之间通信和控制,CSM、RMC和RSCT互相交织在一起,互相调用。作者作为IBM和Power系统及AIX的Fans通常会接受一切IBM的新技术,对其优点大加颂扬,对其缺点尽可能地辩护,可是IBM经常时不时地弄出些自以为很美,用户使用起来要吐的古怪东西。CSM、RMC和RSCT就是最著名的几例,如果要追溯历史上其他类似的产品,能超越这三者的只有PSSP,这是IBM SP小型机(也就是和卡斯帕罗夫下国际象棋的那种结构的小型机)的管理软件。在此我能为IBM进行辩护的唯一论点是IBM超越了时代,没有想到她的用户不都是数学家。

RSCT、RMC、CSM三者在当前AIX虚拟化环境中越来越重要,很多分区动态操作动作都是由这三者结合来实现的。RSCT用于建立HMC与分区之间的通信链路;RMC则通过RSCT控制分区资源的识别,进而实现动态资源调整(Dlpar功能);CSM则与HMC操纵分区安装和重启动过程相关,属于NIM网络安装的辅助功能。

CSM、RSCT与AIX补丁之间有一定的对应关系要求,通常AIX的某个版本及补丁,包含了或者必须要对应版本的RSCT、CSM。CSM、RSCT可安装的版本可以从AIX的安装盘中找到,而补丁则需要从IBM网站下载。另外HACMP/Power-HA的光盘上也有可安装的RSCT,但版本不一定匹配。

RSCT本质上是群集管理软件,目的是为了管理群集内各节点,实现单点管理,但RSCT本身并不具有管理功能,只能作为管理的基础,提供节点间通信功能。这些在同一管理域内的节点被称为peer,管理域被称为peer domain。RSCT中重要的管理功能来自Configuration Resource Manager即CRM。当安装AIX或者单独安装RSCT时,peer domain被自动创建,同时RSCT还会调用preprpnode命令,此命令设置可信的主机、IP地址。RSCT另外也初始化了一个与ACL有关的控制文件: /var/ct/cfg/ctrmc.acls。此配置允许其它节点访问所有在同一个peer domain中节点的资源。

由于RSCT通过peer domain授权支持其它节点访问本身信息,因此最常见的错误就是“Permission denied errors”,/var/ct/cfg/ct_has.thl文件中保存着授权主机列表,列表虽然不是加密保存,但也不是可显示的明文。另外两个文件/var/ct/cfg/ctrmc.acls和/var/ct/cfg/ctsec.nodeinfo中也有额外的一些信息,都是明文。他们都与授权有关,thl文件中保存节点信息,即包括自身,又包括管理者,HMC被设置为省缺的管理节点,安装AIX后系统会自动将HMC相关授权保存在配置文件中。通过命令/usr/sbin/rsct/bin/ctsthl -l可以显示详细内容;acls文件中保存授权的操作。

如果以上文件中一个或者多个出现错误,则会导致RSCT管理功能失败,包括HMC无法进行动态DLpar操作。/usr/sbin/rsct/install/bin/recfgct可以重新初始化授权文件。由于很多IBM的系统都基于RSCT的配置,所以重新初始化RSCT会影响到这些软件,例如GPFS、HACMP等等,所以在执行类似操作时,最好将GPFS/PowerHA/HACMP等软件停下来,以避免潜在的宕机风险。
如果执行了以上重新配置的过程之后,依然不能解决问题,比较简单的修复方案是删掉RMC, RSCT等等程序集,再重新安装。但是如果系统非常重要,不能任意删除程序集重新安装,下面的过程可以帮助你一点一点检查和修复RMC故障,当然此过程非常漫长,而且需要一定的经验。

  1. 检查RMC守护进程状态。执行lssrc命令,查看输出。
# lssrc -s ctrmc
Subsystem         Group            PID     Status
 ctrmc            rsct             2388    active

如果守护进程的状态是inoperative,则需要更进一步检查其为何没有active,因为省缺AIX启动会自动执行ctrmc进程。查看errpt错误报告有时会发现一些问题。同时,在syslog文件中(/var/log/messages)也会记录一些有用的信息(查找RMCD关键字)。

如果ctrmc没有active,可以通过命令rmcctrl重新启动,然后再次检查状态及错误记录:

#/usr/sbin/rsct/bin/rmcctrl -s

更进一步,可以直接执行/usr/sbin/rsct/bin/rmcd,任何错误提示都会直接打印到屏幕上。(rmcctrl -s也是执行rmcd以启动RMC)。

  1. 如果rmcd不能正常启动,可以查看netstat -a 或-an及-A。rmcd需要监听UDP/TCP协议的657端口,如果此端口被占用,则rmcd不能启动,可以使用lsof之类的命令查看657端口的占用者。而rmcd正常启动后,657端口状态也应当是LISTEN。
#/usr/sbin/rsct/bin # netstat -an | more
Active Internet connections (including servers)
Proto Recv-Q Send-Q  Local Address  Foreign Address        (state)
tcp        0      0  *.21                   *.*                    LISTEN
tcp4       0      0  *.22                   *.*                    LISTEN
tcp        0      0  *.23                   *.*                    LISTEN
tcp4       0      0  *.111                  *.*                    LISTEN
tcp4       0      0  *.199                  *.*                    LISTEN
tcp        0      0  *.657                  *.*                    LISTEN
  1. 使用rmcdomainstatus查看rmc管理域信息。应当可以看到HMC的(IP)信息及其状态(节点信息)。没有任何提示或者其他提示信息则表示RMC管理域中存在问题。
#/usr/sbin/rsct/bin/rmcdomainstatus -s ctrmc
Management Domain Status: Management Control Points
  I A  0xe81cea1a25060a2c  0001  10.10.160.72
  I A  0xb7b0064a1b1b75e9  0002  10.10.160.73

在一个RMC管理域中有多种类型节点信息:

  • S 表示自身节点信息
  • I 表示提示信息
  • A 表示active
  1. 检查RMC管理域相关的配置和运行log。
  • /etc/hosts中IP地址和域名对应。HMC的域名和IP可以不存在,但如果在/etc/hosts中有记录,则必须保证其正确。
  • 删除以下log
/var/ct/IW/log/mc/trace (ctrmc log)
/var/ct/IW/log/mc/IBM.CSMAgentRM/trace (CSMAgentRM log)
/var/ct/IW/log/mc/IBM.DMRSM/trace (DRM log)
  • 执行以下命令重新启动rmc之后,再次查看log:
#rmcctrl -z on both HMC and LPAR (在HMC上执行需要先申请pe password然后su到root)
#rmcctrl -A on HMC first
#rmcctrl -A on LPAR second
  • 等待5分钟后查看log,使用rpttr -o dtic trace命令查看以上log
  • 使用-l参数,依次查看lsrsrc各项,例如IBM.MCP
#/var/ct/IW/log/mc/lsrsrc IBM.MCP
Resource Persistent Attributes for IBM.MCP
resource 1:
        MNName           = "192.168.42.164"
        NodeID           = 16725500514158381612
        KeyToken         = "10.10.160.72"
        IPAddresses= {"10.10.160.72","172.17.0.2","fe80::e61f:13ff:fe2c:349c","fe80::e61f:13ff:fe2c:349e"}
        ActivePeerDomain = ""
        NodeNameList     = {"server5"}
resource 2:
        MNName           = "192.168.42.164"
        NodeID           = 13236086220194018793
        KeyToken         = "10.10.160.73"
        IPAddresses= {"10.10.160.73","172.16.0.1","fe80::e61f:13ff:fe2c:31b8","fe80::e61f:13ff:fe2c:31ba"}
        ActivePeerDomain = ""
        NodeNameList     = {"server5"}
  1. 在HMC上使用debug模式执行lspartition
lspartition -dlpar -debug
     <#0> Partition:<002, rp02.mytest.com, 10.114.69.66>
          Active:<1>, OS:<AIX, 5.2>, DCaps:<0xf>, CmdCaps:<0x1, 0x1>
          -------
     <#1> Partition:<004, rp04.mytest.com, 10.114.69.68>
          Active:<1>, OS:<AIX, 5.2>, DCaps:<0xf>, CmdCaps:<0x1, 0x1>
          -------
  1. 检查DLPAR守护进程(HMC上执行需要先申请pe password再su到root)
  • IBM.LparCmdRM用途:
    a) 在HMC上运行
    b) 完成DLPAR操作
  • IBM.DRM
    a) 在分区上运行
    b) 执行DLPAR命令
    c) 当HMC通过LparCmdRM发送过来命令之后执行
              HMC                               LPARs
1) DMSRM创建加密密钥并推送给LPARs   ------->    CSMAgentRM
                 <----------  返回记录信息 <-----------|
2) LparCmdRM  -----------> 发送LparCmd_cb  ------>DRM
                                                  |
                                             执行DLPAR命令
  1. 增加trace,如果已有的trace文件太小(trace文件是循环使用的),无法记录足够的信息,可以增加trace文件的大小。
#stopsrc -s <RM resource name>
#startsrc -s <RM resource name> -e TR_SIZE=#######

依次更改每个需要增大trace文件的资源

  1. 更改trace项目
  • ctcasd(以下更改将trace的详细程度从1升级到8,最高为9):
vi /usr/sbin/rsct/cfg/ctcasd.cfg
找到“TRACELEVELS= _SEC:Info=1,_SEC:Errors=1”一行,将其更改为:
“TRACELEVELS= _SEC:Info=8,_SEC:Errors=8”
stopsrc -s ctcasd
startsrc -s ctcasd
  • RMC守护进程跟踪
/usr/sbin/rsct/bin/rmctrace -s ctrmc -a all_but_msgs=2
#除了msgs之外的所有项目跟踪级别为2

/usr/sbin/rsct/bin/rmctrace -s ctrmc -a all=2
#设置所有项目跟踪级别为2

/usr/sbin/rsct/bin/rmctrace -s ctrmc -a all=0
#设置所有项目跟踪级别为0,即禁止任何提示信息。由于有一些信息是不受级别控制的,因此即使设置0,系统依然会显示出一些信息。

chssys -s ctrmc -a "-d all=2"
#跟踪rmcd启动
  • 对RMC GS(Group Service)跟踪
vi /usr/sbin/rsct/bin/rmcd_start
在“exec /usr/sbin/rsct/bin/rmcd $ROPT $MOPT $NOPT $@”一行之前增加:
export CT_TR_TRACE_LEVELS="_GSA:Info=2"
  • 对RMC 命令跟踪
#开启:
/usr/sbin/rsct/bin/rmctrace -s ctrmc -a prm=100
#Trace文件在/var/ct/IW/log/mc目录下

#禁止
/usr/sbin/rsct/bin/rmctrace -s ctrmc -a prm=0

#格式化输出。Trace文件所在位置/var/ct/<peer domain or IW>/log/mc(每个命令都有自己的trace文件。peer domain是一组数字,每个AIX实例中应当不同)
/usr/bin/rpttr -o dtic “trace文件名” 
  • RMC API。由于RMC被广泛地用在HMC分区管理、HACMP节点管理等许多地方都会调用RMC API,如果想要增加RMC trace的内容,可以使用如下命令:
export CT_TR_FILENAME=/tmp/cmd.trace
export CT_TR_SIZE=0x100000
#CT_TR_SIZE用于控制trace文件大小,本例中是1MB
export CT_TR_TRACE_LEVELS="_MCA:*=8"
# *代表所有项目
#执行lsrsrc或者其它相关命令,查看/tmp/cmd.trace文件是否被创建
#执行其他需要跟踪的RMC命令或者动作。以下2条命令禁止trace
unset CT_TR_FILENAME
unset CT_TR_TRACE_LEVEL

两个常见的RSCT问题是:比较旧的AIX在用mksysb安装系统时没有很好地重新初始化RSCT等唯一节点标识,导致两个用同一mksysb安装的系统RSCT ID冲突,建议先把AIX升级到比较新的TL,删掉RSCT再重新安装,或者删掉node ID再重新配置。彻底删掉Node ID再重新配置的过程如下:

#stopsrc -g rsct_rm
#stopsrc -g rsct
#/usr/bin/odmdelete -o CuAt -q 'attribute=node_uuid'
#/usr/sbin/rsct/bin/mknodeid -f
#/usr/sbin/rsct/install/bin/recfgct
#通常最后命令执行完后,rsct等进程会自动重新启动,如果没有重新启动,请参考本节前面的内容手工

另一个问题是在HMC和分区之间设置了防火墙,建议用单独的管理网连接HMC和分区。HMC和分区之间的连接可以通过独立的VLAN完成,不需要路由到其他VLAN,可以保证足够安全。

标签:CSM,trace,RMC,rsct,usr,2.3,RSCT,HMC
来源: https://blog.csdn.net/weixin_42051187/article/details/118721473

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有