Udostępnij za pośrednictwem


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

Jaki jest rozmiar efemerycznych dysków OS?

Obsługujemy platformę, Udostępnioną Galerię Obrazów oraz 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?

Nie, po aprowizacji efemerycznego dysku systemu operacyjnego jego rozmiar nie może być zmieniony.

Czy lokalizacja efemerycznego dysku OS może zostać zmodyfikowana po utworzeniu maszyny wirtualnej?

Nie, po utworzeniu efemerycznego dysku systemu operacyjnego nie można zmienić lokalizacji dysku systemu operacyjnego. Maszynę wirtualną można jednak odtworzyć za pomocą wdrożenia szablonu ARM, PowerShell lub interfejsu wiersza poleceń (CLI), aktualizując wybrane umiejscowienie dysku systemu operacyjnego. Spowoduje to odtworzenie maszyny wirtualnej z usuniętymi danymi na dysku systemu operacyjnego, a system operacyjny zostanie ponownie aprowizowany.

Czy istnieje utworzony dysk tymczasowy, jeśli rozmiar obrazu jest równy rozmiarowi dysku tymczasowego rozmiaru wybranej 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 Standard Ubuntu na Standard_D2ads_v5 z umieszczeniem dysku tymczasowego, uzyskasz rozmiar dysku systemu operacyjnego o rozmiarze 30 GiB i dysku tymczasowego o rozmiarze 45 GiB. Jeśli używasz tego samego standardowego obrazu Ubuntu na Standard_D2ads_v6 z umiejscowieniem dysku NVMe, to otrzymujesz rozmiar dysku systemowego wynoszący 30 GiB bez dysku NVMe.

Jak działa rozmieszczanie 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 o pojemności 440 GiB każdy. Jeśli tworzysz efemeryczny dysk systemu operacyjnego o rozmiarze mniejszym niż 440 GiB, to tylko jeden dysk jest używany do jego stworzenia. Drugi dysk NVMe jest zwracany jako nieprzetworzony dysk lokalny.

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

Odpowiedź: Tak. Nie ma opcji zatrzymania przydziału dla efemerycznych maszyn wirtualnych, zamiast tego użytkownicy muszą je usunąć, a nie deaktywować.

Czy mogę dołączyć dysk zarządzany do tymczasowej maszyny wirtualnej?

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

Czy wszystkie rozmiary VM będą obsługiwane dla 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 rozmieszczenie. Jeśli rozmieszczenie dysków pamięci podręcznej, tymczasowych i NVMe jest oznaczone jako nieobsługiwane, nie można korzystać z 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?

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

Q: Czy można mieszać efemeryczne i normalne dyski systemu operacyjnego w grupie 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?

Tak, można tworzyć maszyny wirtualne z efemerycznym dyskiem systemu operacyjnego przy użyciu REST, szablonów, PowerShell i CLI.