Create a snapshot
A snapshot is a full, read-only copy of a virtual hard drive (VHD). You can take a snapshot of an OS or data disk VHD to use as a backup, or to troubleshoot virtual machine (VM) issues.
If you are going to use the snapshot to create a new VM, we recommend that you cleanly shut down the VM before taking a snapshot, to clear out any processes that are in progress.
Use the Azure portal
To create a snapshot, complete the following steps:
- On the Azure portal, select Create a resource.
- Search for and select Snapshot.
- In the Snapshot window, select Create. The Create snapshot window appears.
- Enter a Name for the snapshot.
- Select an existing Resource group or enter the name of a new one.
- Select an Azure datacenter Location.
- For Source disk, select the managed disk to snapshot.
- Select the Account type to use to store the snapshot. Select Standard_HDD, unless you need the snapshot to be stored on a high-performing disk.
- Select Create.
The following steps show how to copy the VHD disk and create the snapshot configuration. You can then take a snapshot of the disk by using the New-AzSnapshot cmdlet.
Set some parameters:
$resourceGroupName = 'myResourceGroup' $location = 'eastus' $vmName = 'myVM' $snapshotName = 'mySnapshot'
Get the VM:
$vm = Get-AzVM ` -ResourceGroupName $resourceGroupName ` -Name $vmName
Create the snapshot configuration. For this example, the snapshot is of the OS disk:
$snapshot = New-AzSnapshotConfig ` -SourceUri $vm.StorageProfile.OsDisk.ManagedDisk.Id ` -Location $location ` -CreateOption copy
If you would like to store your snapshot in zone-resilient storage, create it in a region that supports availability zones and include the
Take the snapshot:
New-AzSnapshot ` -Snapshot $snapshot ` -SnapshotName $snapshotName ` -ResourceGroupName $resourceGroupName
Create a virtual machine from a snapshot by creating a managed disk from a snapshot and then attaching the new managed disk as the OS disk. For more information, see the sample in Create a VM from a snapshot with PowerShell.