Creare un disco gestito da uno snapshot con PowerShell

Questo script crea un disco gestito da uno snapshot. Può essere usato per ripristinare una macchina virtuale da snapshot dei dischi del sistema operativo e di dati. Creare dischi dati e del sistema operativo gestiti dai rispettivi snapshot e quindi creare una nuova macchina virtuale collegando i dischi gestiti. Collegando i dischi dati creati da snapshot, è anche possibile ripristinare i dischi di dati di una macchina virtuale esistente.

Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.

Script di esempio

#Provide the subscription Id
$subscriptionId = 'yourSubscriptionId'

#Provide the name of your resource group
$resourceGroupName ='yourResourceGroupName'

#Provide the name of the snapshot that will be used to create Managed Disks
$snapshotName = 'yourSnapshotName'

#Provide the name of the Managed Disk
$diskName = 'yourManagedDiskName'

#Provide the size of the disks in GB. It should be greater than the VHD file size.
$diskSize = '128'

#Provide the storage type for Managed Disk. Acceptable values are Standard_LRS, Premium_LRS, PremiumV2_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS and StandardSSD_ZRS.
$storageType = 'Premium_LRS'

#Required for Premium SSD v2 and Ultra Disks
#Provide the Availability Zone you'd like the disk to be created in, default is 1
$zone=1

#Provide the Azure region (e.g. westus) where Managed Disks will be located.
#This location should be same as the snapshot location
#Get all the Azure location using command below:
#Get-AzLocation
$location = 'westus'

#Set the context to the subscription Id where Managed Disk will be created
Select-AzSubscription -SubscriptionId $SubscriptionId

$snapshot = Get-AzSnapshot -ResourceGroupName $resourceGroupName -SnapshotName $snapshotName 

#If you're creating a Premium SSD v2 or an Ultra Disk, add "-Zone $zone" to the end of the command
$diskConfig = New-AzDiskConfig -SkuName $storageType -Location $location -CreateOption Copy -SourceResourceId $snapshot.Id -DiskSizeGB $diskSize
 
New-AzDisk -Disk $diskConfig -ResourceGroupName $resourceGroupName -DiskName $diskName

Impatto sulle prestazioni - Processo di copia in background

Quando si crea un disco gestito da uno snapshot, avvia un processo di copia in background. È possibile collegare un disco a una macchina virtuale durante l'esecuzione di questo processo, ma si otterrà un impatto sulle prestazioni (l'impatto in lettura dei dischi 4K è 512e sia in lettura che in scrittura). Per i dischi Ultra e SSD Premium v2, è possibile controllare lo stato del processo di copia in background con l'interfaccia della riga di comando di Azure. Questo non è attualmente supportato con il modulo Azure PowerShell.

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. Altri tipi di disco segnalano sempre il 100%.

Spiegazione dello script

Questo script usa i comandi seguenti per creare un disco gestito da snapshot. Ogni comando della tabella include collegamenti alla documentazione specifica del comando.

Comando Note
Get-AzSnapshot Ottiene le proprietà dello snapshot.
New-AzDiskConfig Crea la configurazione del disco usata per la creazione del disco. Include l'ID risorsa dello snapshot padre, il percorso, che è identico a quello dello snapshot padre, e il tipo di archiviazione.
New-AzDisk Crea un disco accettando come parametri la configurazione del disco, il nome del disco e il nome del gruppo di risorse.

Passaggi successivi

Creare una macchina virtuale da un disco gestito

Per altre informazioni sul modulo Azure PowerShell, vedere la documentazione di Azure PowerShell.

Altri esempi di script PowerShell della macchina virtuale sono reperibili nella documentazione della VM Windows di Azure.