OCI Windowsインスタンスへブロック・ボリュームの追加

本ブログは、[オラクル・クラウドの個人ブログ](https://qiita.com/letian/items/10152a4fec813c1b7d98)の1つです。

# 初めに
OCI上のWindowsインスタンスに、ディスクの容量が足りない時、ブート・ボリュームの容量拡張以外は、新しいブロック・ボリュームをの追加もできます（例えば、新しい<strong>Dドライブを追加</strong>したい時）。今回は、ブロック・ボリュームの追加方法を紹介したいと思います。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/01a98788-3eb4-c178-c2f6-fab5ff8452e5.png", width="450">

__検証環境__
VM: OCI Windows Server 2022
ブロック・ボリュームのサイズ：512 GB

__索引__
- [1. ボリュームの作成](#1-ボリュームの作成)
- [2. インスタンスへのボリュームのアタッチ](#2-インスタンスへのボリュームのアタッチ)
- [3. ボリュームへの接続](#3-ボリュームへの接続)
  - [3-1. iSCSIコマンドの取得](#3-1-iscsiコマンドの取得)
  - [3-2. iSCSIコマンドの実行](#3-2-iscsiコマンドの実行)
  - [3-3. ディスクの初期化](#3-3-ディスクの初期化)
  - [3-4. 新しいシンプル ボリュームの作成](#3-4-新しいシンプル-ボリュームの作成)
- [付録 (PowerShellコマンド)](#付録-powershellコマンド)

※、
STEP1から3-1まで、OCIコンソールで実施します。
STEP3-2から3-4まで、Windowsインスタンスで実施します。

# 1. ボリュームの作成
OCIメニュー → ストレージ → ブロック・ボリューム
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/6eaef4b0-9e64-0f39-f1cc-a0719935e374.png)

必要な項目を入力して、作成を開始します。
- ボリュームの名前：適当に入力する。
- AD：複数のドメインがある場合、選択できるが、東京リージョンの場合、<strong>AP-TOKYO-1-AD-1</strong>しか選択できない。
- サイズ：デフォルトは、<strong>1024</strong> GBとなる。この例では、512 GBを指定する。
- パフォーマンス・レベル、バックアップ・ポリシーなどの項目：デフォルトのままでよい。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/5c8e3e14-fe40-1d94-b4f7-7f340924ec9b.png", width="400">
ステータスは、"PROVISIONING"から"<font color=blue>AVAILABLE</font>"まで、1分間未満でした。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/e982bbab-c753-283d-0a66-beade961220e.png)

# 2. インスタンスへのボリュームのアタッチ
インスタンスは停止済(Stopped)の時、アタッチできないので、<strong>実行中(Running)</strong>の状態になったら実施してください。

アタッチの方法は、以下の２つがありますが、どちらでもOKです。

__方法-1. インスタンスの画面から、ブロック・ボリュームを検索__\
インスタンスの詳細画面に入って、"ブロック・ボリュームのアタッチ"をクリックし、作成したブロック・ボリュームを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/80aa7d78-fa0b-5710-f07b-018506256726.png)

アタッチメント・タイプ：<strong>iSCSI</strong>を選択する。
アクセス：デフォルトの「読取り/書込み」にする。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/46438668-8f59-64fd-6a18-b795dfb7d6af.png", width="500">

__方法-2. ブロック・ボリュームの画面から、インスタンスを検索__
ブロック・ボリュームの詳細画面に入って、"インスタンスにアタッチ"をクリックし、対象インスタンスを選択します。

アタッチメント・タイプとアクセスは、デフォルトのままでよいです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/aef810fc-96de-44ea-d979-e6a8661678c1.png)

対象のインスタンスを選択し、アタッチを開始します。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/7ffc191c-45f4-91b8-f0f9-dc32c551353c.png", width="500">

アタッチメント・プロセスには<strong>約1分</strong>かかります。

# 3. ボリュームへの接続
## 3-1. iSCSIコマンドの取得
上記と同じで以下の２つ方法がありますが、どちらでもOKです。いずれも、OCIコンソールからの取得となり、CLI/APIからの情報取得ができません。

__方法-1. インスタンスの詳細画面から取得__
アタッチされたブロック・ボリューム → 3 ドット → iSCSIコマンドおよび情報 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/43f48496-e369-32ae-a2b8-c15099200745.png)

iSCSIコマンドをコピーします。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/68c2895e-1f8e-1bd6-6a2e-205f7abfe37e.png", width="500">

__方法-2. ブロック・ボリュームの詳細画面から取得__
アタッチされたインスタンス → 3 ドット → iSCSIコマンドおよび情報 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/e7d157e8-300f-2b2a-888b-20ec3cb88599.png)

iSCSIコマンドをコピーします。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/727386b3-c930-25d7-51dc-4a9b1fc14c0a.png", width="500">

## 3-2. iSCSIコマンドの実行
WindowsインスタンスにRDPログインし、<strong>管理者ユーザー</strong>でPowershellを起動したら、コピーしたコマンドを実行します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/1ad7defd-a099-e2d4-10aa-d7d840a7c644.png)

## 3-3. ディスクの初期化
デスクトップのサーチ・ボックス(左下)に`diskmgmt.msc`を入力し、ディスクの管理を起動します。

アタッチされたブロック・ボリュームをアクセスする前、ディスクの初期化は必要です。パーティションのスタイル（デフォルトは<strong>GPT</strong>）を選択し、OKをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/937e3924-926c-0e59-fabb-300c9d02e63d.png)

ディスクの管理を使わず、PowerShellのコマンドでもOKです。
コマンド例: `Initialize-Disk -Number 1 -PartitionStyle GPT`

初期化の後、ディスクの状態は<strong>オンライン(Online)</strong>に変わりました。この時点では、ボリュームが作成されていないので、まだ利用できません。

## 3-4. 新しいシンプル ボリュームの作成
対象ディスクを選択し、右クリックで「新しいシンプル ボリューム (New Simple Volume)」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/2a22fc98-3872-2cba-c216-16c305721672.png)

