Azure仮想マシンのデータディスクを4TBで作成・拡張

#はじめに

2017年5月30日に[Announcing the preview of Azure’s Largest Disk sizes](https://azure.microsoft.com/ja-jp/blog/announcing-the-preview-of-azure-s-largest-disk-sizes/)ということで、Azure仮想マシンのディスクサイズ制限が1TB(1023GB)だったものが、最大4TB(4095GB)まで拡張されました。
これでシングルディスクで4TBが利用できます！(今までは記憶域プールなどを使って複数ディスクを束ねる必要がありました)
本記事執筆時点(2017年6月1日)では米国中西部(West US Central)リージョン限定で、Azureポータル上では4TBのディスクは作成できませんが、Azure Powershellを使えばすぐに利用可能です。

#データディスクの新規作成
仮想マシンに新たに4TBのデータディスクを追加する手順について確認します。

##仮想マシンの準備
検証に使う仮想マシンはリージョンを米国中西部(West US Central)に指定する他は適当に設定してデプロイしておきます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/cdb0696f-5b89-4cc9-2864-8f259342ffb3.png)


まだデータディスクは作成していません。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/cee81b50-b6b9-817f-89bb-afd5d2767642.png)

##データディスクの追加
今回はAzure Powershellを使ってデータディスクの追加を行います。
コマンド実行例は以下の通りです。

```posh
$vm = Get-AzureRmVM -ResourceGroupName <<リソースグループ名>> -Name <<仮想マシン名>>
Add-AzureRmVMDataDisk -VM $vm -Name <<データディスク名>> -VhdUri "https://<<ストレージアカウント名>>.blob.core.windows.net/vhds/<<データディスク名>>.vhd" -Lun 0 -DiskSizeInGB 4095 -CreateOption Empty
Update-AzureRmVM -ResourceGroupName <<リソースグループ名>> -VM $vm
```

DiskSizeInGBの最大値として今までは1023だったのが、4095まで指定できるようになりました。
コマンド実行後はAzureポータルからも確認ができます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/49dbfda7-c203-4006-e7d0-407dfe6a25a5.png)

##OS側でのディスクフォーマット
今回はWindows Server 2012 R2で試しました。
RDPでログインして、Disk Managementツールを起動します。
Disk 2が4095GBで割り当てられていますので、「Initialize Disk」で初期化しましょう。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/6c8d4175-66a2-1335-fd2e-b25fd74bd0c4.png)

2TB超えのディスクは標準でパーティションスタイルの選択が「GPT」になっていますが、このまま「OK」を押します
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/f823af90-a36d-aaa0-7541-ee545c3ae13f.png)

「New Simple Volume...」でフォーマットします。
サイズは最大、ドライブレターも適当で。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/1132bef2-8245-97da-df5d-9645546f7407.png)

フォーマット完了しました。これでエクスプローラーからも利用可能な状態になりました。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/49d0167b-c29b-1d2e-d0fc-c32acdda86ca.png)


#データディスクのサイズ拡張
続いて既存のデータディスク(1TB)を4TBに拡張する手順について確認します。

##仮想マシンの準備
検証に使う仮想マシンはリージョンを米国中西部(West US Central)に指定する他は適当に設定してデプロイしておきます。
今回はVMで使用するディスクはUnManaged(従来のストレージアカウント内にvhdファイルを格納する)な形式を使用しました。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/c2a01252-c7be-d053-3ae6-c62ea524a59f.png)

仮想マシン起動後、Azureポータルから「ディスク」「＋データディスクの追加」で2つのディスクを追加します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/856ae8c5-989a-5ec9-2c32-dadb61076109.png)

ディスクは2つともにサイズは1023GBを指定します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/fae9d156-8810-e8b5-497c-0113ac0280ee.png)

追加が終わったら「Save」で適用します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/fa270226-5fb0-3058-90be-36effa9c1d96.png)

