관리 디스크에 대한 증분 스냅샷 만들기

적용 대상: ✔️ Linux VM ✔️ Windows VM ✔️ 유연한 확장 집합 ✔️ 균일한 확장 집합

증분 스냅샷은 관리 디스크의 특정 시점 백업으로, 마지막 스냅샷 이후의 변경 내용으로만 구성됩니다. 첫 번째 증분 스냅샷은 디스크의 전체 복사본입니다. 후속 증분 스냅샷은 마지막 스냅샷 이후 디스크에 대한 델타 변경 내용만 차지합니다. 증분 스냅샷에서 디스크를 복원하는 경우 시스템은 증분 스냅샷을 만들 때 디스크의 특정 시점 백업을 나타내는 전체 디스크를 재구성합니다. 관리 디스크 스냅샷에 대한 이 기능은 선택하지 않는 한 각 개별 스냅샷과 함께 전체 디스크를 저장할 필요가 없기 때문에 잠재적으로 비용 효율성을 높일 수 있습니다. 전체 스냅샷과 마찬가지로 증분 스냅샷을 사용하여 전체 관리 디스크 또는 전체 스냅샷을 만들 수 있습니다. 수행된 후 즉시 전체 스냅샷과 증분 스냅샷을 모두 사용할 수 있습니다. 즉, 스냅샷을 만든 후에는 기본 데이터를 즉시 읽고 디스크를 복원하는 데 사용할 수 있습니다.

증분 스냅샷과 전체 스냅샷 간에는 몇 가지 차이점이 있습니다. 증분 스냅샷은 디스크의 스토리지 유형과 관계없이 항상 표준 HDD 스토리지를 사용하는 반면, 전체 스냅샷은 프리미엄 SSD를 사용할 수 있습니다. Premium Storage에서 전체 스냅샷을 사용하여 VM 배포를 스케일 업하는 경우 Azure Compute Gallery의 표준 스토리지에서 사용자 지정 이미지를 사용하는 것이 좋습니다. 이는 더 저렴한 비용으로 더 큰 규모를 달성하는 데 도움이 됩니다. 또한 증분 스냅샷은 ZRS(영역 중복 스토리지)를 사용하여 더 높은 안정성을 제공할 수 있습니다. 선택한 지역에서 ZRS를 사용할 수 있는 경우 증분 스냅샷은 ZRS를 자동으로 사용합니다. 해당 지역에서 ZRS를 사용할 수 없는 경우 스냅샷은 기본적으로 LRS(로컬 중복 스토리지)로 설정됩니다. 이 동작을 재정의하고 수동으로 선택할 수 있지만 권장하지 않습니다.

증분 스냅샷은 사용된 크기에 대해서만 요금이 청구됩니다. Azure 사용량 보고서를 살펴보면 사용된 스냅샷의 크기를 확인할 수 있습니다. 예를 들어 스냅샷의 사용된 데이터 크기가 10GiB이면 일별 사용량 보고서에 10GiB/(31일) = 0.3226GiB가 소비량으로 표시됩니다.

