Creare uno snapshot incrementale per i dischi gestiti

Si applica a: ✔️ Macchine virtuali ✔️ Linux Macchine virtuali ✔️ Windows Set di scalabilità flessibili Set ✔️ di scalabilità uniformi

Gli snapshot incrementali sono backup temporizzati per dischi gestiti che, una volta eseguiti, consistono solo nelle modifiche successive all'ultimo snapshot. Il primo snapshot incrementale è una copia completa del disco. Gli snapshot incrementali successivi occupano solo modifiche differenziali ai dischi dall'ultimo snapshot. Quando si ripristina un disco da uno snapshot incrementale, il sistema ricostruisce il disco completo che rappresenta il backup temporizzato del disco quando è stato creato lo snapshot incrementale. Questa funzionalità per gli snapshot del disco gestito consente potenzialmente di essere più conveniente, poiché, a meno che non si scelga di archiviare l'intero disco con ogni singolo snapshot. Analogamente agli snapshot completi, gli snapshot incrementali possono essere usati per creare un disco gestito completo o uno snapshot completo. Gli snapshot completi e gli snapshot incrementali possono essere usati immediatamente dopo l'acquisizione. In altre parole, dopo aver creato uno snapshot, è possibile leggere immediatamente i dati sottostanti e usarli per ripristinare i dischi.

Esistono alcune differenze tra uno snapshot incrementale e uno snapshot completo. Gli snapshot incrementali useranno sempre l'archiviazione HDD standard, indipendentemente dal tipo di archiviazione del disco, mentre gli snapshot completi possono usare unità SSD Premium. Se si usano snapshot completi in Archiviazione Premium per aumentare le prestazioni delle distribuzioni di macchine virtuali, è consigliabile usare immagini personalizzate nell'archiviazione standard nella raccolta di calcolo di Azure. Ti aiuterà a ottenere una scalabilità più massiccia con un costo inferiore. Gli snapshot incrementali offrono anche un'affidabilità migliore con l'archiviazione con ridondanza della zona. Se l'archiviazione con ridondanza della zona è disponibile nell'area selezionata, uno snapshot incrementale userà automaticamente l'archiviazione con ridondanza della zona. Se l'archiviazione con ridondanza della zona non è disponibile nell'area, per impostazione predefinita lo snapshot sarà l'archiviazione con ridondanza locale. È possibile eseguire l'override di questo comportamento e selezionare un comportamento manualmente, ma non è consigliabile.

Gli snapshot incrementali vengono fatturati solo per le dimensioni usate. È possibile trovare le dimensioni usate degli snapshot esaminando il report sull'utilizzo di Azure. Se ad esempio le dimensioni dei dati usati di uno snapshot sono 10 GiB, il report sull'utilizzo giornaliero mostrerà 10 GiB/(31 giorni) = 0,3226 come quantità utilizzata.

Restrizioni

  • Gli snapshot incrementali attualmente non possono essere spostati tra sottoscrizioni.
  • Attualmente è possibile generare solo URI di firma di accesso condiviso di un massimo di cinque snapshot di una determinata famiglia di snapshot in qualsiasi momento.
  • Non è possibile creare uno snapshot incrementale per un disco specifico all'esterno della sottoscrizione del disco.
  • Gli snapshot incrementali non possono essere spostati in un altro gruppo di risorse. Ma possono essere copiati in un altro gruppo di risorse o in un'altra area.
  • È possibile creare fino a sette snapshot incrementali per disco ogni cinque minuti.
  • È possibile creare un totale di 500 snapshot incrementali per un singolo disco. Il limite di quota 500 non supera la durata di un disco, ma in un determinato momento. È sempre possibile eliminare snapshot meno recenti di un disco per creare spazio per gli snapshot più recenti.
  • Non è possibile ottenere le modifiche tra gli snapshot creati prima e dopo aver modificato le dimensioni del disco padre attraverso il limite di 4 TB. Ad esempio, è stato creato uno snapshot snapshot-a incrementale quando le dimensioni di un disco erano pari a 2 TB. Ora sono state aumentate le dimensioni del disco a 6 TB e quindi è stato creato un altro snapshot snapshot-bincrementale. Non è possibile ottenere le modifiche tra snapshot-a e snapshot-b. È necessario scaricare la copia completa di snapshot-b creata dopo il ridimensionamento. Successivamente, è possibile ottenere le modifiche tra snapshot-b e gli snapshot creati dopo snapshot-b.
  • Quando si crea un disco gestito da uno snapshot, avvia un processo di copia in background. È possibile collegare un disco a una macchina virtuale mentre questo processo è in esecuzione, ma si avrà un impatto sulle prestazioni. È possibile usare la proprietà CompletionPercent per controllare lo stato della copia in background per dischi Ultra e dischi SSD Premium v2.

