임시 OS 디스크에 대한 질문과 대답

Q: 로컬 OS 디스크의 크기는 얼마나 되나요?

A: 플랫폼, Shared Image Gallery 및 사용자 지정 이미지는 OS 캐시 배치를 사용하는 경우 VM 캐시 크기까지, 임시 디스크 배치를 사용하는 경우 임시 디스크 크기까지 지원되며, OS 디스크에 대한 모든 읽기/쓰기는 Virtual Machine과 동일한 노드에서 로컬이 됩니다.

Q: 임시 OS 디스크 크기를 조정할 수 있나요?

A: 아니요, 임시 OS 디스크가 프로비전된 다음에는 OS 디스크의 크기를 조정할 수 없습니다.

Q: VM을 만든 후 임시 OS 디스크 배치를 수정할 수 있나요?

A: 아니요, 임시 OS 디스크가 프로비전된 다음에는 OS 디스크 배치를 변경할 수 없습니다. 그러나 선택한 OS 디스크 배치를 업데이트하여 ARM 템플릿 배포/PowerShell/CLI를 통해 VM을 다시 만들 수 있습니다. 이렇게 하면 OS 디스크의 데이터가 삭제되고 OS가 다시 프로비전된 상태로 VM이 다시 생성됩니다.

Q: 이미지 크기가 선택한 VM 크기의 임시 디스크 크기와 같은 경우 임시 디스크가 생성되나요?

A: 아니요. 이 경우 임시 디스크 드라이브가 생성되지 않습니다.

Q: 우선 순위가 낮은 VM 및 스폿 VM에서 임시 OS 디스크가 지원되나요?

A: 예. 임시 VM에 대한 Stop-Deallocate 옵션은 없으며, 사용자가 할당을 취소하는 대신 삭제해야 합니다.

Q: 관리 디스크를 임시 VM에 연결할 수 있나요?

A: 예, 임시 OS 디스크를 사용하는 VM에 관리 데이터 디스크를 연결할 수 있습니다.

Q: 임시 OS 디스크에 대해 모든 VM 크기가 지원되나요?

A: 아니요, 대부분의 Premium Storage 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

Q: 임시 OS 디스크가 기존 VM 및 확장 집합에 적용될 수 있나요?

A: 아니요, 임시 OS 디스크는 VM 및 확장 집합 만들기 중에만 사용될 수 있습니다.

Q: 임시 및 일반 OS 디스크를 확장 집합에 혼합할 수 있나요?

A: 아니요, 동일한 확장 집합 내에서는 임시 및 영구 OS 디스크 인스턴스를 혼합할 수 없습니다.

Q: PowerShell 또는 CLI를 사용하여 임시 OS 디스크를 만들 수 있나요?

A: 예, REST, Templates, PowerShell 및 CLI를 사용하여 임시 OS 디스크가 있는 VM을 만들 수 있습니다.