제한 사항

  • 현재 증분 스냅샷은 구독 간에 이동할 수 없습니다.
  • 현재는 지정된 시간에 특정 스냅샷 패밀리 중 최대 5개 스냅샷의 SAS URI만 생성할 수 있습니다.
  • 해당 디스크의 구독 외부에 있는 특정 디스크에 대해 증분 스냅샷을 만들 수 없습니다.
  • 증분 스냅샷은 다른 리소스 그룹으로 이동할 수 없습니다. 그러나 다른 리소스 그룹 또는 지역에 복사할 수 있습니다.
  • 5분마다 디스크당 최대 7개의 증분 스냅샷이 만들어질 수 있습니다.
  • 단일 디스크에 대해 총 500개의 증분 스냅샷을 만들 수 있습니다. 500 할당량 한도는 디스크의 수명 전체가 아니라 특정 시점에 적용됩니다. 언제든지 디스크의 이전 스냅샷을 삭제하여 최신 스냅샷을 위한 공간을 확보할 수 있습니다.
  • 4TB 경계에서 부모 디스크의 크기를 변경하기 전후에 만들어진 스냅샷 간의 변경 내용을 가져올 수 없습니다. 예를 들어 디스크 크기가 2TB일 때 증분 스냅샷인 snapshot-a을 만들었습니다. 이제 디스크 크기를 6TB로 늘린 다음, 다른 증분 스냅샷인 snapshot-b를 만들었습니다. snapshot-asnapshot-b 간의 변경 내용은 가져올 수 없습니다. 크기 조정 후에 만든 snapshot-b의 전체 복사본을 다운로드해야 합니다. 그 후에 snapshot-bsnapshot-b 다음에 생성된 스냅샷 간의 변경 내용을 가져올 수 있습니다.
  • 스냅샷에서 관리 디스크를 만들면 백그라운드 복사 프로세스가 시작됩니다. 이 프로세스가 실행되는 동안 디스크를 VM에 연결할 수 있지만 성능에 영향을 줄 수 있습니다. CompletionPercent 속성을 사용하여 Ultra Disks 및 Premium SSD v2 디스크에 대한 백그라운드 복사 상태를 확인할 수 있습니다.

프리미엄 SSD v2 및 Ultra Disks의 증분 스냅샷

프리미엄 SSD v2 및 Ultra Disks의 증분 스냅샷에는 다음과 같은 추가 제한이 있습니다.

  • 논리 섹터 크기가 512인 스냅샷은 VHD로 저장되며 모든 디스크 유형을 만드는 데 사용할 수 있습니다. 4096 논리 섹터 크기의 스냅샷은 VHDX로 저장되며 Ultra Disks 및 프리미엄 SSD v2 디스크를 만드는 데만 사용할 수 있으며 다른 디스크 유형을 만드는 데 사용할 수 없습니다. 스냅샷 섹터 크기를 확인하려면 검사 섹터 크기를 참조하세요.
  • 프리미엄 SSD v2 또는 Ultra Disk의 스냅샷에서 최대 5개의 디스크를 동시에 만들 수 있습니다.
  • 프리미엄 SSD v2 또는 Ultra Disk의 증분 스냅샷 만들어지면 해당 디스크에 대한 백그라운드 복사 프로세스가 시작됩니다. 백그라운드 복사가 진행되는 동안 최대 3개의 총 스냅샷이 보류 중일 수 있습니다. 해당 디스크의 스냅샷을 더 만들려면 이 프로세스가 완료되어야 합니다.
  • 프리미엄 SSD v2 또는 Ultra Disk의 증분 스냅샷은 만들어진 직후에 사용할 수 없습니다. 스냅샷으로 디스크를 만들려면 먼저 백그라운드 복사를 완료해야 합니다. 자세한 내용은 스냅샷 상태 확인을 참조하세요.
  • 디스크의 CompletionPercent 속성이 100에 도달하지 않은 동안 프리미엄 SSD v2 또는 Ultra 디스크의 증분 스냅샷을 만드는 것은 지원되지 않습니다.
  • CompletionPercent 속성이 100에 도달하지 않은 동안 스냅샷에서 만든 Premium SSD v2 또는 Ultra 디스크를 실행 중인 Virtual Machine에 연결하면 디스크 성능에 영향을 줍니다. 특히 디스크의 섹터 크기가 4k인 경우 읽기 속도가 느려질 수 있습니다. 디스크의 섹터 크기가 512e인 경우 읽기 및 쓰기 속도가 느려질 수 있습니다. 이 백그라운드 복사 프로세스의 진행률을 추적하려면 Azure PowerShell 샘플 또는 Azure CLI의 디스크 상태 확인 섹션을 참조하세요.

참고 항목

일반적으로 증분 스냅샷을 만들 때 변경 사항이 없는 경우 해당 스냅샷 크기는 0MiB입니다. 현재 논리 섹터 크기가 4096인 디스크의 빈 스냅샷은 6MiB 크기입니다(보통은 0MiB).

