Windows 仮想マシンに接続されている仮想ハード ディスクを拡張する方法

適用対象: ✔️ 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 の割り当てを解除せずにデータ ディスクを拡張できるかどうかは変わりません。

この機能には次の制限があります。

  • データ ディスクでのみサポートされます。
  • Standard HDD、Standard SSD、または Premium SSD ディスクが 4 TiB 以下の場合は、4 TiB を超えて拡張する前に、VM の割り当てを解除し、ディスクをデタッチします。 これらのディスクの種類のいずれかが既に 4 TiB を超えている場合は、VM の割り当てを解除してディスクをデタッチすることなく拡張できます。 これは、Premium SSD v2 または Ultra Disks には適用されません。
  • 共有ディスクではサポートされていません。
  • 次のいずれかをインストールして使います。
  • 一部のクラシック VM では使用できません。 このスクリプトを使用して、ダウンタイムなしで拡張できるクラシック VM SKU の一覧を取得してください。

Ultra Disk と Premium SSD v2 のプレビュー

重要

Ultra Disks および Premium SSD v2 ディスクのダウンタイムなしの拡張は、現在プレビュー段階です。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用される法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。

プレビューには、次の追加の制限事項があります。

  • ディスクがスナップショットからハイドレートされているときなど、そのディスク上でデータのバックグラウンド コピーも行われている間は、ディスクを拡張することはできません。
  • Ultra Disks または Premium SSD v2 ディスクに NVMe コントローラーを使用している VM をダウンタイムなしで拡張することはできません。

リージョン別の提供状況

Ultra Disks と Premium SSD v2 ディスクのサイズ変更は、現在、次のリージョンでプレビューとして利用できます。

  • オーストラリア東部
  • ブラジル南部
  • カナダ中部
  • インド中部
  • 米国中部
  • 米国東部 2
  • フランス中部
  • 東日本
  • 韓国中部
  • 北ヨーロッパ
  • 東南アジア

Azure portal でマネージド ディスクのサイズを変更する

重要

ダウンタイムなしで拡張する」の要件をディスクが満たしている場合は、手順 1 を省略できます。

  1. Azure portal で、ディスクを拡張する仮想マシンに移動します。 [停止] を選択して VM の割り当てを解除します。

  2. 左側のメニューの [設定] で、 [ディスク] を選択します。

    メニューの [設定] セクションで [ディスク] オプションが選択されているのを示すスクリーンショット。

  3. [ディスク名] で、拡張するディスクを選択します。

    ディスク名が選択されている [ディスク] ウィンドウを示すスクリーンショット。

  4. 左側のメニューの [設定] で、 [Size + performance](サイズおよびパフォーマンス) を選択します。

    メニューの [設定] セクションで [サイズおよびパフォーマンス] オプションが選択されているのを示すスクリーンショット。

  5. [Size + performance](サイズおよびパフォーマンス) で、必要なディスク サイズを選択します。

    警告

    新しいサイズには、既存のディスク サイズより大きい値を指定する必要があります。 OS ディスクで許可される最大値は、4,095 GB です。 (VHD BLOB はこのサイズよりも大きくすることができます。ただし、OS の実行に使用できるのは、最初の 4,095 GB の領域のみです。)

    ディスク サイズが選択された[Size + performance]\(サイズおよびパフォーマンス\) ペインを示すスクリーンショット。

  6. ページの下部にある [サイズ変更] を選択します。

    [サイズ変更] ボタンが選択された [Size + performance]\(サイズおよびパフォーマンス\) ペインを示すスクリーンショット。

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 によりパーティションを拡張する方法について説明します。

  1. VM への RDP 接続を開きます。

  2. コマンド プロンプトを開き、「diskpart」と入力します。

  3. DISKPART プロンプトで「list volume」と入力します。 拡張するボリュームをメモします。

  4. DISKPART プロンプトで「select volume <volumenumber>」と入力します。 これにより、同じディスク上の連続した空の領域に拡張する必要があるボリューム volumenumber が選択されます。

  5. DISKPART プロンプトで extend [size=<size>] と入力します。 これにより、選択したボリュームがメガバイト (MB) 単位の size で拡張されます。

ディスク マネージャーの使用

  1. VM でリモート デスクトップ セッションを開始します。

  2. [ディスクの管理] を開きます。

    [ディスクの管理] を示すスクリーンショット。

  3. 既存の C: ドライブ パーティションを右クリックして、[ボリュームの拡張] を選びます。

    ボリュームを拡張する方法を示すスクリーンショット。

  4. 手順に従えば、容量が更新されたディスクが表示されるはずです。

    ディスク マネージャーで大きくなった 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 を使用してディスクを接続することもできます。