Udostępnij za pośrednictwem


Często zadawane pytania dotyczące efemerycznych dysków systemu operacyjnego

.: Jaki jest rozmiar efemerycznych dysków systemu operacyjnego?

1: Obsługujemy platformę, galerię obrazów udostępnionych i obrazy niestandardowe. Rozmiar efemerycznego dysku systemu operacyjnego zależy od magazynu lokalnego (dysku pamięci podręcznej, dysku tymczasowego lub dysku NVMe) dostępnego na maszynie wirtualnej. Maksymalny rozmiar efemerycznego dysku systemu operacyjnego może wynosić 2 TiB. Wszystkie zapisy na dysku systemu operacyjnego są lokalne w tym samym węźle co maszyna wirtualna.

.: Czy można zmienić rozmiar efemerycznego dysku systemu operacyjnego?

1: Nie, po aprowizacji efemerycznego dysku systemu operacyjnego nie można zmienić rozmiaru dysku systemu operacyjnego.

.: Czy efemeryczne umieszczanie dysku systemu operacyjnego może zostać zmodyfikowane po utworzeniu maszyny wirtualnej?

1: Nie, po aprowizowaniu efemerycznego dysku systemu operacyjnego nie można zmienić umieszczania dysku systemu operacyjnego. Maszynę wirtualną można jednak odtworzyć za pomocą wdrożenia szablonu usługi ARM/programu PowerShell/interfejsu wiersza polecenia, aktualizując wybór miejsca dysku systemu operacyjnego. Spowoduje to odtworzenie maszyny wirtualnej z danymi na dysku systemu operacyjnego usuniętym, a system operacyjny zostanie ponownie aprowizacji.

.: Czy istnieje utworzony dysk tymczasowy, jeśli rozmiar obrazu jest równy rozmiarowi dysku tymczasowego wybranego rozmiaru maszyny wirtualnej?

1: Nie, w takim przypadku dysk tymczasowy nie jest tworzony.

.: W jaki sposób umieszczanie dysku NVMe różni się od umieszczania dysku tymczasowego?

1: Umieszczanie dysku nvme wykorzystuje cały dysk Nvme, podczas gdy umieszczanie dysku tymczasowego wykorzystuje miejsce równe rozmiarowi dysku systemu operacyjnego. Jeśli na przykład używasz obrazu systemu Ubuntu w warstwie Standardowa na Standard_D2ads_v5 z umieszczaniem dysku tymczasowego, uzyskasz rozmiar dysku systemu operacyjnego o rozmiarze 30 GiB i dysku tymczasowego o rozmiarze 45 GiB. Jeśli używasz tego samego obrazu systemu Ubuntu w warstwie Standardowa na Standard_D2ads_v6 z umieszczaniem dysku NVMe, uzyskasz i rozmiar dysku systemu operacyjnego 30 GiB bez dysku NVMe.

.: Jak działa umieszczanie dysków NVMe dla maszyn wirtualnych z wieloma dyskami NVMe?

O: Umieszczanie dysku NVMe wykorzystuje minimalną liczbę dysków wymaganych dla dysku systemu operacyjnego. Na przykład Standard_D16ads_v6 ma dwa dyski z 440 GiB każdy. Jeśli tworzysz i efemeryczny dysk systemu operacyjnego o rozmiarze mniejszym niż 440 GiB, tylko jeden dysk jest używany do tworzenia efemerycznego dysku systemu operacyjnego. Drugi dysk NVMe jest zwracany jako nieprzetworzony dysk lokalny.

.: Czy efemeryczne dyski systemu operacyjnego są obsługiwane na maszynach wirtualnych o niskim priorytcie i maszynach wirtualnych typu spot?

Odpowiedź: Tak. Nie ma możliwości zatrzymania cofnięcia przydziału dla efemerycznych maszyn wirtualnych, a raczej użytkownicy muszą usunąć zamiast cofnąć ich przydział.

.: Czy mogę dołączyć Dyski zarządzane do efemerycznej maszyny wirtualnej?

Uwierzytelnianie: Tak, można dołączyć dysk danych zarządzanych do maszyny wirtualnej, która używa efemerycznego dysku systemu operacyjnego.

.: Czy wszystkie rozmiary maszyn wirtualnych będą obsługiwane w przypadku efemerycznych dysków systemu operacyjnego?

1: Nie, większość rozmiarów maszyn wirtualnych usługi Premium Storage jest obsługiwana (DS, ES, FS, GS, M itp.). Aby dowiedzieć się, czy określony rozmiar maszyny wirtualnej obsługuje efemeryczne dyski systemu operacyjnego dla rozmiaru obrazu systemu operacyjnego, możesz użyć następującego skryptu. Przyjmuje on rozmiar i lokalizację obrazu systemu operacyjnego jako dane wejściowe oraz udostępnia listę maszyn wirtualnych i odpowiednie obsługiwane umieszczanie. Jeśli umieszczanie dysków pamięci podręcznej, tymczasowej i NVMe jest oznaczone jako nieobsługiwane, nie można użyć efemerycznego dysku systemu operacyjnego dla danego rozmiaru obrazu systemu operacyjnego.

[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

.: Czy można zastosować efemeryczny dysk systemu operacyjnego do istniejących maszyn wirtualnych i zestawów skalowania?

1: Nie, efemeryczny dysk systemu operacyjnego może być używany tylko podczas tworzenia maszyny wirtualnej i zestawu skalowania.

.: Czy można mieszać efemeryczne i normalne dyski systemu operacyjnego w zestawie skalowania?

1: Nie, nie można mieć kombinacji efemerycznych i trwałych wystąpień dysków systemu operacyjnego w tym samym zestawie skalowania.

.: Czy można utworzyć efemeryczny dysk systemu operacyjnego przy użyciu programu PowerShell lub interfejsu wiersza polecenia?

Uwierzytelnianie: Tak, można tworzyć maszyny wirtualne z efemerycznym dyskiem systemu operacyjnego przy użyciu interfejsu REST, szablonów, programu PowerShell i interfejsu wiersza polecenia.