Azure Disk Snapshots: How They Work and When to Use Them
An Azure disk snapshot is a read-only, point-in-time copy of a managed disk. Snapshots are useful for creating safe restore points before risky changes, cloning environments quickly, and migrating disks between regions. They are not a full backup strategy on their own, but understanding how they work helps you use them effectively alongside other recovery tools.
How snapshots work
A snapshot captures the exact state of a managed disk at the moment you take it. The first snapshot of a disk is a full copy — stored in Azure Blob storage in the same region as the disk. All subsequent snapshots are incremental: only the disk blocks that changed since the last snapshot are stored.
Despite being incremental in storage, you can restore from any single snapshot directly. Azure reconstructs the full disk state from the incremental chain without you needing to manage that process. Deleting an intermediate snapshot does not break later snapshots — Azure merges the delta into the next one automatically.
Snapshots are stored redundantly using locally redundant storage (LRS) by default, meaning three copies within a single data center. For disaster recovery purposes where you need the snapshot to survive a regional outage, use zone-redundant storage (ZRS) or copy the snapshot to another region.
Creating snapshots with the Azure CLI
You need the source disk resource ID. For a running VM’s OS disk, get it from the VM properties:
# Get the OS disk ID for a VM
DISK_ID=$(az vm show \
--resource-group my-rg \
--name my-vm \
--query storageProfile.osDisk.managedDisk.id \
--output tsv)
echo $DISK_ID
# Take a snapshot (VM can remain running)
az snapshot create \
--resource-group my-rg \
--name my-vm-snapshot-$(date +%Y%m%d) \
--source $DISK_ID \
--incremental trueThe —incremental true flag is important — it enables incremental snapshots, which are cheaper for subsequent snapshots. Use full snapshots only when you want a fully independent copy with no dependency on previous snapshots (for example, before cross-region migration).
You can take a snapshot of a running VM without stopping it first. However, the snapshot will capture the disk state at a specific moment — if the application was in the middle of writing data, the snapshot may be crash-consistent (recoverable, like after a power cut) rather than application-consistent (cleanly quiesced). For database VMs, stop writes or use Azure Backup’s VSS-based consistent snapshots.
Restoring a VM from a snapshot
You do not restore a snapshot directly onto an existing disk. Instead, you create a new managed disk from the snapshot and either replace the VM’s disk or create a new VM from it.
Scenario: restore a VM after a bad deployment
# Step 1: Deallocate the VM
az vm deallocate --resource-group my-rg --name my-vm
# Step 2: Create a new managed disk from the snapshot
az disk create \
--resource-group my-rg \
--name restored-os-disk \
--source /subscriptions/.../snapshots/my-vm-snapshot-20260319 \
--sku Premium_LRS
# Step 3: Swap the OS disk on the VM
az vm update \
--resource-group my-rg \
--name my-vm \
--os-disk restored-os-disk
# Step 4: Start the VM
az vm start --resource-group my-rg --name my-vmThis approach is non-destructive — the original (broken) disk still exists until you explicitly delete it. You can swap back to it if the snapshot restoration does not resolve the issue.
Practical snapshot use cases
Pre-change safety point
Before a major OS update, database migration, or application deployment, take a snapshot of the relevant disk. If the change causes problems, you can roll back by creating a new disk from the snapshot and swapping it in. This is particularly useful for VMs that do not have a clean deployment pipeline — legacy servers where rollback would otherwise mean manual reinstallation.
Cloning an environment
Snapshots are useful for creating a copy of a production environment for testing a data migration or debugging a production-specific issue. Take a snapshot of the production disk, create a new disk from it, attach it to a new VM in a separate resource group or subscription, and test on a real copy of the data without affecting production.
Cross-region disk migration
You cannot move a managed disk directly between regions. The workaround is: take a snapshot, copy the snapshot to the target region, then create a new disk from the copy.
# Copy a snapshot to another region
az snapshot copy \
--resource-group my-rg \
--source /subscriptions/.../snapshots/my-snapshot \
--destination-resource-group my-rg-westeurope \
--destination-name my-snapshot-westeurope \
--destination-region westeuropeSnapshots versus Azure Backup
Snapshots and Azure Backup both protect VM data, but at different levels of automation and control.
| Disk Snapshots | Azure Backup | |
|---|---|---|
| Scheduling | Manual or scripted | Automated via backup policy |
| Retention management | Manual — you delete old snapshots | Enforced by policy (daily, weekly, monthly) |
| Application consistency | Crash-consistent unless quiesced manually | VSS-consistent for Windows, pre/post scripts for Linux |
| Cross-region recovery | Requires manual copy step | Supported with Cross Region Restore option |
| Cost | Pay per GB of snapshot storage | Per-VM fee plus backup storage |
| Best for | Ad hoc, before-change safety points, cloning | Regular automated backups with compliance requirements |
For VMs that process business data and need regular automated backups, Azure Backup is the right tool. Use disk snapshots as a complement to Azure Backup for ad hoc situations, not as a replacement for a scheduled backup policy.
Common snapshot mistakes
- Relying on snapshots as the only backup. Snapshots are stored in the same region as the source disk. A regional outage can affect both. Use zone-redundant snapshot storage or Azure Backup with cross-region restore enabled for anything that requires geographic redundancy.
- Forgetting to delete old snapshots. Snapshots accumulate charges. An incremental snapshot of a 128 GB disk might only be a few GB of changed data, but dozens of old snapshots across many VMs add up. Review snapshot inventory monthly and delete what you no longer need.
- Taking application-inconsistent snapshots of running databases. A snapshot taken while a database is in the middle of a transaction might be unrecoverable or require crash recovery on restore. Quiesce writes, flush to disk, or use Azure Backup for consistent database snapshots.
Summary
- Disk snapshots are point-in-time copies of managed disks. After the first full copy, subsequent snapshots are incremental and cheap.
- You restore from a snapshot by creating a new disk from it, not by writing it back to an existing disk.
- Use snapshots for pre-change safety points, environment cloning, and cross-region disk migration.
- For automated, scheduled backups with retention policies and application consistency, use Azure Backup instead of manual snapshots.
- Delete old snapshots regularly — they accumulate storage charges silently.
Frequently asked questions
Are Azure disk snapshots incremental?
Yes. The first snapshot of a disk is a full copy. Every subsequent snapshot stores only the blocks that changed since the previous snapshot. This makes incremental snapshots much smaller and cheaper than taking full copies each time. You can restore from any incremental snapshot without needing all the previous ones — Azure reconstructs the full state automatically.
Does taking a snapshot affect VM performance?
Briefly. When you initiate a snapshot, Azure takes a point-in-time copy of the disk. For a running VM, this can cause a short burst of disk I/O as Azure flushes dirty pages. The impact is typically negligible for most workloads. For database VMs, quiescing writes before taking a snapshot produces a more consistent restore point.
How is a snapshot different from Azure Backup?
A snapshot is a direct copy of a disk at a point in time. Azure Backup is a managed service that orchestrates snapshot creation on a schedule, enforces retention policies, stores snapshots in a Recovery Services vault, and provides application-consistent backups for databases. For ad hoc or infrequent snapshots, the disk snapshot CLI is fine. For regular automated backups with retention management, use Azure Backup.