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

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

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

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

重要

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

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

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

    Screenshot that shows the Disks option selected in the Settings section of the menu.

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

    Screenshot that shows the Disks pane with a disk name selected.

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

    Screenshot that shows the Size and performance option selected in the Settings section of the menu.

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

    警告

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

    Screenshot that shows the Size and performance pane with the disk size selected.

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

    Screenshot that shows the Size and performance pane with the Resize button selected.

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. [ディスクの管理] を開きます。

    Screenshot showing Disk Management.

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

    Screenshot showing how to extend the volume.

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

    Screenshot showing the larger C: volume in Disk Manager.

クラシック 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 を使用してディスクを接続することもできます。