vscsi 接続の LPAR, 仮想マシンをコマンドで削除する方法の確認

#### はじめに


vscsi (virtual Small Computer System Interface) 環境のLPAR (Logical Partition, 仮想マシン) をコマンドで削除する方法を確認しました。


---

#### 環境


Hardware:
　Server:  IBM PowerSystems S1014
　Storage: FS5000 (code_level 8.4.0.8)
  HMC: 7063-CR2 V10R2.1040.0


Software
・VIOS 3.1.4.10 (冗長構成 VIOS#1, VIOS#2)



LPAR / Virtual Machine:
　　vscsi 接続 のLPAR AIX 7.3.1.1  
  　　　LPAR名 : testaix1024-6a5f75b5-00000162 

----

#### 手順

一つのサーバーから ssh コマンドを対象サーバー(HMC, SVC) に投げて実行しています。


---

##### 1. 事前確認

① LPAR IDを確認 (10進数、16進数)


```
# ssh -i /root/.ssh/id_rsa -n hscroot@hmc lssyscfg -r lpar --filter lpar_names=testaix1024-6a5f75b5-00000162 -F lpar_id -m S1014-01
20
```

LPAR ID は 20 です。

② VIOS 上の接続を確認するため、LPAR ID を 16 進数変換して確認します。

```
# export LPAR_16_NUM=$(printf "0x%08x" 20)
# echo $LPAR_16_NUM
0x00000014
```

10進数で 20 は 16 進数で "0x00000014" です。


③ VIOS の接続情報を LPAR ID から確認


VIOS #1 で実行

HMC 経由でVIOSコマンドを実行しています。

```
#  ssh -i /root/.ssh/id_rsa -n hscroot@hmc viosvrcmd -m S1014-01 -p VIOS1 -c  \" lsmap -all -fmt2 : -field SVSA vtd clientid backing\" | grep -i $LPAR_16_NUM
vhost12:0x00000014:vtscsi6:hdisk10

```

VIOS1 で LPAR ID 20 は vhost12, vtscsi6, hdisk10 での定義を確認しました。

```
#  ssh -i /root/.ssh/id_rsa -n hscroot@hmc  viosvrcmd -m S1014-01 -p VIOS2 -c  \" lsmap -all -fmt2 : -field SVSA vtd clientid backing\" | grep -i $LPAR_16_NUM
vhost9:0x00000014:vtscsi6:hdisk10
```

VIOS2 で LPAR ID 20 は vhost9, vtscsi6, hdisk10 での定義を確認しました。

---

##### 2. LPARを削除

LPAR情報の確認

```
# ssh -i /root/.ssh/id_rsa -n hscroot@hmc lssyscfg -r lpar -m S1014-01 --filter lpar_names="testaix1024-6a5f75b5-00000162"
name=testaix1024-6a5f75b5-00000162,lpar_id=20,lpar_env=aixlinux,state=Not Activated,resource_config=1,os=aix,os_version=AIX 7.3 7300-01-01-2246,os_image_date=12/02/2022,logical_serial_num=785CA21K,default_profile=default_profile,curr_profile=default_profile,work_group_id=none,shared_proc_pool_util_auth=0,allow_perf_collection=0,power_ctrl_lpar_ids=none,boot_mode=norm,lpar_keylock=norm,auto_start=0,redundant_err_path_reporting=0,rmc_state=inactive,rmc_ipaddr=172.16.200.xxx,time_ref=0,lpar_avail_priority=127,desired_lpar_proc_compat_mode=default,curr_lpar_proc_compat_mode=POWER10,simplified_remote_restart_capable=0,sync_curr_profile=1,affinity_group_id=none,vtpm_enabled=0,vtpm_version=null,vtpm_encryption=null,migr_storage_vios_data_status=Data Collected,migr_storage_vios_data_timestamp=Mon Oct 23 23:36:18 UTC 2023,powervm_mgmt_capable=0,pend_secure_boot=0,curr_secure_boot=0,keystore_kbytes=0,virtual_serial_num=none,description=
```

削除コマンドを実行

```
ssh -i /root/.ssh/id_rsa -n hscroot@hmc rmsyscfg -r lpar -m S1014-01 -n  "testaix1024-6a5f75b5-00000162" --vioscfg --vdisk -v
```


[rmsyscfg コマンド](https://www.ibm.com/docs/ja/power10/7063-CR2?topic=commands-rmsyscfg)

--vioscfg --vdisk  オプション付きで、VIOS の構成も削除しています。

> --vioscfg
> このオプションは、区画を削除するときに、その区画に関連付けられている Virtual I/O Server のアダプターとマッピングをすべて関連 Virtual I/O Server から削除する場合に指定します。


> --vdisk
> このオプションは、区画を削除するときに、その区画に関連付けられている仮想ディスク (論理ボリュームや共用ストレージ・プール論理装置を含む) をすべて削除する場合に指定します。


---

##### 3. VIOS で hdisk を削除

--vioscfg により VIOS上で vhost, vscsi は削除されていることが確認できていますが、
--vdisk オプションは効いていなかったのか、hdiskは残っていたので手動で削除します。


VIOS1 に対して実行

```
# ssh -i /root/.ssh/id_rsa -n hscroot@hmc  viosvrcmd -m S1014-01 -p VIOS1 -c \"rmdev -dev hdisk10\"
hdisk10 deleted
```

VIOS2 に対して実行

```
# ssh -i /root/.ssh/id_rsa -n hscroot@hmc  viosvrcmd -m S1014-01 -p VIOS2 -c \"rmdev -dev hdisk10\"
hdisk10 deleted
```


---

##### 4. ストレージでディスクを削除


ssh コマンドでリモートのサーバーから SVC に対してコマンドを実行しています。

① ディスクの存在を確認

```
# ssh -i /root/.ssh/id_rsa -n superuser@svc lsvdisk | grep testaix1024
41 volume-testaix1024-6a5f75b5-00000162-boot-0-948bee1f-0efd  0           io_grp0       online 0            power          25.00GB  striped                             60050763808106D7D8000000000002F6 0            1          not_empty        1             no        0                     0                   power                                     no         no      41        volume-testaix1024-6a5f75b5-00000162-boot-0-948bee1f-0efd           scsi

```

VM名の一部で抽出し、boot ボリューム1つが確認できています。


② ホストマッピングの確認

```
# ssh -i /root/.ssh/id_rsa -n superuser@svc lshostvdiskmap | grep testaix1024
0  VIOS1                                   10      41       volume-testaix1024-6a5f75b5-00000162-boot-0-948bee1f-0efd  60050763808106D7D8000000000002F6 0           io_grp0       private                                        scsi
1  VIOS2                                   10      41       volume-testaix1024-6a5f75b5-00000162-boot-0-948bee1f-0efd  60050763808106D7D8000000000002F6 0           io_grp0       private                                        scsi

```

VIOS1, VIOS2 のホストにマッピングされていることが確認でいます。


③ ディスクの削除 (-force オプション)

```
#  ssh -i /root/.ssh/id_rsa -n superuser@svc rmvdisk -force volume-testaix1024-6a5f75b5-00000162-boot-0-948bee1f-0efd
```

-force オプションを使用して、ホスト・マッピング、フラッシュコピー・マッピングも同時に削除します。

[rmvdisk コマンド](https://www.ibm.com/docs/ja/flashsystem-5x00/8.4.x?topic=vc-rmvdisk-1)

> -force オプション
> このボリュームと 1 つ以上のホストとの間にマッピングがまだ存在する場合でも、指定されたボリュームが削除されます。 ホストからボリュームへのマッピング、このボリュームに存在するすべての FlashCopy®マッピングが削除されます。 

---


④ 確認

```
#  ssh -i /root/.ssh/id_rsa -n superuser@svc lsvdisk | grep testaix1024
#
```

ディスクは削除されました。


----


#### おわりに


vscsi 構成のため、SANのゾーニングの変更はありません。

上記で対象の仮想マシンに紐づくリソースは削除されたと思います。



以上です。