PowerVC で仮想マシンをデプロイした時に自動で設定される対象の確認(NPIVの場合)

### はじめに


PowerVC で仮想マシンのデプロイを実施した際に自動で作成されるオブジェクトがあります。

手動で作成した場合は任意の名前を付与できますが、自動で作成された場合では、人の方で考えていた設計のネーミングルールや、順序性に合わない場合があり気にされるケースがあります。

何がPowerVCによって自動作成されるのかをNPIV環境の仮想マシン作成の例で整理しました。


---

### 環境

・Server : IBM Power S1014
　　VIOS: 3.1.4.10
　　VIOC(デプロイしたVM): RHEL9.4 ppc64le (ホスト名 testrhel94u) ディスク1つをNPIVで接続
・HMC : V10R3.1050.0
・Storage : FS5015 (SVC 8.4.0.8)
・SAN switch: IBM_8969_F24 (FOS v9.0.1c)


<br>

* NPIV (N port ID Virtualization) については、補足情報を記載していますのでご参考ください。

---

### PowerVC の仮想マシン作成(NPIV接続)時に自動で作成される対象

一般的な IBM Power インフラストラクチャー概要図

![powerarch.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/5b20051e-97b8-a0f0-ee10-971b071d0e84.png)



---

### Power筐体

##### ①LPAR名