증분 스냅샷 만들기

Azure CLI를 사용하여 증분 스냅샷을 만들 수 있습니다. 최신 버전의 Azure CLI가 필요합니다. Azure CLI를 설치하거나 업데이트하는 방법을 알아보려면 다음 문서를 참조하세요.

다음 스크립트는 특정 디스크의 증분 스냅샷을 만듭니다.

# Declare variables
diskName="yourDiskNameHere"
resourceGroupName="yourResourceGroupNameHere"
snapshotName="desiredSnapshotNameHere"

# Get the disk you need to backup
yourDiskID=$(az disk show -n $diskName -g $resourceGroupName --query "id" --output tsv)

# Create the snapshot
az snapshot create -g $resourceGroupName -n $snapshotName --source $yourDiskID --incremental true

스냅샷의 SourceResourceId 속성을 사용하여 동일한 디스크에서 증분 스냅샷을 식별할 수 있습니다. SourceResourceId는 부모 디스크의 Azure Resource Manager 리소스 ID입니다.

SourceResourceId를 사용하여 특정 디스크와 연결된 모든 스냅샷 목록을 만들 수 있습니다. yourResourceGroupNameHere를 값으로 바꾸고 다음 예를 사용하여 기존 증분 스냅샷을 나열할 수 있습니다.

# Declare variables and create snapshot list
subscriptionId="yourSubscriptionId"
resourceGroupName="yourResourceGroupNameHere"
diskName="yourDiskNameHere"

az account set --subscription $subscriptionId

diskId=$(az disk show -n $diskName -g $resourceGroupName --query [id] -o tsv)

az snapshot list --query "[?creationData.sourceResourceId=='$diskId' && incremental]" -g $resourceGroupName --output table

스탭샷 상태 확인

프리미엄 SSD v2 또는 Ultra Disks의 증분 스냅샷은 스냅샷으로 데이터를 복사하는 백그라운드 프로세스가 완료될 때까지 새 디스크를 만드는 데 사용할 수 없습니다.

CLI 또는 PowerShell 섹션을 사용하여 디스크에서 스냅샷으로 백그라운드 복사의 상태를 검사할 수 있습니다.

Important

다음 섹션을 사용하여 Ultra Disk 또는 Premium SSD v2 이외의 디스크 유형에 대한 백그라운드 복사 프로세스의 상태를 가져올 수 없습니다. 다른 디스크 유형의 스냅샷은 항상 100%를 보고합니다.

CLI

스냅샷의 상태를 가져오기 위한 두 가지 옵션이 있습니다. 특정 디스크와 연결된 모든 증분 스냅샷 목록 및 해당 상태를 얻거나 개별 스냅샷 상태를 가져올 수 있습니다.

CLI - 증분 스냅샷 나열

다음 스크립트는 특정 디스크와 연결된 모든 스냅샷 목록을 반환합니다. 모든 스냅샷의 CompletionPercent 속성 값은 100이어야만 사용할 수 있습니다. 스크립트를 실행하기 전에 yourResourceGroupNameHere, yourSubscriptionIdyourDiskNameHere을 고유의 값으로 바꿉니다.

# Declare variables and create snapshot list
subscriptionId="yourSubscriptionId"
resourceGroupName="yourResourceGroupNameHere"
diskName="yourDiskNameHere"
az account set --subscription $subscriptionId
diskId=$(az disk show -n $diskName -g $resourceGroupName --query [id] -o tsv)
az snapshot list --query "[?creationData.sourceResourceId=='$diskId' && incremental]" -g $resourceGroupName --output table

CLI - 개별 스냅샷

CompletionPercent 속성을 확인하여 개별 스냅샷의 상태를 검사할 수도 있습니다. $sourceSnapshotName을 스냅샷 이름으로 바꾼 다음, 다음 명령을 실행합니다. 디스크 복원에 스냅샷을 사용하거나 기본 데이터를 다운로드하기 위해 SAS URI를 생성하려면 속성 값이 100이어야 합니다.

