暫時性 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。