Поделиться через


Часто задаваемые вопросы о временных дисках ОС

Вопрос. Какой размер дисков эфемерной ОС?

Ответ. Мы поддерживаем платформу, Общая коллекция образов и пользовательские образы. Размер диска эфемерной ОС зависит от локального хранилища (диска кэша, временного диска или диска NVMe), доступного на виртуальной машине. Максимальный размер диска эфемерной ОС может составлять 2 ТиБ. Все записи на диск ОС находятся локально на том же узле, что и виртуальная машина.

Вопрос. Можно ли изменить размер временного диска ОС?

Ответ. Нет, после подготовки эфемерного диска ОС не удается изменить размер диска ОС.

Вопрос. Можно ли изменить размещение временного диска ОС после создания виртуальной машины?

Ответ. Нет, после подготовки эфемерного диска ОС невозможно изменить размещение диска ОС. Но виртуальную машину можно создать повторно с помощью развертывания шаблона ARM, PowerShell или CLI, обновив выбранное размещение диска ОС. Это приводит к повторному созданию виртуальной машины с данными на удаленном диске ОС и повторной подготовке ОС.

Вопрос. Создается ли временный диск, если размер образа равен размеру временного диска для выбранного размера виртуальной машины?

Ответ. Нет, в этом случае временный диск не создается.

Вопрос. Как размещение дисков NVMe отличается от размещения временных дисков?

Ответ. Размещение диска Nvme использует весь диск Nvme, а размещение временных дисков использует пространство, равное размеру диска ОС. Например, если вы используете стандартный образ Ubuntu в Standard_D2ads_v5 с размещением временных дисков, вы получите размер диска ОС размером 30 ГиБ и временных дисков размером 45 ГиБ. Если вы используете тот же образ Ubuntu уровня "Стандартный" в Standard_D2ads_v6 с размещением дисков NVMe, то вы получаете и размер диска ОС размером 30 ГиБ без диска NVMe.

Вопрос. Как работает размещение дисков NVMe для виртуальных машин с несколькими дисками NVMe?

Ответ. Размещение дисков NVMe использует минимальное количество дисков, необходимых для диска ОС. Например, Standard_D16ads_v6 имеет два диска 440 ГиБ. Если вы создаете и эфемерный диск ОС размером менее 440 ГиБ, то для создания эфемерного диска ОС используется только один диск. Второй диск NVMe возвращается вам как необработанный локальный диск.

Вопрос. Поддерживаются ли временные диски ОС на виртуальных машинах с низким приоритетом и на точечных виртуальных машинах?

Ответ. Да. Нет возможности stop-Deallocate для временных виртуальных машин, а не удалять их.

Вопрос. Можно ли подключить управляемые диски к временной виртуальной машине?

Ответ. Да, вы можете подключить управляемый диск данных к виртуальной машине, которая использует временный диск ОС.

Вопрос. Будут ли поддерживаться все размеры виртуальных машин для временных дисков ОС?

Ответ. Нет, но поддерживаются большинство размеров хранилища виртуальных машин класса Premium (DS, ES, FS, GS, M и т. д.). Чтобы узнать, поддерживает ли определенный размер виртуальной машины временные диски ОС для размера образа ОС, можно использовать следующий сценарий. Он принимает размер и расположение образа ОС в качестве входных данных и предоставляет список виртуальных машин и соответствующего размещения, поддерживаемых. Если размещение дисков кэша, temp и NVMe помечаются как не поддерживаемые, то диск эфемерной ОС нельзя использовать для заданного размера образа ОС.

[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

Вопрос. Можно ли применять временный диск ОС к существующим виртуальным машинам и масштабируемым наборам?

Ответ. Нет, временный диск ОС можно использовать только во время создания виртуальной машины и масштабируемого набора.

Вопрос. Можно ли смешивать временные и обычные диски ОС в масштабируемом наборе?

Ответ. Нет, в одном масштабируемом наборе нельзя использовать временные и постоянные экземпляры дисков ОС.

Вопрос. Можно ли создать временный диск ОС с помощью PowerShell или CLI?

Ответ. Да, вы можете создавать виртуальные машины с временными дисками ОС, используя функции REST, шаблоны, PowerShell и CLI.