Azure Storage の新しいディスク サイズ - 4 TB までの VHD サイズがサポートされるようになりました
こんにちは、Azure サポート部の石井です。
これまで 1 TB (1023 GB) が上限だった VHD サイズが、4 TB (4095 GB) 上限までサポートされるようになりました。
Announcing large disk sizes of up to 4 TB for Azure IaaS VMs
https://azure.microsoft.com/en-us/blog/azure-introduces-new-disks-sizes-up-to-4tb/
本日 6/16 時点では、まだポータル UI からの作成や拡張ができないので、スクリプトで行っていただく必要があります。 来週から月末にかけて、ポータルからも実行ができるように開発が進められています。
<2017/7/11更新> ポータルから 1023 GB 以上への VHD のサイズ変更が行えるようになりました。VM は停止状態で行ってください。
チェックすべき点について、おまとめしました。
- FAQ ドキュメントのまとめ
まずはじめに、以下の FAQ ドキュメントの留意点についておまとめしておきます。
Frequently Asked Questions about Azure IaaS VM Disks and managed and unmanaged premium disks
New Disk Sizes - both managed and unmanaged
/en-us/azure/storage/storage-faq-for-disks#new-disk-sizes---both-managed-and-unmanaged
- Azure では、OS Disk 用 VHD は MBR という形式である必要があり、MBR 形式は 2 TB までのサイズしかサポートしませんので、OS Disk のサイズ上限は 2 TB です。
データ ディスクは GPT に変換することで、4 TB まで使うことができます。
- Azure 上でのページ Blob は仕様上 8 TB までサポートされていますが、VM にアタッチできる VHD サイズは 4095 GB までであるため、ご注意ください。
- オンプレミスからアップロードする場合、AzCopy ツール、Azure PowerShell、Azure CLI などの新しいバージョンを使う必要があります。
- Premium Managed Disks 64 GB 未満のディスク サイズ価格として、P4 (32GB)、P6(64GB) がオファーされるようになりましたが、既存の 64 GB 未満のディスクはそのまま P10 (127GB) の課金が継続します。いったんスナップショットを作成し、そのスナップショット側には 新しい金額が適用されます。(VM の場合、スナップショットから新しい VM を再作成するということになります。)
- IOPS 制限
ポストにあるとおり、IOPS 制限に比例しないというケースがあるので、事前にご確認ください。
一例として、Premium Storage 2048 GB, 4095 GB は同一の 7500 IOPS です。
また、Standard はすべてのサイズで一貫して 500 IOPS 制限, 60MB/s 制限が存在します。
従来ですと、大きなパーティションを構成する場合、1 TB 未満の VHD をストライピングする必要がありましたが、このメリットとして、ストライピング構成にする VHD の本数分、IOPS が増加するという点がありました。
しかしながら、特に Standard ストレージの場合、今回のディスク サイズ上限拡張に伴って、アプリケーションの IO が大きいものを詰め込むと、場合によっては帯域制限がかかってしまいやすくなります。結果、ストレージがボトルネックとなるパフォーマンス ダウンが生じる可能性があります。また、最悪の場合、VM が予期せず再起動されてしまうということもあり得ます。
この点については構成上、1 TB x 4 VHD でいくか、4TB x 1 VHD でいくかといった点について、考慮をしていただいたほうがよいかと存じます。
Azure VM のストレージ パフォーマンスに関する留意点と対処策
https://blogs.technet.microsoft.com/jpaztech/2016/03/15/azure-vm-storage-performance/
- VHD のサイズ変更は増加のみの一方通行
今回新たに生じる制約ではありませんが、VHD の現在のサイズから増加することは、ポータルやコマンドで容易にできるものの、縮小は行えません。
補足: PowerShell による新規 VHD 作成のサンプル手順
非管理ディスク (ストレージ アカウント) の VHD の場合:
$vm = Get-AzureRmVM -ResourceGroupName "リソースグループ名" -Name "仮想マシン名"
Add-AzureRmVMDataDisk -VM $vm -Name "データディスク名" -VhdUri "https://StorageAccountName.blob.core.windows.net/vhds/VHDName.vhd" -Lun 0 -DiskSizeInGB 4095 -CreateOption Empty
Update-AzureRmVM -ResourceGroupName "リソースグループ名" -VM $vm
管理ディスクの VHD の場合:
$resourcegroupname = "任意のリソースグループ名"
$location = "リージョン名JapanEastなど"
$diskname = "VHDの名前"
New-AzureRmResourceGroup -Name $resourceGroupName -Location $location
$diskConfig = New-AzureRmDiskConfig -AccountType StandardLRS -DiskSizeGB 4095 -Location $location -CreateOption Empty
New-AzureRmDisk -ResourceGroupName $resourceGroupName -Disk $diskConfig -DiskName $diskName
PowerShell を使用して Windows VM にデータ ディスクを接続する
https://docs.microsoft.com/ja-jp/azure/virtual-machines/windows/attach-disk-ps
ストレージ アカウント内の非管理対象ディスクから管理対象ディスクを作成する
https://docs.microsoft.com/ja-jp/azure/virtual-machines/windows/create-managed-disk-ps
-> 管理対象ディスクとして空のデータ ディスクを作成する
Comments
- Anonymous
June 21, 2017
以下FreeBSDでテストしてみましたところ、実現できました。ポータルから4095GiBのディスクを追加しました。その後↓root@jobfree:~ # cat /var/run/dmesg.boot..da2 at storvsc3 bus 0 scbus5 target 0 lun 0da2: Fixed Direct Access SPC-3 SCSI deviceda2: 300.000MB/s transfersda2: Command Queueing enabledda2: 4193280MB (8587837440 512 byte sectors)..root@jobfree:~ # gpart create -s GPT da2da2 createdroot@jobfree:~ # gpart add -t freebsd-ufs -a 1M da2da2p1 addedroot@jobfree:~ # gpart show da2=> 34 8587837373 da2 GPT (4.0T) 34 2014 - free - (1.0M) 2048 8587833344 1 freebsd-ufs (4.0T) 8587835392 2015 - free - (1.0M)root@jobfree:~ # newfs -U /dev/da2p1root@jobfree:~ # mkdir /data1root@jobfree:~ # mount /dev/da2p1 /data1root@jobfree:~ # df -Ph /data1Filesystem Size Used Avail Capacity Mounted on/dev/da2p1 3.9T 8.0K 3.6T 0% /data1 - Anonymous
June 21, 2017
以下Ubuntuでテストしてみました。ポータルから4095GiBのディスクを追加しました。その後↓$ grep "TiB" /var/log/syslogJun 22 04:22:46 jobu1704 kernel: [859864.854407] sd 5:0:0:2: [sde] 8581545984 512-byte logical blocks: (4.39 TB/4.00 TiB)$ sudo parted /dev/sde(parted) mklabel gpt(parted) mkpart primary 0.00tb 4.00tb(parted) printModel: Msft Virtual Disk (scsi)Disk /dev/sde: 4.39TBSector size (logical/physical): 512B/4096BPartition Table: gptDisk Flags:Number Start End Size File system Name Flags1 0.00TB 4.39TB 4.39TB primary(parted) quit$ sudo mkfs.ext4 /dev/sde1$ sudo mkdir /datal.$ sudo mount /dev/sde1 /data1$ df -Ph /data1Filesystem Size Used Avail Use% Mounted on/dev/sde1 4.0T 89M 3.8T 1% /data1