適用対象: ✔️ Windows VM ✔️ フレキシブル スケール セット
Azure Marketplace からイメージをデプロイしてリソース グループに新しい仮想マシン (VM) を作成するとき、既定のオペレーティング システム (OS) ディスクは通常は 127 GiB です (一部のイメージでは既定の OS ディスク サイズが小さくなります)。 データ ディスクを VM に追加することができるので (量は選択した VM SKU によって異なります) 、アプリケーションや CPU に負荷のかかるワークロードはデータ ディスクにインストールすることをお勧めします。 OS ディスクにコンポーネントをインストールするレガシ アプリケーションをサポートしている場合や、より大きな OS ディスクを持つオンプレミスから物理 PC または VM を移行する場合は、OS ディスクの拡張が必要になることがあります。 この記事では、OS ディスク、データ ディスクのいずれかを拡張する場合について説明します。
OS ディスクの最大容量は 4,095 GiB です。 ただし、多くのオペレーティング システムは既定でマスター ブート レコード (MBR) でパーティション分割されます。 MBR では、使用可能なサイズが 2 TiB に制限されています。 2 TiB 以上必要な場合は、データディスクを作成して接続し、データストレージ用に使用します。 OS ディスクにデータを保存する必要があり、追加の領域が必要な場合は、GUID Partition Table (GPT)に変換します。 Windows デプロイでの MBR と GPT の違いについては、「Windows と GPT のよくあるご質問」を参照してください。
重要
「ダウンタイムなしで拡張する」を使用しない場合、データ ディスクを拡張するためには VM の割り当てを解除する必要があります。
既存のディスクの縮小はサポートされておらず、データが失われる場合があります。
ディスクを拡張した後、大きいディスクを利用するには、オペレーティング システム内のボリュームを拡張する必要があります。
ストライプ ボリュームのサイズを拡大することはできません。
ダウンタイムなしで拡張する
VM の割り当てを解除せずに、データ ディスクを拡張できます。 ディスクのホスト キャッシュ設定によって、VM の割り当てを解除せずにデータ ディスクを拡張できるかどうかは変わりません。
この機能には次の制限があります。
重要
この制限は、Premium SSD v2 または Ultra Disks には適用されません。
Standard HDD、Standard SSD、または Premium SSD ディスクが 4 TiB 以下の場合は、4 TiB を超えて拡張する前に、VM の割り当てを解除し、ディスクをデタッチします。 これらのディスクの種類のいずれかが既に 4 TiB を超えている場合は、VM の割り当てを解除してディスクをデタッチすることなく拡張できます。
- データ ディスクでのみサポートされます。
- 共有ディスクではサポートされていません。
- 次のいずれかをインストールして使います。
- 最新の Azure CLI
- 最新の Azure PowerShell モジュール
- Azure Portal
- または、
2021-04-01
以降の API バージョンを使用する Azure Resource Manager テンプレート。
- 一部のクラシック VM では使用できません。 このスクリプトを使用して、ダウンタイムなしで拡張できるクラシック VM SKU の一覧を取得してください。
Ultra Disk と Premium SSD v2 で拡張する
ダウンタイムなしで Ultra Disks と Premium SSD v2 ディスクを拡張するには、次の追加の制限があります。
スナップショットからディスクがバックフィルされている場合など、ディスク上でデータのバックグラウンド コピーも行われている間は、そのディスクを拡張できません。
パブリック プレビューとして、ダウンタイムなしで Ultra Disks または Premium SSD v2 ディスクを搭載した NVMe コントローラーを使用して VM を拡張できます。 これはパブリック プレビューであるため、これを使用してダウンタイムなしで拡張の機能をテストする必要があります。運用環境で VM を拡張しないでください。
次のリージョンでは、Azure portal、Azure CLI、または Azure PowerShell モジュールを使用して、ダウンタイムなしで Ultra Disks または Premium SSD v2 ディスク用の NVMe コントローラー を使用して VM を拡張できます。
- 東南アジア
- ブラジル南部
- カナダ中部
- ドイツ中西部
- インド中部 (V6 VM では現在サポートされていません)
次のリージョンでは、ダウンタイムなしで Ultra Disks または Premium SSD v2 ディスク用 の NVMe コントローラー を使用する VM のみを拡張できます。Azure CLI または Azure PowerShell モジュールを使用すると、現在 Azure portal を使用することはできません。
- 東アジア
- 米国中西部 (V6 VM では現在サポートされていません)
重要
Windows VM と Linux VM に正しいサイズが反映されるまで、最大 10 分かかります。 Linux VM の場合は、Linux 再スキャン機能を実行する必要があります。 ワークロードがない Windows VM の場合は、Windows 再スキャン機能を実行する必要があります。 再スキャンはすぐにできますが、10 分以内の場合、正しいサイズを表示するために再スキャンが再度必要になる場合があります。
Azure portal でマネージド ディスクのサイズを変更する
重要
「ダウンタイムなしで拡張する」の要件をディスクが満たしている場合は、手順 1 を省略できます。
Azure portal で、ディスクを拡張する仮想マシンに移動します。 [停止] を選択して VM の割り当てを解除します。
左側のメニューの [設定] で、 [ディスク] を選択します。
[ディスク名] で、拡張するディスクを選択します。
左側のメニューの [設定] で、 [Size + performance](サイズおよびパフォーマンス) を選択します。
[Size + performance](サイズおよびパフォーマンス) で、必要なディスク サイズを選択します。
警告
新しいサイズには、既存のディスク サイズより大きい値を指定する必要があります。 OS ディスクで許可される最大値は、4,095 GB です。 (VHD BLOB はこのサイズよりも大きくすることができます。ただし、OS の実行に使用できるのは、最初の 4,095 GB の領域のみです。)
ページの下部にある [サイズ変更] を選択します。
PowerShell を使用してマネージド ディスクのサイズを変更する
管理者モードで PowerShell ISE または PowerShell ウィンドウを開き、次の手順に従います。
- リソース管理モードで Microsoft Azure アカウントにサインインし、サブスクリプションを選択します。
Connect-AzAccount
Select-AzSubscription –SubscriptionName 'my-subscription-name'
- リソース グループ名と VM 名を設定します。
$rgName = 'my-resource-group-name'
$vmName = 'my-vm-name'
$diskName = 'my-disk-name'
- VM への参照を取得します。
$vm = Get-AzVM -ResourceGroupName $rgName -Name $vmName
重要
「ダウンタイムなしで拡張する」の要件をディスクが満たしている場合は、手順 4 と 6 を省略できます。
- ディスクのサイズを変更する前に VM を停止します。
Stop-AzVM -ResourceGroupName $rgName -Name $vmName
- マネージド OS ディスクへの参照を取得します。 マネージド OS ディスクのサイズを目的の値に設定し、ディスクを更新します。
$disk= Get-AzDisk -ResourceGroupName $rgName -DiskName $diskName
$disk.DiskSizeGB = 1023
Update-AzDisk -ResourceGroupName $rgName -Disk $disk -DiskName $disk.Name
警告
新しいサイズには、既存のディスク サイズより大きい値を指定する必要があります。 OS ディスクで許可される最大値は、4,095 GB です。 (VHD BLOB はこのサイズよりも大きくすることができます。ただし、OS の実行に使用できるのは、最初の 4,095 GB の領域のみです。)
- VM の更新には数秒かかる可能性があります。 コマンドの実行が完了したら、VM を再起動します。
Start-AzVM -ResourceGroupName $rgName -Name $vmName
VM にリモート接続し、[コンピューターの管理] (または [ディスクの管理]) を開いて、新しく割り当てた領域を使用してドライブを拡張します。
オペレーティング システムでボリュームを拡張する
VM のディスクを拡張したら、OS に移動して、新しい領域を含めるようにボリュームを拡張する必要があります。 パーティションを拡張するには、いくつかの方法があります。 このセクションでは、DiskPart またはディスク マネージャーを使ってパーティションを拡張するための、RDP コネクションを使った VM への接続について説明します。
DiskPart の使用
VM のディスクを拡張したら、OS に移動して、新しい領域を含めるようにボリュームを拡張する必要があります。 パーティションを拡張するには、いくつかの方法があります。 このセクションでは、RDP 接続を使用して VM に接続し、DiskPart によりパーティションを拡張する方法について説明します。
VM への RDP 接続を開きます。
コマンド プロンプトを開き、「diskpart」と入力します。
DISKPART プロンプトで「
list volume
」と入力します。 拡張するボリュームをメモします。DISKPART プロンプトで「
select volume <volumenumber>
」と入力します。 これにより、同じディスク上の連続した空の領域に拡張する必要があるボリューム volumenumber が選択されます。DISKPART プロンプトで「
extend [size=<size>]
」と入力します。 これにより、選択したボリュームがメガバイト (MB) 単位の size で拡張されます。
ディスク マネージャーの使用
VM でリモート デスクトップ セッションを開始します。
[ディスクの管理] を開きます。
既存の C: ドライブ パーティションを右クリックして、[ボリュームの拡張] を選びます。
手順に従えば、容量が更新されたディスクが表示されるはずです。
ダウンタイムなしでクラシックVM SKUを拡張するためのサポート
クラシック VM SKU を使っている場合は、ダウンタイムなしでディスクの拡張がサポートされていない可能性があります。
次の PowerShell スクリプトを使用して、使用できる VM SKU を特定します。
Connect-AzAccount
$subscriptionId="yourSubID"
$location="desiredRegion"
Set-AzContext -Subscription $subscriptionId
$vmSizes=Get-AzComputeResourceSku -Location $location | where{$_.ResourceType -eq 'virtualMachines'}
foreach($vmSize in $vmSizes){
foreach($capability in $vmSize.Capabilities)
{
if(($capability.Name -eq "EphemeralOSDiskSupported" -and $capability.Value -eq "True") -or ($capability.Name -eq "PremiumIO" -and $capability.Value -eq "True") -or ($capability.Name -eq "HyperVGenerations" -and $capability.Value -match "V2"))
{
$vmSize.Name
}
}
}
次のステップ
また、Azure portal を使用してディスクを接続することもできます。