共用方式為


暫時性 OS 磁碟相關的常見問題集

問:本機 OS 磁碟的大小為何?

答:我們支援平台、共用映像庫和自訂映像,使用 OS 快取放置時最多為 VM 快取大小,以及使用暫存磁碟放置時最多為暫存磁碟大小,其中對 OS 磁碟的所有讀取/寫入都會在與虛擬機器相同的節點上。

問:暫時性 OS 磁碟可以調整大小嗎?

答:不行,一旦佈建暫時性 OS 磁碟,就無法調整 OS 磁碟的大小。

問:建立 VM 之後,是否可以修改暫時性 OS 磁碟放置?

答:不行,一旦佈建暫時性 OS 磁碟,就無法變更 OS 磁碟放置的大小。 但可以透過 ARM 範本部署/PowerShell/CLI,利用更新選擇的 OS 磁碟放置來重新建立 VM。 這會導致重新建立 VM,刪除 OS 磁碟上的資料並重新佈建 OS。

問:如果映像大小等於所選 VM 大小的暫存磁碟大小,是否會建立任何暫存磁碟?

答:不會,在此情況下,並不會建立任何暫存磁碟磁碟機。

問:低優先順序 VM 和現成 VM 上是否支援暫時性 OS 磁碟?

A: 可以。 暫時性 VM 沒有「 Stop-Deallocate」(停止解除配置) 選項,使用者必須刪除而非將其解除配置。

問:我可以將受控磁碟連結至暫時性 VM 嗎?

答:是的,您可以將受控資料磁碟連結至使用暫時性 OS 磁碟的 VM。

問:暫時性 OS 磁碟是否將支援所有 VM 大小?

答:不會,支援多數進階儲存體 VM 大小 (DS、ES、FS、GS、M 等)。 若要了解特定 VM 大小是否支援 OS 映像大小的暫時性 OS 磁碟,您可以使用下列指令碼。 這會將 OS 映像大小和位置作為輸入,並提供支援的 VM SKU 和對應位置清單。 如果 OS 快取和暫時磁碟位置都標示為不支援,則暫時性 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;
 
    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)) }
    }
 
    return ($MaxResourceVolumeGB, $CachedDiskGB)
}
 
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) = Get-MaxTempDiskAndCacheSize $sku.Capabilities
 
        $Response += New-Object PSObject -Property @{
            ResourceSKU = $sku.Size
            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

問:暫時性 OS 磁碟是否可以套用至現有的 VM 和擴展集?

答:不行,暫時性 OS 磁碟只能在 VM 和擴展集建立期間使用。

問:您可以將擴展集中的暫時和一般 OS 磁碟混合使用嗎?

答:否,您無法在相同擴展集內混合使用暫時和持續性 OS 磁碟執行個體。

問:可以使用 PowerShell 或 CLI 建立暫時性 OS 磁碟嗎?

答:是的,您可以使用 REST、範本、PowerShell 和 CLI 建立具有暫時性 OS 磁碟的 VM。