az snapshot show -n $sourceSnapshotName -g $resourceGroupName --query [completionPercent] -o tsv

PowerShell

스냅샷의 상태를 가져오기 위한 두 가지 옵션이 있습니다. 특정 디스크와 연결된 모든 증분 스냅샷 목록 및 해당 상태를 얻거나 개별 스냅샷 상태를 가져올 수 있습니다.

PowerShell - 증분 스냅샷 나열

다음 스크립트는 백그라운드 복사를 완료하지 않은 특정 디스크와 연결된 모든 증분 스냅샷 목록을 반환합니다. yourResourceGroupNameHereyourDiskNameHere를 바꾼 후 다음 스크립트를 실행합니다.

$resourceGroupName = "yourResourceGroupNameHere"
$snapshots = Get-AzSnapshot -ResourceGroupName $resourceGroupName
$diskName = "yourDiskNameHere"
$yourDisk = Get-AzDisk -DiskName $diskName -ResourceGroupName $resourceGroupName
$incrementalSnapshots = New-Object System.Collections.ArrayList
foreach ($snapshot in $snapshots)
{
    if($snapshot.Incremental -and $snapshot.CreationData.SourceResourceId -eq $yourDisk.Id -and $snapshot.CreationData.SourceUniqueId -eq $yourDisk.UniqueId)
    {
    $targetSnapshot=Get-AzSnapshot -ResourceGroupName $resourceGroupName -SnapshotName $snapshotName
        {
        if($targetSnapshot.CompletionPercent -lt 100)
            {
            $incrementalSnapshots.Add($targetSnapshot)
            }
        }
    }
}
$incrementalSnapshots

PowerShell - 개별 스냅샷

개별 스냅샷의 CompletionPercent 속성을 검사하여 상태를 가져올 수 있습니다. yourResourceGroupNameHereyourSnapshotName를 바꾼 후 다음 스크립트를 실행합니다. 디스크 복원에 스냅샷을 사용하거나 기본 데이터를 다운로드하기 위해 SAS URI를 생성하려면 속성 값이 100이어야 합니다.

$resourceGroupName = "yourResourceGroupNameHere"
$snapshotName = "yourSnapshotName"
$targetSnapshot=Get-AzSnapshot -ResourceGroupName $resourceGroupName -SnapshotName $snapshotName
$targetSnapshot.CompletionPercent

섹터 크기 확인

논리 섹터 크기가 4096인 스냅샷은 프리미엄 SSD v2 또는 Ultra Disks를 만드는 데만 사용할 수 있습니다. 다른 디스크 유형을 만드는 데 사용할 수 없습니다. 논리 섹터 크기가 4096인 디스크의 스냅샷은 VHDX로 저장되는 반면 논리 섹터 크기가 512인 디스크의 스냅샷은 VHD로 저장됩니다. 스냅샷은 부모 디스크에서 논리 섹터 크기를 상속합니다.

프리미엄 SSD v2 또는 Ultra Disk 스냅샷이 VHDX 또는 VHD인지 확인하려면 스냅샷의 LogicalSectorSize 속성을 가져옵니다.

다음 명령은 스냅샷의 논리적 섹터 크기를 표시합니다.

az snapshot show -g resourcegroupname -n snapshotname --query [creationData.logicalSectorSize] -o tsv

다음 단계

Azure CLI 또는 Azure PowerShell 모듈을 사용하여 스냅샷에서 디스크를 만들려면 다음 문서를 참조하세요.

지역 간에 증분 스냅샷을 복사하는 방법을 알아보려면 새 지역에 증분 스냅샷 복사를 참조하세요.

스냅샷에 대한 질문이 더 있는 경우 FAQ의 스냅샷 섹션을 참조하세요.

.NET을 사용하여 증분 스냅샷의 차등 기능을 보여 주는 샘플 코드를 보려면 증분 스냅샷의 차등 기능이 있는 다른 지역에 Azure Managed Disks 백업 복사를 참조하세요.