はじめに
Power Systems で RHEL を動かす際に HMCと対象LPARの動的管理(DLPARなど)を行うには、RMC (Resource Monitoring and Control)が必要になります。
RMCを稼働させるには、対象の Linux に IBM Power Systems service and productivity tools というツールを導入することが必要となります。
IBM Power Systems service and productivity tools
発生した事象
service and productivity tools を対象のLinux VMに導入し、/etc/cloud/cloud.cfg の cloud_final_modules に reset_rmc を設定したにも関わらず、イメージ・キャプチャー、PowerVC から 対象イメージのデプロイを行っても、RMC が稼働していませんでした。
参考:[RedBooks] IBM PowerVC Version 2.0 Introduction and Configuration
https://www.redbooks.ibm.com/redbooks/pdfs/sg248477.pdf
p216
Note: Ensure that the cloud.cfg file has the reset_rmc module listed. If you do not
see the module listed, then make sure you update the OS to the latest version of
cloud-init.
In case the reset_rmc module is missing even after OS update, make sure you add
the module in cloud_final_modules section of the /etc/cloud/cloud.cfg as follows:
- reset_rmc
環境
PowerVC 2.0.1
RHEL 8.6 (PowerVC でデプロイした仮想マシン)
確認1 RMCのリセットを実行 (->解消せず)
参考:https://aix4admins.blogspot.com/2012/01/rmc-resource-monitoring-and-control-rmc.html
上記のサイトを参照し、RMCのリセットを実行します。
- Stopping and starting RMC without erasing configuration:
# /usr/sbin/rsct/bin/rmcctrl -z ## <--it stops the daemons
# /usr/sbin/rsct/bin/rmcctrl -A ## <--adds entry to /etc/inittab and it starts the daemons
# /usr/sbin/rsct/bin/rmcctrl -p ## <--enables the daemons for remote client connections
以下実行ログです。
# /usr/sbin/rsct/bin/rmcctrl -z
# /usr/sbin/rsct/bin/rmcctrl -A
0513-071 The ctrmc Subsystem has been added.
Enabling ctrmc.service for systemctl ...
0513-059 The ctrmc Subsystem has been started. Subsystem PID is 15071.
# /usr/sbin/rsct/bin/rmcdomainstatus -s ctrmc
Management Domain Status: Management Control Points
O A 0xb498cfb2a8e623d0 0001 xxx.xx.xxx.xx
# /usr/sbin/rsct/bin/rmcctrl -p
# /usr/sbin/rsct/bin/rmcdomainstatus -s ctrmc
Management Domain Status: Management Control Points
O A 0xb498cfb2a8e623d0 0001 xxx.xx.xxx.xx
ctrmc の再起動などが実行されていますが、RMCは非活動のままでした。
確認2 RMCデータベースの再作成を実行 (-> 解消)
recfgct コマンドを使用して、RMCデータベースの再作成を実行しました。
参考:recfgctコマンド
下記では /usr/sbin/rsct/install/bin/recfgct コマンドを実行していますが、rsctバージョンによっては、導入先が /opt/rsct/install/bin/recfgct である可能性があります。
- recfgct: deletes the RMC database, does a discovery, and recreates the RMC configuration
# /usr/sbin/rsct/install/bin/recfgct
Removed /etc/systemd/system/multi-user.target.wants/ctrmc.service.
Removed /etc/systemd/system/graphical.target.wants/ctrmc.service.
0513-071 The ctcas Subsystem has been added.
0513-071 The ctrmc Subsystem has been added.
Enabling ctrmc.service for systemctl ...
Created symlink /etc/systemd/system/multi-user.target.wants/ctrmc.service → /usr/lib/systemd/system/ctrmc.service.
Created symlink /etc/systemd/system/graphical.target.wants/ctrmc.service → /usr/lib/systemd/system/ctrmc.service.
0513-059 The ctrmc Subsystem has been started. Subsystem PID is 16448.
# echo $?
0
#
-> この実行後、すぐにRMCがActive状態になりました。
lssrc, startsrc で rsct を確認、起動
RHEL ppc64le でもlssrc, startsrc, stopsrc を実行することが可能です。(IBM Power関連パッケージの導入が必要と思われます)
- IBM.MCP を確認し、HMCとの接続を確認。
# lsrsrc IBM.MCP
/opt/rsct/bin/lsrsrc-api: 2612-022 A session could not be established with the RMC daemon on "local_node".
lssrc -a を実行。rsct は稼働していません。
# lssrc -a
Subsystem Group PID Status
ctcas rsct inoperative
ctrmc rsct inoperative
IBM.MgmtDomainRM rsct_rm inoperative
IBM.ERRM rsct_rm inoperative
IBM.AuditRM rsct_rm inoperative
IBM.SensorRM rsct_rm inoperative
IBM.HostRM rsct_rm inoperative
IBM.DRM rsct_rm inoperative
IBM.ServiceRM rsct_rm inoperative
# startsrc -s ctrmc
0513-059 The ctrmc Subsystem has been started. Subsystem PID is 617630.
# lssrc -a
Subsystem Group PID Status
ctrmc rsct 617630 active
IBM.ServiceRM rsct_rm 617779 active
IBM.MgmtDomainRM rsct_rm 617780 active
IBM.DRM rsct_rm 617840 active
IBM.HostRM rsct_rm 617879 active
ctcas rsct inoperative
IBM.ERRM rsct_rm inoperative
IBM.AuditRM rsct_rm inoperative
IBM.SensorRM rsct_rm inoperative
- HMC接続確認
lsrsrc IBM.MCP
Resource Persistent Attributes for IBM.MCP
resource 1:
MNName = "xxx.xx.xxx.xxx"
NodeID = 15173529171169048927
KeyToken = "xxxx.xxxx.xxxx.xxx.com"
IPAddresses = {"xxx.xx.xxx.xxx"}
ConnectivityNames = {"xxx.xx.xxx.xx"}
HMCName = "7063CR2*78xxxD"
HMCIPAddr = "xx.xx.xxx.xx"
HMCAddIPs = "xxx.xxx.xx.xxx,x.xxx.xxx.xx"
HMCAddIPv6s = ""
ActivePeerDomain = ""
NodeNameList = {"test-node"}
-> HMCへの接続が確認できました。rsctを起動するのみでRMC通信が可能となる場合もあります。
おわりに
/etc/cloud/cloud.cfg で設定する箇所が違うのかどうかという点を(いつか)確認できればと思います。