##OS側でのディスクフォーマット
今回はWindows Server 2012 R2で試しました。
RDPでログインして、Disk Managementツールを起動します。
Disk 2とDisk 3がそれぞれ1023GBで割り当てられていますので、まずはDisk 2を「Initialize Disk」で初期化しましょう。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/15df73ba-c6eb-072a-4263-6ff3ae7a4183.png)

Disk 2,3全てチェックされており、パーティションスタイルの選択が「MBR」になっていますが、このまま「OK」は*押してはいけません*
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/c69438cc-1234-64c5-f716-0d05a31f9cbc.png)

今回はDisk 2だけ「MBR」で初期化しましょう。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/e57fbe32-7093-44bd-8906-8410188d57fc.png)

Disk 3は「GPT」で初期化します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/fb99b3b4-bc27-bb63-b6d9-5e5bccaabef1.png)

Disk 2,3それぞれ「New Simple Volume...」でフォーマットします。
サイズは最大、ドライブレターも適当で。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/6b6676fa-1c25-c322-fde3-d4ae4c540fd6.png)

それぞれフォーマット完了しました。これでエクスプローラーからも利用可能な状態になりました。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/20ac8005-45de-05a0-8246-1afac36e26d2.png)

MBRの方が若干空き容量が多いですね。まあ、誤差の範囲ですけど。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/c033f995-2b42-e79a-6d27-53574a1ee512.png)

##データディスクのサイズ変更
仮想マシンにアタッチされたデータディスクのサイズ変更を行う場合、仮想マシンを事前に停止する必要があります。
停止後、Azure Powershellを使ってデータディスクのサイズ変更を行います。
コマンド実行例は以下の通りです。

```posh
$vmconfig = Get-AzureRmVM -Name <<仮想マシン名>> -ResourceGroupName <<リソースグループ名>>
$vmconfig.StorageProfile.DataDisks[0].DiskSizeGB = 4095
$vmconfig.StorageProfile.DataDisks[1].DiskSizeGB = 4095
Update-AzureRmVM -VM $vmconfig -ResourceGroupName <<リソースグループ名>>
```

DiskSizeGBの最大値として今までは1023だったのが、4095まで指定できるようになりました。
コマンド実行後はAzureポータルからも確認ができます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/d3ba374c-fb09-1c7e-11f8-790f2e8badb9.png)

サイズ変更後は再び仮想マシンを起動します。

##OS側でのサイズ拡張
再びDisk Managementツールで見ると、Disk 2,3の全体容量がアップしています。
(何故かDisk 2とDisk 3が入れわかってしまいましたが、気にしません)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/3d9b6b55-fcde-51cb-0baa-ef855173bd37.png)

GPTで初期化したディスクを右クリックして「Extend Volume...」を選択します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/a34fe678-93b9-fd2a-0cc7-87e1f963e3cb.png)

拡張サイズに3TBが入力されており、トータル4TBに拡張できることが確認できます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/e89dfc25-0d77-463a-c1a5-61da18b18ad7.png)

実際に4TBに拡張が成功しました。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/5fdb56fd-79b6-56af-52d2-30c90e35780c.png)

MBRで初期化したディスクを右クリック「Extend Volume...」を選択します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/f936fc38-6adb-8868-4c7c-a9abf2121968.png)

MBRの場合は最大2TBまでしか拡張できません。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/2e71d57d-5017-ee90-5349-a2e9060a42f9.png)

エクスプローラーからもMBRで初期化したディスクは最大容量は2TBになります。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/2f96beb5-a1f9-96a4-d42b-71cb517fb86a.png)

MBRで初期化したディスクは中の全てのパーティションを削除して、その後「Convert to GPT Disk」を選択することで2TB超えのサイズでフォーマットが行えます。
本操作を行う前に元のファイル・フォルダについては別のディスクなどにバックアップをしておくと良いです。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/393ee2cc-a9d3-eb3e-b8fb-61099220aad9.png)

#おわりに
Azureの仮想マシンは今まで最大ディスクサイズが1TBであったため、あまりパーティションスタイル(MBR/GPT)は気にする必要がありませんでしたが、今後は将来容量拡張予定の有無で最初からパーティションスタイルについても設計しておく必要がありそうです。