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 gli consente di essere potenzialmente più conveniente, poiché, a meno che non lo si scelga, non si deve 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 delle unità SSD Premium. Se si usano degli snapshot completi in Archiviazione Premium per aumentare le distribuzioni di macchine virtuali, è consigliabile usare delle immagini personalizzate nell'archiviazione standard nella raccolta di calcolo di Azure. 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 (ZRS). Se nell'area selezionata è disponibile l'archiviazione con ridondanza della zona, uno snapshot incrementale userà automaticamente l'archiviazione con ridondanza della zona. Se nell'area non è disponibile l'archiviazione con ridondanza della zona, per impostazione predefinita lo snapshot sarà l'archiviazione con ridondanza locale (LRS). È 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

  • Attualmente gli snapshot incrementali non possono essere spostati tra le sottoscrizioni.
  • Attualmente è possibile generare solo degli 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 si applica all'intera durata di vita di un disco, ma a un dato momento. È sempre possibile eliminare gli 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-b incrementale. 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 aumentano le dimensioni di un'unità SSD Premium v2 o di un disco Ultra, gli snapshot incrementali presenti nella copia in background avranno esito negativo.
  • 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 di settore di 512e, potrebbero 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 sul controllo dello 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 delle modifiche, le dimensioni dello snapshot sono pari a 0 MiB. Attualmente, gli snapshot vuoti dei dischi con dimensioni del settore logico di 4096 hanno invece una dimensione di 6 MiB, quando normalmente sono di 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 proprietà SourceResourceId 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 proprietà CompletionPercent di qualsiasi snapshot deve essere 100 prima che possa essere utilizzato. Sostituire yourResourceGroupNameHere, yourSubscriptionId e yourDiskNameHere con i propri valori pertinenti, 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

È possibile anche controllare lo stato di un singolo snapshot controllando la proprietà CompletionPercent. 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 il 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 proprietà CompletionPercent di un singolo snapshot per ottenere il relativo stato. Sostituire yourResourceGroupNameHere e yourSnapshotName, quindi 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 v2 è un VHDX o un disco rigido virtuale, ottenere la proprietà LogicalSectorSize 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 Azure Managed Disks in un'altra area con funzionalità differenziale di snapshot incrementali.