仮想マシンの OS ドライブを展開する方法How to expand the OS drive of a virtual machine

Azure Marketplace からイメージをデプロイすることによってリソース グループに新しい仮想マシン (VM) を作成するとき、多くの場合、既定の OS ドライブは 127 GB です (一部のイメージでは既定の OS ディスク サイズが小さくなります)。When you create a new virtual machine (VM) in a Resource Group by deploying an image from Azure Marketplace, the default OS drive is often 127 GB (some images have smaller OS disk sizes by default). VM にデータ ディスクを追加でき (数は選択されている SKU に依存)、アプリケーションおよび CPU 多用ワークロードはこれらの追加ディスクにインストールすることが推奨されますが、次のような特定のシナリオをサポートするために OS ドライブの拡張が必要になることがあります。Even though it’s possible to add data disks to the VM (how many depending upon the SKU you’ve chosen) and moreover it’s recommended to install applications and CPU intensive workloads on these addendum disks, oftentimes customers need to expand the OS drive to support certain scenarios such as following:

  • OS ドライブにコンポーネントをインストールするレガシ アプリケーションをサポートする場合。Support legacy applications that install components on OS drive.
  • オンプレミスから OS ドライブの大きい物理 PC または仮想マシンを移行する場合。Migrate a physical PC or virtual machine from on-premises with a larger OS drive.

重要

Azure 仮想マシンの OS ディスクのサイズを変更するには、仮想マシンの割り当てを解除する必要があります。Resizing the OS Disk of an Azure Virtual Machine requires the virtual machine to be deallocated.

ディスクを拡張した後、大きいディスクを活用するには、OS 内のボリュームを拡張する必要があります。After expanding the disks, you need to expand the volume within the OS to take advantage of the larger disk.

注意

この記事は、新しい Azure PowerShell Az モジュールを使用するために更新されました。This article has been updated to use the new Azure PowerShell Az module. AzureRM モジュールはまだ使用でき、少なくとも 2020 年 12 月までは引き続きバグ修正が行われます。You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Az モジュールと AzureRM の互換性の詳細については、「Introducing the new Azure PowerShell Az module (新しい Azure PowerShell Az モジュールの概要)」を参照してください。To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Az モジュールのインストール手順については、Azure PowerShell のインストールを参照してください。For Az module installation instructions, see Install Azure PowerShell.

マネージド ディスクのサイズを変更するResize a managed disk

管理者モードで Powershell ISE または Powershell ウィンドウを開き、次の手順に従います。Open your Powershell ISE or Powershell window in administrative mode and follow the steps below:

  1. リソース管理モードで Microsoft Azure アカウントにサインインし、次のようにサブスクリプションを選択します。Sign in to your Microsoft Azure account in resource management mode and select your subscription as follows:

    Connect-AzAccount
    Select-AzSubscription –SubscriptionName 'my-subscription-name'
    
  2. リソース グループ名と VM 名を次のように設定します。Set your resource group name and VM name as follows:

    $rgName = 'my-resource-group-name'
    $vmName = 'my-vm-name'
    
  3. 次のように、VM への参照を取得します。Obtain a reference to your VM as follows:

    $vm = Get-AzVM -ResourceGroupName $rgName -Name $vmName
    
  4. 次のように、ディスクのサイズを変更する前に VM を停止します。Stop the VM before resizing the disk as follows:

    Stop-AzVM -ResourceGroupName $rgName -Name $vmName
    
  5. マネージド OS ディスクへの参照を取得します。Obtain a reference to the managed OS disk. マネージド OS ディスクのサイズを目的の値に設定し、次のようにディスクを更新します。Set the size of the managed OS disk to the desired value and update the Disk as follows:

    $disk= Get-AzDisk -ResourceGroupName $rgName -DiskName $vm.StorageProfile.OsDisk.Name
    $disk.DiskSizeGB = 1023
    Update-AzDisk -ResourceGroupName $rgName -Disk $disk -DiskName $disk.Name
    

    警告

    新しいサイズには、既存のディスク サイズより大きい値を指定する必要があります。The new size should be greater than the existing disk size. OS ディスクで許可される最大値は、2,048 GB ですThe maximum allowed is 2048 GB for OS disks. (VHD BLOB はこのサイズよりも大きくすることができます。ただし、OS の動作に使用できるのは、最初の 2,048 GB の領域のみです)。(It is possible to expand the VHD blob beyond that size, but the OS will only be able to work with the first 2048 GB of space.)

  6. VM の更新には数秒かかる可能性があります。Updating the VM may take a few seconds. コマンドの実行が完了した後、VM を再起動します。Once the command finishes executing, restart the VM as follows:

    Start-AzVM -ResourceGroupName $rgName -Name $vmName
    

