エフェメラル 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 を作成できます。