Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
问:临时 OS 磁盘的大小是多少?
答:我们支持平台、共享映像库和自定义映像。 临时 OS 磁盘的大小取决于虚拟机 (VM) 上可用的本地存储(缓存磁盘或临时磁盘)。 临时 OS 磁盘的最大大小可以为 2 TiB。 对 OS 磁盘的所有写入都在与虚拟机相同节点上的本地进行。
问:可以调整临时 OS 磁盘的大小吗?
答:否。预配临时 OS 磁盘后,无法调整其大小。
问:创建 VM 后能否修改临时 OS 磁盘位置?
答:否,预配临时 OS 磁盘后,无法更改 OS 磁盘放置。 但是,通过更新所选 OS 磁盘位置,可以通过 ARM 模板部署/PowerShell/CLI 重新创建 VM。 这将导致虚拟机被重新创建,其中 OS 磁盘上的数据被删除,随后操作系统被重新配置。
问:如果映像大小等于所选 VM 大小的临时磁盘大小,是否会创建任何临时磁盘?
答:否。在这种情况下,不会创建临时磁盘。
问:低优先级 VM 和 Spot VM 是否支持临时 OS 磁盘?
A:是的。 临时 VM 未提供“停止-解除分配”选项,因为用户需要删除它们而不是解除其分配。
问:是否可以将托管磁盘附加到临时 VM?
A:是的,可以将托管数据磁盘附加到使用临时 OS 磁盘的 VM。
问:临时 OS 磁盘是否支持所有 VM 大小?
答:不支持大多数高级存储 VM 大小(DS、ES、FS、M 等)。 要了解某个特定 VM 大小是否支持某个 OS 映像大小的临时 OS 磁盘,可以使用以下脚本。 它采用 OS 映像大小和位置作为输入,并提供受支持的 VM 列表和相应的放置。 如果缓存、临时和 NVMe 磁盘放置都标记为不受支持,则无法将临时 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
问:是否可以对现有的 VM 和规模集应用临时 OS 磁盘?
答:否。易失性 OS 磁盘只能在 VM 和规模集创建期间使用。
问:是否可以在规模集中混合使用临时 OS 磁盘和常规 OS 磁盘?
答:否。不能在同一规模集中混合使用短暂性 OS 磁盘实例和持久性 OS 磁盘实例。
问:是否可以通过 PowerShell 或 CLI 创建临时 OS 磁盘?
答:是的,可以使用 REST、模板、PowerShell 和 CLI 创建带有临时 OS 磁盘的 VM。
问:什么是具有完整缓存的临时 OS 磁盘?
答:具有完全缓存的临时 OS 磁盘(预览版)通过将 OS 磁盘完全缓存到本地磁盘来增强标准临时 OS 磁盘。 这消除了对处于稳定状态的远程存储的依赖关系,从而提高了远程存储中断期间的复原能力。 使用部分缓存(默认模式),写入操作将转到本地存储的差异磁盘,读取原始文件则来自远程基础磁盘。 使用完全缓存时,整个 OS 磁盘在本地缓存,从而消除了远程读取/写入延迟。
问:完整缓存的先决条件是什么?
答:VM SKU 的本地磁盘大小必须大于(2 × OS 磁盘大小 + 1 GiB)。 API 版本必须是 2025-04-01 或更高版本。 除 2/4 核 VM 之外,所有 VM SKU 目前都支持完全缓存。 有关详细信息,请参阅 临时 OS 磁盘。
问:完全缓存是否有额外的费用?
答:否,超出标准 VM 和磁盘成本的完整缓存不收取额外的费用。
问:完整缓存需要多长时间才能完成?
答:OS 磁盘在 VM 启动后在后台缓存,因此不会影响 VM 创建时间。 完整 OS 缓存通常在 12 小时内完成;但是,在运行任何灾难恢复演练之前,建议使用 12 小时的等待期作为安全限制。
问:完整缓存的当前可用性状态是什么?
答:具有完整缓存的临时 OS 磁盘目前以公共预览版提供。