2015年3月に、仮想マシンのOSディスク容量が127GBから緩和されています。詳細は以下のURLを参照していただくとして、最大1TBまで増加させることができます。
- Azure VM OS drive limit has octupled! | Microsoft Azure Blog
- Azure VM の OS ドライブの容量制限が 8 倍に - Microsoft Azure Japan Team Blog (ブログ) - Site Home - MSDN Blogs
ただしポータル等から仮想マシンを作成すると、依然OSディスク容量は127GB(Windowsの場合)のままです。オンプレで作成したVHDをアップロードして使用する場合なら問題ありませんが、Azureで予め準備されているイメージを利用している場合、どうすればよいのでしょうか?
同時期にリリースされた Azure PowerShell v0.8.15(3月にリリースされた版)の履歴を見てみると、
なにやら、ResizedSizeInGB パラメータが追加されていますので、これで変更できるようです。
Add 'ResizedSizeInGB' pramater for the following cmdlets Update-AzureDisk Set-AzureOSDisk Set-AzureDataDisk (DiskName parameter is also added along with ResizedSizeInGB)
OSディスクの拡張
始めに、適当にWindows仮想マシンを作ります。ついで50GBのデータディスクをアタッチしておきます。
仮想マシン実行中には、ディスク容量を変更できない(エラーになります)ので、仮想マシンを停止してから作業する必要があります。
コマンド自身は、Update-AzureDiskコマンドを使用しますが、指定方法は色々あるので、ここでは一例として。
OSディスクの情報をGet-AzureVM からの OSVirtualHardDisk プロパティで取得できます。さらに、ResizedSizeInGB プロパティがありますので、適当に数字を書き換えてUpdate-AzureDiskコマンドにパイプで流し込めばOKです。
Update-AzureDiskコマンドにLabelパラメータを指定しないと、エラーになります。OSVirtualHardDisk.DiskLabel プロパティもあるのですが、ここに指定しても値が流れてくれませんでした。
PS C:\> $vm = Get-AzureVM -ServiceName disktest -Name disktest $vm.VM.OSVirtualHardDisk.ResizedSizeInGB = 256 $vm.VM.OSVirtualHardDisk| Update-AzureDisk -Label "OS Disk" 詳細: 10:58:11 - Completed Operation: Get Deployment 詳細: 10:58:11 - Begin Operation: Update-AzureDisk 詳細: 10:58:45 - Completed Operation: Update-AzureDisk OperationDescription OperationId OperationStatus -------------------- ----------- --------------- Update-AzureDisk bdaa82eb-1962-cc9c-a9f4-d1e3fce5ef4e Succeeded
コマンドが正常終了したら、仮想マシンを起動して確認します。Capacityが256GBになっていることが確認できますが、まだ未割り当ての状態です。
Explorerを見ても127GBままです。
Server ManagerからExtend Volumeを実行すればボリュームを拡張できます。
おおよそ256GBになりました。
データディスクの拡張
次にデータディスクの拡張です。OSディスクと同じようにとおもったら、DataVirtualHardDisksプロパティ中に、ResizedSizeInGB プロパティがありませんでした(なんでや)
ということなので、Dataディクスのプロパティを表示して、ディスク名を確認しつつ、Update-AzureDisk コマンドのみで以下のように実行すれば拡張されます。
Update-AzureDisk -DiskName disktest-disktest-0-201508060136360737 -Label "Data Disk" -ResizedSizeInGB 200 詳細: 11:32:36 - Begin Operation: Update-AzureDisk 詳細: 11:33:08 - Completed Operation: Update-AzureDisk OperationDescription OperationId OperationStatus -------------------- ----------- --------------- Update-AzureDisk 85203a9f-5983-c608-9263-30aace45270a Succeeded
あとはOSディスクの場合と同じく、ボリュームを拡張すればOKでしょう。
雑感
DiskLabelプロパティが必須でないにもかかわらず、指定してないとNullだよと怒られたり、DataVirtualHardDisks.ResizedSizeInGB プロパティが無かったりと、少し挙動不審なところがありますが、事後に拡張できるのは助かりますね。
Newポータル等から変更できるかは確認してません(できるのかな?)