PowerVC から "testrhel94u" で指定した仮想マシンのLPAR名は __"testrhel94u-3965d9d5-0000004e"__ <font color="red">(仮想マシン名-xxxxxxxx-xxxxxxxx")</font> で作成されていることが確認できます。

![図1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/40fe33b5-2d10-d831-49ff-6bc7d0738ad2.png)

<br>

 経験則ですが、PowerVC に管理下にある際に HMC からLPAR名を変更してもエラー等が発生したことはありません。

---


#### 対象VM の LPAR、VIOS

##### ②−④ 仮想マシン LPAR仮想アダプター、⑤、⑥ VIOS LPAR仮想アダプター


仮想イーサネットは、アダプターID: 32 で作成されています。

![スクリーンショット 2025-01-25 16.30.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/e223d573-c5fa-4571-c3ea-bbc2eb5f62e1.png)

<br>

クライアント・ファイバーチャネルは、アダプターID: 2 が p1001v (VIOS 1) の ID :30 にマッピングしています。

![スクリーンショット 2025-01-25 16.29.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/8bbad455-b68d-58e9-f69f-5dd8f9508984.png)

<br>

クライアント・ファイバーチャネルは、アダプターID: 4 が p1002v (VIOS 1) の ID :41 にマッピングしています。

![スクリーンショット 2025-01-25 16.31.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/13a69d5d-95c2-2ab8-2378-8ef9381e86ba.png)

<br>

クライアント SCSIは、アダプターID: 3 (virtual optical device, デプロイ時に一時的に付与されるデバイス) は p1002v の ID:40 にマッピングしています。

![スクリーンショット 2025-01-25 16.33.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/22eca6b5-5e76-fed1-e479-3474fde3953e.png)




---

#### VIOS

##### ⑥ VIOS LPAR仮想アダプター


VIOS1号機

vfchost27 で作成した仮想マシンが紐づいています。

```
$  lsmap -vadapter vfchost27 -npiv
Name          Physloc                     ClntID ClntName            ClntOS
------------- --------------------------- ------ ------------------ -------
vfchost27     U9105.41B.785CA21-V1-C30        21 testrhel94u-xx(省略) Linux

Status:LOGGED_IN
FC name:fcs1                    FC loc code:U78DB.ND0.WZS02B8-P0-C7-T1
Ports logged in:3
Flags:0x2aa<LOGGED_IN,STRIP_MERGE,SCSI_CLIENT>
VFC client name:host1           VFC client DRC:U9105.41B.785CA21-V21-C2

```


VIOS2号機

vfchost27 で作成した仮想マシンが紐づいています。

```
$  lsmap -vadapter vfchost27 -npiv
Name          Physloc                     ClntID ClntName            ClntOS
------------- --------------------------- ------ ------------------ -------
vfchost27     U9105.41B.785CA21-V2-C41        21 testrhel94u-xx(省略) Linux

Status:LOGGED_IN
FC name:fcs1                    FC loc code:U78DB.ND0.WZS02B8-P0-C8-T1
Ports logged in:3
Flags:0x2aa<LOGGED_IN,STRIP_MERGE,SCSI_CLIENT>
VFC client name:host2           VFC client DRC:U9105.41B.785CA21-V21-C4
```

<br>





---
#### SAN switch / Fabric (SAN24B6)


##### ⑦ゾーン名

SANスイッチのログインし、zoneshow を実行します。
結果の対象箇所のみ抜粋です。

```
IBM_8969_F24:admin> zoneshow

(抜粋)
        
Effective configuration:
 cfg:	SANtestPower
 zone:	powervc_testrhel94u_3965d9d5_00_c050760c47620332500507680d76816e
		50:05:07:68:0d:76:81:6e
		c0:50:76:0c:47:62:03:32
 zone:	powervc_testrhel94u_3965d9d5_00_c050760c47620332500507680d76816f
		50:05:07:68:0d:76:81:6f
		c0:50:76:0c:47:62:03:32
 zone:	powervc_testrhel94u_3965d9d5_00_c050760c47620333500507680d76816e
		50:05:07:68:0d:76:81:6e
		c0:50:76:0c:47:62:03:33
 zone:	powervc_testrhel94u_3965d9d5_00_c050760c47620333500507680d76816f
		50:05:07:68:0d:76:81:6f
		c0:50:76:0c:47:62:03:33
 zone:	powervc_testrhel94u_3965d9d5_00_c050760c47620334500507680d76816e
		50:05:07:68:0d:76:81:6e
		c0:50:76:0c:47:62:03:34
 zone:	powervc_testrhel94u_3965d9d5_00_c050760c47620334500507680d76816f
		50:05:07:68:0d:76:81:6f
		c0:50:76:0c:47:62:03:34
 zone:	powervc_testrhel94u_3965d9d5_00_c050760c47620335500507680d76816e
		50:05:07:68:0d:76:81:6e
		c0:50:76:0c:47:62:03:35
 zone:	powervc_testrhel94u_3965d9d5_00_c050760c47620335500507680d76816f
		50:05:07:68:0d:76:81:6f
		c0:50:76:0c:47:62:03:35
```

PowerVC から "testrhel94u" で指定した仮想マシンのゾーン名は、
__powervc_test94u_xxxxxxx_xx_xxxxxxxxxxx__、 <font color="red">(powervc_仮想マシン名_xxxxxxx_xx_xxxxxxxxxxx_) </font> で作成されています。(8パス)


<br>



・powervc-config コマンドでゾーン名テンプレートを設定することが可能です。

コマンド例
```
# powervc-config storage fc-zone zone-name-template -t powervc_%(vm_name)s_%(initiator_wwpn)s_%(storage_hostname)s --restart
```


参考：[PowerVC command](https://www.ibm.com/docs/en/powervc-cloud/2.3.0?topic=cli-commands)

---

#### Storage (FlashSystem,SVC)

##### ⑧ホスト名

* ホスト

SVC で作成されたホストを確認します。

・(Flash System マニュアル) ホスト
https://www.ibm.com/docs/ja/flashsystem-9x00/8.7.0?topic=c-hosts
> ホストシステムとは、サポートされている接続プロトコルによってシステムに接続されているコンピュータのことです

<br>

VIOS NPIV 接続の場合は対象の仮想マシン(VIOC)、VIOS vscsi 接続の場合は、VIOSが対象のホストとなります。
今回はNPIV 接続のため、作成する仮想マシン用のホストが作成されます。



![スクリーンショット 2025-01-25 16.19.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/d56ad3d6-6870-5b77-a3c5-e22dfa41e178.png)

<br>

ホスト名は、__"testrhel94u-3965d95-0000004e-20725923"__ <font color="red">("仮想マシン名-xxxx-xxxx-xxxx")</font> という名前で作成されています。

![スクリーンショット 2025-01-25 16.40.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/da5c7dfe-b370-cb9a-ec50-d0ca152f466d.png)

<br>

ホスト ID は作成時に自動付与です。


<br>

・powervc-config コマンドでホスト名テンプレートを設定することが可能です。

コマンド例
```
# powervc-config compute storage_hostname_template --host <PowerVC で認識されたホスト名> --set '%(vm_display_name)s' --restart
```

参考：[PowerVC command](https://www.ibm.com/docs/en/powervc-cloud/2.3.0?topic=cli-commands)



---

##### ⑨ボリューム名

* ボリューム

SVC で作成されたボリュームを確認します。


![スクリーンショット 2025-01-25 16.43.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/de335bdc-a98a-fefd-823c-aca1833726d0.png)

<br.

__"volume-testrhel94u-3965d9d5-0000004e-boot-0-20dc03b5-3215"__ <font color="red">(volume-仮想マシン名-xxxxx-xxxxx-xxxx-boot-x-xxxxx-xxxxx")</font> というボリューム名で作成されています。

![スクリーンショット 2025-01-25 16.43.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/d4230626-b0a8-7f07-17ca-33ba499d3b63.png)


ボリューム ID は作成時に自動付与です。


<br>

・powervc-config コマンドで表示テンプレートを設定することが可能です。

コマンド例
```
# powervc-config storage vol-name-format --template "%(display_name).37s-%(id).13s" --storageHost <ストレージホスト名> --restart
```

参考：[PowerVC command](https://www.ibm.com/docs/en/powervc-cloud/2.3.0?topic=cli-commands)

<br>
PowerVC 管理下にある場合、ボリューム名を変更すると不整合エラーが発生します。その場合は、ボリューム名をもとに戻す、または、対象ボリュームを管理解除してボリューム名を変更し、再度管理下に置く対応が必要となります。


---

### 補足：NPIV とは

> NPIVは、ファイバーチャネルネットワークのための標準テクノロジーで、1つの物理ファイバーチャネルポートを複数の論理区画で共有することを可能にする

>・物理ファイバーチャネルアダプタを複数のゲストOSで共有できる
・クライアント区画に対して、専用の論理ポートとして提供される
・各クライアントは独自のファイバーチャネルプロトコルアダプタを持っているかのように動作する
・NPIVの場合、クライアントLPARに直接LUNをゾーニングできる



GUI よるPowerVM I／O仮想化環境 構築_201306.pdf
https://ibm.ent.box.com/s/wa70c792l2lkr1jtc0vh3hzabxy6vhgb

p76, 77 引用抜粋

![スクリーンショット 2025-01-25 17.38.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/eebd01cb-17da-e461-ee34-0081f0dd6596.png)

手動で作成する場合は、以下の流れとなります。(PowerVC はこの流れを自動で行なっています)

![スクリーンショット 2025-01-25 17.38.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/4323ddff-7e22-7f5d-87d4-599f7dc08f0d.png)





---



### おわりに

PowerVC で自動作成すると、名前やデバイスの番号が自動で割り振られる箇所があります。
名前や順序が多少前後することを気にされる場合もあります。

名前についてはホスト名、ゾーン名、ボリューム名はテンプレート設定が可能です。

参考：[PowerVC command](https://www.ibm.com/docs/en/powervc-cloud/2.3.0?topic=cli-commands)

<br>

順番については、ネットワークデバイスの順序は制御できますが、ファイバーの認識順序は自動となると思われます。
仮想マシン側からデバイスの確認を行う方法もありますので、確認は容易に行うことは可能です。


仮想マシン側からコマンドで対象のVIOS の vfchost, fcs のマッピングを確認することもできます。(下記参考)


https://qiita.com/c_u/items/6103acb9b229509f9df5

https://qiita.com/c_u/items/341949edfc1ab544aca8

以上です。