Azure VM に大容量ディスクを作ってみる


気まぐれで、Azure VM に大容量ディスクをアタッチしたくなったので、どこまで出来るのか試してみました。

1.概要

まず、前提として Azure VM にアタッチできるディスク (VHD) は 1 本 1 TB が上限です。これは Azure Storage の Page BLOB の上限です。

このため、1 TB の VHD を複数アタッチして、OS の中でソフトウェア RAID 等を構成する必要があります。

また、Azure VM のサイズによってアタッチできる本数の上限が決まっています。G5 / GS5 のサイズで最大 64 本 (64 TB) になりますが、G シリーズはお高いので、一般的に使うサイズだと 32 本 (32 TB) が上限と思ったほうがよいでしょう。

2. 手順

データ ディスクの追加はポータルからもできますが、64 本もアタッチするのは面倒なので Azure PowerShell でサクっとやります。

# 既存の VM 情報を取得
$VM = Get-AzureRmVM -Name "&amp;lt;VM 名&amp;gt;" -ResourceGroupName "<リソース グループ名>"

# 新規で 1023 GB のディスクを 64 本アタッチ
for($i = 0; $i -lt 64; $i++){
    if($i -gt 32){
        Add-AzureRmVMDataDisk -VM $VM -Name "datadisk$($i)" -VhdUri "https://<ストレージ アカウント名 1>.blob.core.windows.net/vhds/datadisk$($i).vhd" -DiskSizeInGB 1023 -Lun $i -CreateOption Empty
    }else{
        Add-AzureRmVMDataDisk -VM $VM -Name "datadisk$($i)" -VhdUri "https://<ストレージ アカウント名 2>.blob.core.windows.net/vhds/datadisk$($i).vhd" -DiskSizeInGB 1023 -Lun $i -CreateOption Empty
    }
}

# 設定を反映
Update-AzureRmVM -VM $VM -ResourceGroupName $VM.ResourceGroupName

これで、VM に 64 本のデータ ディスク (および OS ディスクと一時ディスク) がアタッチされた状態になります。

注意事項:

  • Standard ストレージの場合、1 つのストレージに 20000 IOPS 制限があります。1 BLOB (VHD) あたり 500 IOPS が上限なので、パフォーマンスの観点からは 40 本以上のディスクはストレージを分散させます。
  • Premium ストレージの場合、1 つのストレージに 35 TB 上限があります。課金も恐ろしい額になるので注意しましょう。

 

あとは Windows Server の記憶域スペース・記憶域プールを使って、64 TB の大きなプールを作ってから、ディスクを切り出しましょう。

以下、スクショでお楽しみください。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です