これで終了です。And that’s it! VM に RDP で接続し、[コンピューターの管理] (または [ディスクの管理]) を開いて、新しく割り当てた領域を使用してドライブを拡張します。Now RDP into the VM, open Computer Management (or Disk Management) and expand the drive using the newly allocated space.

アンマネージド ディスクのサイズを変更するResize an unmanaged disk

管理者モードで Powershell ISE または Powershell ウィンドウを開き、次の手順に従います。Open your Powershell ISE or Powershell window in administrative mode and follow the steps below:

  1. リソース管理モードで Microsoft Azure アカウントにサインインし、次のようにサブスクリプションを選択します。Sign in to your Microsoft Azure account in resource management mode and select your subscription as follows:

    Connect-AzAccount
    Select-AzSubscription –SubscriptionName 'my-subscription-name'
    
  2. リソース グループ名と VM 名を次のように設定します。Set your resource group name and VM name as follows:

    $rgName = 'my-resource-group-name'
    $vmName = 'my-vm-name'
    
  3. 次のように、VM への参照を取得します。Obtain a reference to your VM as follows:

    $vm = Get-AzVM -ResourceGroupName $rgName -Name $vmName
    
  4. 次のように、ディスクのサイズを変更する前に VM を停止します。Stop the VM before resizing the disk as follows:

    Stop-AzVM -ResourceGroupName $rgName -Name $vmName
    
  5. アンマネージド OS ディスクのサイズを目的の値に設定し、次のように VM を更新します。Set the size of the unmanaged OS disk to the desired value and update the VM as follows:

    $vm.StorageProfile.OSDisk.DiskSizeGB = 1023
    Update-AzVM -ResourceGroupName $rgName -VM $vm
    

    警告

    新しいサイズには、既存のディスク サイズより大きい値を指定する必要があります。The new size should be greater than the existing disk size. OS ディスクで許可される最大値は、2,048 GB ですThe maximum allowed is 2048 GB for OS disks. (VHD BLOB はこのサイズよりも大きくすることができます。ただし、OS の動作に使用できるのは、最初の 2,048 GB の領域のみです)。(It is possible to expand the VHD blob beyond that size, but the OS will only be able to work with the first 2048 GB of space.)

  6. VM の更新には数秒かかる可能性があります。Updating the VM may take a few seconds. コマンドの実行が完了した後、VM を再起動します。Once the command finishes executing, restart the VM as follows:

    Start-AzVM -ResourceGroupName $rgName -Name $vmName
    

OS ディスク用のスクリプトScripts for OS disk

参考のために、マネージド ディスクとアンマネージド ディスクの両方について完全なスクリプトを以下に示します。Below is the complete script for your reference for both managed and unmanaged disks:

マネージド ディスクManaged disks

Connect-AzAccount
Select-AzSubscription -SubscriptionName 'my-subscription-name'
$rgName = 'my-resource-group-name'
$vmName = 'my-vm-name'
$vm = Get-AzVM -ResourceGroupName $rgName -Name $vmName
Stop-AzVM -ResourceGroupName $rgName -Name $vmName
$disk= Get-AzDisk -ResourceGroupName $rgName -DiskName $vm.StorageProfile.OsDisk.Name
$disk.DiskSizeGB = 1023
Update-AzDisk -ResourceGroupName $rgName -Disk $disk -DiskName $disk.Name
Start-AzVM -ResourceGroupName $rgName -Name $vmName

