RHEL9へのPowerVC導入

今回は、RHEL9.2にPowerVC2.2.1を導入した際の手順を紹介します
OS導入までは完了していることを前提とします

### 1.Firewallをdisableする
systemctlコマンドを使って、firewallをdisbleしておきます
```
# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
     Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; preset>
     Active: active (running) since Fri 2024-07-26 15:54:15 JST; 28min ago
       Docs: man:firewalld(1)
   Main PID: 1193 (firewalld)
      Tasks: 2 (limit: 202090)
     Memory: 80.5M

# systemctl stop firewalld.service 
# systemctl status firewalld.service 
○ firewalld.service - firewalld - dynamic firewall daemon
     Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; preset>
     Active: inactive (dead) since Fri 2024-07-26 16:23:11 JST; 1s ago
   Duration: 28min 55.327s
       Docs: man:firewalld(1)
    Process: 1193 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARG>
   Main PID: 1193 (code=exited, status=0/SUCCESS)
        CPU: 384ms


# systemctl disable firewalld.service 
Removed "/etc/systemd/system/multi-user.target.wants/firewalld.service".
Removed "/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service".
[ 1761.179058] systemd-rc-local-generator[6872]: /etc/rc.d/rc.local is not marked executable, skipping.
# systemctl status firewalld.service 
○ firewalld.service - firewalld - dynamic firewall daemon
     Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; prese>
     Active: inactive (dead)
       Docs: man:firewalld(1)
```

### 2.リポジトリの作成
まず
・rhel-9.2-ppc64le-dvd.iso 
・rhel-highavailability-9.2-ppc64le-dvd.iso
の2つのメディアが区画内にあることを確認します
```
# ls -l /work
rhel-9.2-ppc64le-dvd.iso  rhel-highavailability-9.2-ppc64le-dvd.iso
```
任意の名前でディレクトリを作成し、そこにメディアをマウントします
```
# mkdir /media/rhel92dvd
# mkdir /media/rhel92-ha-dvd

# mount -t iso9660 -o loop /work/rhel-9.2-ppc64le-dvd.iso /media/rhel92dvd/
# mount -t iso9660 -o loop /work/rhel-highavailability-9.2-ppc64le-dvd.iso /media/rhel92-ha-dvd/
```
/etc/yum.repos.dディレクトリに移動し、以下の内容のファイルを作成します(ファイル名は任意)
```
# cd /etc/yum.repos.d/

# cat rhel92_base.repo 
[dvd-BaseOS]
name=RHEL92_BaseOS
baseurl=file:///media/rhel92dvd/BaseOS/
enabled=1
gpgcheck=0
gpgkey=file:///media/rhel92dvd/RPM-GPG-KEY-redhat-release

[dvd-AppStream]
name=RHEL92_AppStream
baseurl=file:///media/rhel92dvd/AppStream/
enabled=1
gpgcheck=0
gpgkey=file:///media/rhel92dvd/RPM-GPG-KEY-redhat-release

[dvd-HA]
name=RHEL92_High_Availability
baseurl=file:///media/rhel92-ha-dvd/
enabled=1
gpgcheck=0
gpgkey=file:///media/rhel92-ha-dvd/RPM-GPG-KEY-redhat-release
```
リポジトリが作成し、enableされていることを確認します
```
# yum repolist
Updating Subscription Management repositories.
Unable to read consumer identity

This system is not registered with an entitlement server. You can use subscription-manager to register.

repo id                   repo name
dvd-AppStream             RHEL92_AppStream
dvd-BaseOS                RHEL92_BaseOS
dvd-HA                    RHEL92_High_Availability
```