Snapshot incrementali di dischi SSD Premium v2 e Ultra

Gli snapshot incrementali dei dischi SSD Premium v2 e Ultra presentano le restrizioni aggiuntive seguenti:

  • Gli snapshot con dimensioni del settore logico 512 vengono archiviati come disco rigido virtuale e possono essere usati per creare qualsiasi tipo di disco. Gli snapshot con dimensioni del settore logico 4096 vengono archiviati come VHDX e possono essere usati solo per creare dischi Ultra e dischi SSD Premium v2, non possono essere usati per creare altri tipi di disco. Per determinare le dimensioni del settore dello snapshot, vedere Controllare le dimensioni del settore.
  • Fino a cinque dischi possono essere creati contemporaneamente da uno snapshot di un'unità SSD Premium v2 o di un disco Ultra.
  • Quando viene creato uno snapshot incrementale di un'unità SSD Premium v2 o di un disco Ultra, viene avviato un processo di copia in background per tale disco. Mentre è in corso una copia in background, è possibile avere fino a tre snapshot totali in sospeso. Il processo deve essere completato prima di poter creare altri snapshot del disco.
  • Gli snapshot incrementali di un'unità SSD Premium v2 o di un disco Ultra non possono essere usati immediatamente dopo la creazione. Prima di poter creare un disco dallo snapshot, è necessario completare la copia in background. Per informazioni dettagliate, vedere Controllare lo stato dello snapshot.
  • L'acquisizione di snapshot di incremento di un disco SSD Premium v2 o Ultra mentre la proprietà CompletionPercent del disco non ha raggiunto 100 non è supportata.
  • Quando si collega un disco SSD Premium v2 o Ultra creato dallo snapshot a una macchina virtuale in esecuzione mentre la proprietà CompletionPercent non ha raggiunto 100, il disco subisce un impatto sulle prestazioni. In particolare, se il disco ha una dimensione di settore di 4k, potrebbe verificarsi una lettura più lenta. Se il disco ha dimensioni del settore 512e, potrebbe verificarsi una lettura e una scrittura più lente. Per tenere traccia dello stato di avanzamento di questo processo di copia in background, vedere la sezione controllare lo stato del disco dell'esempio di Azure PowerShell o dell'interfaccia della riga di comando di Azure.

Nota

In genere, quando si crea uno snapshot incrementale e non vengono apportate modifiche, le dimensioni dello snapshot sono pari a 0 MiB. Attualmente, gli snapshot vuoti dei dischi con dimensioni del settore logico 4096 hanno invece una dimensione di 6 MiB, quando normalmente sono 0 MiB.

Creare snapshot incrementali

È possibile usare l'interfaccia della riga di comando di Azure per creare uno snapshot incrementale. È necessaria la versione più recente dell'interfaccia della riga di comando di Azure. Vedere gli articoli seguenti per informazioni su come installare o aggiornare l'interfaccia della riga di comando di Azure.

Lo script seguente crea uno snapshot incrementale di un disco specifico:

# 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

È possibile identificare gli snapshot incrementali dallo stesso disco con la SourceResourceId proprietà degli snapshot. SourceResourceId è l'ID risorsa di Azure Resource Manager del disco padre.

È possibile usare SourceResourceId per creare un elenco di tutti gli snapshot associati a un disco specifico. Sostituire yourResourceGroupNameHere con il valore e quindi usare l'esempio seguente per elencare gli snapshot incrementali esistenti:

