임시 OS 디스크에 대한 질문과 대답
Q: 임시 OS 디스크의 크기는 어떻게 됩니까?
A: 플랫폼, 공유 이미지 갤러리 및 사용자 지정 이미지를 지원합니다. 임시 OS 디스크의 크기는 VM(Virtual Machine)에서 사용할 수 있는 로컬 스토리지(캐시 디스크, 임시 디스크 또는 NVMe 디스크)에 따라 달라집니다. 임시 OS 디스크의 최대 크기는 2TiB일 수 있습니다. 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: NVMe 디스크 배치는 임시 디스크 배치와 어떻게 다른가요?
A: Nvme 디스크 배치는 전체 Nvme 디스크를 활용하는 반면 임시 디스크 배치는 OS 디스크 크기와 동일한 공간을 사용합니다. 예를 들어 임시 디스크 배치가 있는 Standard_D2ads_v5 표준 Ubuntu 이미지를 사용하는 경우 OS 디스크 크기는 30GiB, 임시 디스크 크기는 45GiB입니다. NVMe 디스크 배치와 함께 Standard_D2ads_v6 동일한 표준 Ubuntu 이미지를 사용하는 경우 NVMe 디스크가 없는 30GiB의 OS 디스크 크기를 가져옵니다.
Q: NVMe 디스크가 여러 대 있는 VM의 경우 NVMe 디스크 배치는 어떻게 작동하나요?
A: NVMe 디스크 배치는 OS 디스크에 필요한 최소 디스크 수를 활용합니다. 예를 들어 Standard_D16ads_v6 각각 440GiB의 두 개의 디스크가 있습니다. 크기가 440GiB 미만인 임시 OS 디스크를 만들고 삭제하는 경우 임시 OS 디스크를 만드는 데 하나의 디스크만 사용됩니다. 두 번째 NVMe 디스크는 원시 로컬 디스크로 반환됩니다.
Q: 우선 순위가 낮은 VM 및 스폿 VM에서 임시 OS 디스크가 지원되나요?
A: 예. 임시 VM에 대해 할당 취소를 중지할 수 있는 옵션은 없으며, 대신 사용자가 할당을 취소하는 대신 삭제해야 합니다.
Q: 관리 디스크를 임시 VM에 연결할 수 있나요?
A: 예, 임시 OS 디스크를 사용하는 VM에 관리 데이터 디스크를 연결할 수 있습니다.
Q: 임시 OS 디스크에 대해 모든 VM 크기가 지원되나요?
A: 아니요, 대부분의 Premium Storage VM 크기가 지원됩니다(DS, ES, FS, GS, M 등). 특정 VM 크기가 OS 이미지 크기에 대한 임시 OS 디스크를 지원하는지 여부를 확인하려면 다음 스크립트를 사용할 수 있습니다. OS 이미지 크기와 위치를 입력으로 사용하고 지원되는 VM 및 해당 배치 목록을 제공합니다. 캐시, 임시 및 NVMe 디스크 배치가 지원되지 않는 것으로 표시되면 지정된 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;
$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
Q: 임시 OS 디스크가 기존 VM 및 확장 집합에 적용될 수 있나요?
A: 아니요, 임시 OS 디스크는 VM 및 확장 집합 만들기 중에만 사용될 수 있습니다.
Q: 임시 및 일반 OS 디스크를 확장 집합에 혼합할 수 있나요?
A: 아니요, 동일한 확장 집합 내에서는 임시 및 영구 OS 디스크 인스턴스를 혼합할 수 없습니다.
Q: PowerShell 또는 CLI를 사용하여 임시 OS 디스크를 만들 수 있나요?
A: 예, REST, Templates, PowerShell 및 CLI를 사용하여 임시 OS 디스크가 있는 VM을 만들 수 있습니다.