### 3.PowerVCの導入
PowerVC v2.2.1のtarファイルが区画上にあることを確認します
tarファイルを解凍し、"powervc-opsmgr-2.2.1"というディレクトリが作成されていることを確認します
```
# ls
anaconda-ks.cfg  Desktop  Documents  Downloads  Music  Pictures  PowerVC_V2.2.1_for_RHEL_Power_Linux_LE_062024_LCD8292901.tar.gz  Public  Templates  Videos

# tar -xzf PowerVC_V2.2.1_for_RHEL_Power_Linux_LE_062024_LCD8292901.tar.gz

# ls
anaconda-ks.cfg  Desktop  Documents  Downloads  Music  Pictures  powervc-opsmgr-2.2.1  PowerVC_V2.2.1_for_RHEL_Power_Linux_LE_062024_LCD8292901.tar.gz  Public  Templates  Videos
```
"powervc-opsmgr-2.2.1"ディレクトリに移動します
LANG=Cを設定します
```
# cd powervc-opsmgr-2.2.1/

# export LANG=C
```
opsmgrのセットアップを実行します
```
# ./setup_opsmgr.sh
```
opsmgrを確認後、インベントリを作成します
インベントリ情報(ipアドレス、エディション、legacy/standardの選択など)は、各環境に合わせて設定してください
```
# which powervc-opsmgr
/usr/bin/powervc-opsmgr

# powervc-opsmgr inventory -c powervc221
+--------------------------------------------------------------------------------+
|                               PowerVC Inventory                                |
+--------------------------------------------------------------------------------+
Configure Firewall (y/n) (Default: y): y
Legacy Installation (y/n) (Default: y): n
+--------------------------------------------------------------------------------+
   PowerVC Nodes                                                                  
Enter the number of nodes           : 1
+--------------------------------------------------------------------------------+
   INFO:                                                                          
     Primary/Bootstrap Node                                                         
  * First node specified will be considered as primary or bootstrap node.
     Sudo User                                                                      
  * Sudo user with same username and password across all nodes is required.
+--------------------------------------------------------------------------------+
   PowerVC Node(s) Information                                                    
     Node 1                                                                         
Enter IP/Hostname for Node 1        : x.x.x.x
Enter Username for all nodes        : root
Enter Password for all nodes        : 
+--------------------------------------------------------------------------------+
   Virtual IP                                                                     
Enter Virtual IP                    : x.x.x.x
+--------------------------------------------------------------------------------+



+--------------------------------------------------------------------------------+
|                         PowerVC Inventory - powervc221                         |
+--------------------------------------------------------------------------------+
Cluster Name              : powervc221     
Cluster ID                : 78f1f32d-734b-4f42-93f1-2622e0afb5f6
Install Method            : cluster        
Firewall Config           : True           
Login User                : root           
Virtual IP                : x.x.x.x  
Primary/Bootstrap Host    : x.x.x.x   
Hosts                     : x.x.x.x   
Edition                   : private_cloud  
+--------------------------------------------------------------------------------+
|                 *** End of PowerVC Inventory - powervc221 ***                  |
+--------------------------------------------------------------------------------+
...
pvc_sshkeys : copy SSH Key files if specified --------------------------- 0.03s
SSH Key exchange successfully completed at, 2024-07-30 11:39:22., 
 Refer to
 /opt/ibm/powervc-opsmgr/ansible/artifacts/powervc-opsmgr_powervc221_ssh_key_xchg_20240730_113913/stdout 
 for more details.
Inventory file generated successfully at /opt/ibm/powervc-opsmgr/ansible/inventory/powervc221
```
インベントリが正しく作成されていることを確認します
```
# powervc-opsmgr inventory -l
+--------------------------------------------------------------------------------+
|                         PowerVC Inventory - powervc221                         |
+--------------------------------------------------------------------------------+
Cluster Name              : powervc221     
Cluster ID                : 78f1f32d-734b-4f42-93f1-2622e0afb5f6
Install Method            : cluster        
Firewall Config           : True           
Login User                : root           
Virtual IP                : 192.168.81.8   
Primary/Bootstrap Host    : 192.168.81.5   
Hosts                     : 192.168.81.5   
Edition                   : private_cloud  
+--------------------------------------------------------------------------------+
|                 *** End of PowerVC Inventory - powervc221 ***                  |
+--------------------------------------------------------------------------------+
```
プリチェックを行い、追加で必要となったrpmファイルをインストールします
インストール後、もう一度プリチェックを行います
```
# powervc-opsmgr install -c powervc221 -p

# yum install /media/codeready/libknet1-1.28-1.el9.ppc64le.rpm 
# yum install /media/codeready/mysql-common-8.0.36-1.el9_3.ppc64le.rpm
# yum install /media/codeready/mysql-libs-8.0.36-1.el9_3.ppc64le.rpm 

# powervc-opsmgr install -c powervc221 -p
```
プリチェックを通過したら、インストールを行います
```
# powervc-opsmgr install -c powervc221
```
1時間〜1時間半ほどでインストールが完了します
バージョン等が正しいことを確認します
```
# cat /opt/ibm/powervc/version.properties
[2.2.1 Install]
name = IBM PowerVC
version = 2.2.1
build = 20240522-1137
oem = no
install-date = 2024-07-31
cloud_enabled = yes
cluster = powervc221
install_method = cluster
```
以上です