# 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

Controllare lo stato dello snapshot

Gli snapshot incrementali di dischi SSD Premium v2 o Ultra non possono essere usati per creare nuovi dischi fino al completamento del processo in background che copia i dati nello snapshot.

È possibile usare le sezioni dell'interfaccia della riga di comando o di PowerShell per controllare lo stato della copia in background da un disco a uno snapshot.

Importante

Non è possibile usare le sezioni seguenti per ottenere lo stato del processo di copia in background per i tipi di disco diversi da Ultra Disk o SSD Premium v2. Gli snapshot di altri tipi di disco segnalano sempre il 100%.

CLI

Sono disponibili due opzioni per ottenere lo stato degli snapshot. È possibile ottenere un elenco di tutti gli snapshot incrementali associati a un disco specifico e il rispettivo stato oppure è possibile ottenere lo stato di un singolo snapshot.

Interfaccia della riga di comando - Elencare gli snapshot incrementali

Lo script seguente restituisce un elenco di tutti gli snapshot associati a un disco specifico. Il valore della CompletionPercent proprietà di qualsiasi snapshot deve essere 100 prima che possa essere utilizzato. Sostituire yourResourceGroupNameHere, yourSubscriptionIde yourDiskNameHere con i valori e quindi eseguire lo script:

# 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

Interfaccia della riga di comando - Singolo snapshot

È anche possibile controllare lo stato di un singolo snapshot controllando la CompletionPercent proprietà . Sostituire $sourceSnapshotName con il nome dello snapshot e quindi eseguire il comando seguente. Il valore della proprietà deve essere 100 prima di poter usare lo snapshot per il ripristino del disco o generare un URI di firma di accesso condiviso per scaricare i dati sottostanti.

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

PowerShell

Sono disponibili due opzioni per ottenere lo stato degli snapshot. È possibile ottenere un elenco di tutti gli snapshot incrementali associati a un disco specifico e al rispettivo stato oppure è possibile ottenere lo stato di un singolo snapshot.

PowerShell - Elencare gli snapshot incrementali

Lo script seguente restituisce un elenco di tutti gli snapshot incrementali associati a un disco specifico che non ha completato la copia in background. Sostituire yourResourceGroupNameHere e yourDiskNameHere, quindi eseguire lo script.

$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 - Singoli snapshot

È possibile controllare la CompletionPercent proprietà di un singolo snapshot per ottenere il relativo stato. Sostituire yourResourceGroupNameHere ed yourSnapshotName eseguire lo script. Il valore della proprietà deve essere 100 prima di poter usare lo snapshot per il ripristino del disco o generare un URI di firma di accesso condiviso per scaricare i dati sottostanti.

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

Controllare le dimensioni del settore

Gli snapshot con dimensioni del settore logico 4096 possono essere usati solo per creare dischi SSD Premium v2 o Ultra. Non possono essere usati per creare altri tipi di disco. Gli snapshot dei dischi con dimensioni del settore logico 4096 vengono archiviati come VHDX, mentre gli snapshot dei dischi con dimensioni del settore logico 512 vengono archiviati come disco rigido virtuale. Gli snapshot ereditano le dimensioni del settore logico dal disco padre.

Per determinare se o lo snapshot del disco Ultra o SSD Premium è VHDX o VHD, ottenere la LogicalSectorSize proprietà dello snapshot.

Il comando seguente visualizza le dimensioni del settore logico di uno snapshot:

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

Passaggi successivi

Vedere gli articoli seguenti per creare dischi dagli snapshot usando l'interfaccia della riga di comando di Azure o il modulo Azure PowerShell.

Vedere Copiare uno snapshot incrementale in una nuova area per informazioni su come copiare uno snapshot incrementale tra aree.

Per altre domande sugli snapshot, vedere la sezione snapshot delle domande frequenti.

Per visualizzare il codice di esempio che illustra la funzionalità differenziale degli snapshot incrementali usando .NET, vedere Copiare i backup di Managed Disks in un'altra area con funzionalità differenziale di snapshot incrementali.