次の方法で共有


エフェメラル OS ディスクに関するよくあるご質問

Q: エフェメラル OS ディスクのサイズはどれくらいですか?

A: プラットフォーム、Shared Image Gallery、カスタムの各イメージがサポートされています。 エフェメラル OS ディスクのサイズは、仮想マシン (VM) で利用できるローカル ストレージ (キャッシュ ディスク、一時ディスク、または NVMe ディスク) に依存します。 エフェメラル OS ディスクの最大サイズは 2 TiB です。 OS ディスクへの書き込みはすべて、仮想マシンと同じノードでローカルに行われます。

Q:エフェメラル OS ディスクはサイズ変更できますか?

A: いいえ。エフェメラル OS ディスクをプロビジョニングした後で、OS ディスクのサイズを変更することはできません。

Q: VM の作成後に、エフェメラル OS ディスクの配置を変更できますか?

A: いいえ。エフェメラル OS ディスクをプロビジョニングした後で、OS ディスクの配置を変更することはできません。 ただし、ARM テンプレート デプロイ、PowerShell、または CLI を使用して、選択した OS ディスクの配置を更新することにより、VM を再作成できます。 このようにすると、OS ディスク上のデータが削除されて VM が再作成され、OS が再プロビジョニングされます。

Q: イメージ サイズが選択した VM サイズの一時ディスク サイズと等しい場合、一時ディスクは作成されますか?

A: いいえ。その場合は、一時ディスクは作成されません。

Q: NVMe ディスク配置と一時ディスク配置はどのように異なりますか?

A: NVMe ディスク配置では NVMe ディスク全体が使われますが、一時ディスク配置では OS ディスクのサイズと等しい領域が使われます。 たとえば、Standard_D2ads_v5 と一時ディスク配置で Standard Ubuntu イメージを使っている場合、OS ディスクのサイズは 30 GiB で、一時ディスクのサイズは 45 GiB になります。 Standard_D2ads_v6 と NVMe ディスク配置で同じ Standard Ubuntu イメージを使っている場合、OS ディスクのサイズは 30 GiB で、NVMe ディスクはありません。

Q: NVMe ディスクが複数ある VM では、NVMe ディスク配置はどのように機能しますか?

A: NVMe ディスク配置では、OS ディスクに必要な最小限の数のディスクが使われます。 たとえば、Standard_D16ads_v6 には、それぞれ 440 GiB の 2 つのディスクがあります。 サイズが 440 GiB 未満のエフェメラル OS ディスクを作成する場合、エフェメラル OS ディスクの作成には 1 つのディスクのみが使われます。 2 番目の NVMe ディスクは、RAW ローカル ディスクとしてユーザーに返されます。

Q: 優先順位の低い VM とスポット VM では、エフェメラル OS ディスクはサポートされていますか?

A:はい。 エフェメラル VM には Stop-Deallocate のオプションはなく、ユーザーは、割り当てを解除するのではなく、削除する必要があります。

Q:エフェメラル VM にマネージド ディスクを接続できますか?

A:はい。エフェメラル OS ディスクを使用する VM にマネージド データ ディスクをアタッチできます。

Q:エフェメラル OS ディスクではすべての VM サイズがサポートされますか?

A:いいえ。ほとんどの Premium Storage VM サイズがサポートされています (DS、ES、FS、GS、M など)。 特定の VM サイズで OS イメージ サイズに対してエフェメラル OS ディスクがサポートされているかどうかは、次のスクリプトを使って確認できます。 これは、入力として OS イメージのサイズと場所を受け取り、サポートされる VM と対応する配置の一覧を出力します。 キャッシュ、一時、NVMe ディスクの配置が not supported とマークされている場合、その OS イメージ サイズに対してはエフェメラル OS ディスクを使用できません。

[CmdletBinding()]
param([Parameter(Mandatory=$true)]
      [ValidateNotNullOrEmpty()]
      [string]$Location,
      [Parameter(Mandatory=$true)]
      [long]$OSImageSizeInGB
      )
 
Function HasSupportEphemeralOSDisk([object[]] $capability)
{
    return $capability | where { $_.Name -eq "EphemeralOSDiskSupported" -and $_.Value -eq "True"}
}
 
Function Get-MaxTempDiskAndCacheSize([object[]] $capabilities)
{
    $MaxResourceVolumeGB = 0;
    $CachedDiskGB = 0;
    $NvmeDiskGB = 0;
 
    foreach($capability in $capabilities)
    {
        if ($capability.Name -eq "MaxResourceVolumeMB")
        { $MaxResourceVolumeGB = [int]($capability.Value / 1024) }
 
        if ($capability.Name -eq "CachedDiskBytes")
        { $CachedDiskGB = [int]($capability.Value / (1024 * 1024 * 1024)) }

         if ($capability.Name -eq "NvmeDiskSizeInMiB")
        { $NvmeDiskGB = [int]($capability.Value / (1024)) }

        if ($capability.Name -eq "SupportedEphemeralOSDiskPlacements")
        { $NvmeSupported = [bool]($capability.Value -contains "NvmeDisk") }
    
    }
    
    if (!$NvmeSupported)
    { $NvmeDiskGB = 0; }
    return ($MaxResourceVolumeGB, $CachedDiskGB, $NvmeDiskGB)
}
 
Function Get-EphemeralSupportedVMSku
{
    [CmdletBinding()]
    Param
    (
        [Parameter(Mandatory=$true)]
        [long]$OSImageSizeInGB,
        [Parameter(Mandatory=$true)]
        [string]$Location
    )
 
    $VmSkus = Get-AzComputeResourceSku $Location | Where-Object { $_.ResourceType -eq "virtualMachines" -and (HasSupportEphemeralOSDisk $_.Capabilities) -ne $null }
 
    $Response = @()
    foreach ($sku in $VmSkus)
    {
        ($MaxResourceVolumeGB, $CachedDiskGB, $NvmeDiskGB) = Get-MaxTempDiskAndCacheSize $sku.Capabilities
 
        $Response += New-Object PSObject -Property @{
            ResourceSKU = $sku.Size
            NvmeDiskPlacement = @{ $true = "NOT SUPPORTED"; $false = "SUPPORTED"}[$NvmeDiskGB -lt $OSImageSizeInGB]
            TempDiskPlacement = @{ $true = "NOT SUPPORTED"; $false = "SUPPORTED"}[$MaxResourceVolumeGB -lt $OSImageSizeInGB]
            CacheDiskPlacement = @{ $true = "NOT SUPPORTED"; $false = "SUPPORTED"}[$CachedDiskGB -lt $OSImageSizeInGB]
         };
    }
 
    return $Response
}
 
Get-EphemeralSupportedVMSku -OSImageSizeInGB $OSImageSizeInGB -Location $Location | Format-Table

Q:エフェメラル OS ディスクを既存の VM およびスケール セットに適用できますか?

A:いいえ。エフェメラル OS ディスクは、VM およびスケール セットの作成時にのみ使用できます。

Q:スケール セット内でエフェメラル OS ディスクと通常の OS ディスクを混在させることはできますか?

A:いいえ。同じスケール セット内でエフェメラル OS ディスクと永続 OS ディスクのインスタンスを混在させることはできません。

Q: PowerShell または CLI を使用してエフェメラル OS ディスクを作成できますか?

A: はい。REST、テンプレート、PowerShell、CLI を使用して、エフェメラル OS ディスクで VM を作成できます。