ウィザードの開始が表示されたら、次へをクリックします。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/47812b2c-d7d8-3fdb-53c9-d8da814f5c24.png", width="450">
ボリューム・サイズを指定できます。この例では、デフォルトのままで進みます。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/a9a1f07d-c824-49c2-5613-a89f0f9a7654.png", width="450">
ドライブ文字の割り当ては、デフォルトのまま（D）で進みます。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/d4df5344-b9cc-725b-81ca-b6203312efca.png", width="450">
フォーマット関連項目のデフォルト内容は、次のようです。変更がなければ、次へ進みます。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/40581cd5-6b52-5b14-6f1f-940723a11b68.png", width="450">
最後の確認画面で、内容の確認ができます。問題がなければ、「完了 (Finish)」をクリックし、作成を開始します。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/01bc1def-ddd3-5985-3409-bd305d716242.png", width="450">

ディスクの管理を使わず、PowerShellのコマンドでもOKです。以下をご参考ください。
新しいシンプル ボリューム（パーティション）の作成:
`New-Partition -DiskNumber 1 -DriveLetter D -UseMaximumSize`

フォーマット：
`Format-Volume -DriveLetter D -FileSystem NTFS`

作成完了後、ディスクの管理からの確認結果：
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/bb72f848-685e-ea55-eb5a-a8e35beed5ce.png)

エクスプローラーからの確認結果：
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/1e6508e0-b346-2fb4-7b81-d289f5dd2e08.png", width="600">

以上です。

# 付録 (PowerShellコマンド)

```powershell
# iSCSI Command (Copy from OCI Console)
Set-Service -Name msiscsi -StartupType Automatic
Start-Service msiscsi
iscsicli.exe QAddTargetPortal <ip_address>
iscsicli.exe QLoginTarget iqn.2015-12.com.oracleiaas:<略>
iscsicli.exe PersistentLoginTarget iqn.2015-12.com.oracleiaas:<略> * <ip_address> 3260 * * * * * * * * * * * * * *

# Disk Management (Change parameters according to your need)
Initialize-Disk -Number 1 -PartitionStyle GPT
New-Partition -DiskNumber 1 -DriveLetter D -UseMaximumSize
Format-Volume -DriveLetter D -FileSystem NTFS
```
----
__関連記事__
[オラクル・クラウドの個人ブログ一覧](https://qiita.com/liu-wei/items/10152a4fec813c1b7d98)

__OCIドキュメント__
[Windowsインスタンスへのブロック・ボリュームの追加](https://docs.oracle.com/ja-jp/iaas/Content/GSG/Tasks/addingstorageForWindows.htm)