非管理対象ディスクUnmanaged disks

Connect-AzAccount
Select-AzSubscription -SubscriptionName 'my-subscription-name'
$rgName = 'my-resource-group-name'
$vmName = 'my-vm-name'
$vm = Get-AzVM -ResourceGroupName $rgName -Name $vmName
Stop-AzVM -ResourceGroupName $rgName -Name $vmName
$vm.StorageProfile.OSDisk.DiskSizeGB = 1023
Update-AzVM -ResourceGroupName $rgName -VM $vm
Start-AzVM -ResourceGroupName $rgName -Name $vmName

データ ディスクのサイズを変更するResizing data disks

この記事では VM の OS ディスクの拡張に主に重点を置きましたが、スクリプトは VM に接続されたデータ ディスクの拡張にも使用できます。This article is focused primarily on expanding the OS disk of the VM, but the script can also be used for expanding the data disks attached to the VM. たとえば、VM に接続されている最初のデータ ディスクを拡張するには、StorageProfileOSDisk オブジェクトを DataDisks 配列に置き換え、数値インデックスを使用して接続されている最初のデータ ディスクへの参照を取得します。次に例を示します。For example, to expand the first data disk attached to the VM, replace the OSDisk object of StorageProfile with DataDisks array and use a numeric index to obtain a reference to first attached data disk, as shown below:

マネージド ディスクManaged disk

$disk= Get-AzDisk -ResourceGroupName $rgName -DiskName $vm.StorageProfile.DataDisks[0].Name
$disk.DiskSizeGB = 1023

アンマネージド ディスクUnmanaged disk

$vm.StorageProfile.DataDisks[0].DiskSizeGB = 1023

同様に、上記のようにインデックスまたはディスクの Name プロパティのいずれかを使用して、VM に接続されている他のデータ ディスクを参照できます。Similarly you may reference other data disks attached to the VM, either by using an index as shown above or the Name property of the disk:

マネージド ディスクManaged disk

(Get-AzDisk -ResourceGroupName $rgName -DiskName ($vm.StorageProfile.DataDisks | Where ({$_.Name -eq 'my-second-data-disk'})).Name).DiskSizeGB = 1023

アンマネージド ディスクUnmanaged disk

($vm.StorageProfile.DataDisks | Where ({$_.Name -eq 'my-second-data-disk'}).DiskSizeGB = 1023

OS 内のボリュームを拡張するExpand the volume within the OS

VM 用にディスクを拡張したら、OS に移動して、新しいスペースを包含するようにボリュームを拡張する必要があります。Once you have expanded the disk for the VM, you need to go into the OS and expand the volume to encompass the new space. パーティションを拡張するには、いくつかの方法があります。There are several methods for expanding a partition. このセクションには、DiskPart を使用してパーティションを拡張するために、RDP コネクションを使用した VM への接続が含まれています。This section covers connecting the VM using an RDP connection to expand the partition using DiskPart.

  1. VM への RDP 接続を開きます。Open an RDP connection to your VM.

  2. コマンド プロンプトを開き、「diskpart」と入力します。Open a command prompt and type diskpart.

  3. DISKPART プロンプトで「list volume」と入力します。At the DISKPART prompt, type list volume. 拡張するボリュームをメモします。Make note of the volume you want to extend.

  4. DISKPART プロンプトで「select volume <volumenumber>」と入力します。At the DISKPART prompt, type select volume <volumenumber>. これにより、同じディスク上の連続した空の領域に拡張する必要があるボリューム volumenumber が選択されます。This selects the volume volumenumber that you want to extend into contiguous, empty space on the same disk.

  5. DISKPART プロンプトで「extend [size=<size>]」と入力します。At the DISKPART prompt, type extend [size=<size>]. これにより、選択したボリュームがメガバイト (MB) 単位の size で拡張されます。This extends the selected volume by size in megabytes (MB).

次の手順Next steps

また、Azure portal を使用してディスクを接続することもできます。You can also attach disks using the Azure portal.