Snapshot Azure Elastic SAN volumes (preview)
Azure Elastic SAN volume snapshots (preview) are incremental point-in-time backups of your volumes. The first snapshot you take occupies no space, and every subsequent snapshot consists only of the changes to the Elastic SAN volume since the last snapshot. This is different from a managed disk snapshot, wherein the first snapshot you take will be a full copy of the managed disk and each subsequent snapshot will consist of only the changes to the disk since the last snapshot. Snapshots of your volumes don't have any separate billing, but they reside in your elastic SAN and consume the SAN's capacity. Snapshots can't be used to change the state of an existing volume, you can only use them to either deploy a new volume or export the data to a managed disk snapshot.
You can take up to 200 snapshots per volume at a rate of seven snapshots every five minutes. Snapshots persist until either the volume itself is deleted or the snapshots are deleted. Snapshots don't persist after the volume is deleted. If you need your data to persist after deleting a volume, export your volume's snapshot to a managed disk snapshot.
Limitations
- If a volume is larger than 4 TiB, you can't export that volume's snapshots to disk snapshots.
General guidance
You should use Elastic SAN volume snapshots when you want to restore volumes quickly, like when you have dev/test workloads. Volumes created from volume snapshots are available instantly for use, while the rehydration happens in the background. Volume snapshots shouldn't be considered when hardening your backups.
You should use managed disk snapshots when you either want to create a managed disk from your Elastic SAN volume, or if you want to keep a long term backup of your Elastic SAN volumes. Managed disk snapshots are useful when you require durable checkpoints or version control for your Elastic SAN volumes, and you don't need to restore a volume backup instantly. Managed disk snapshots aren't ideal for scenarios where you require quick restoration, it takes time to create Elastic SAN volumes from managed disk snapshots.
Take a stable snapshot
You can take a snapshot anytime, but if you’re taking snapshots while the VM is running, keep these things in mind:
When the VM is running, data is still being streamed to the volumes. As a result, snapshots of a running VM might contain partial operations that were in flight. If there are several volumes attached to a VM, snapshots of different volumes might occur at different times. In the described scenario, snapshots weren't coordinated. This lack of coordination is a problem for striped volumes whose files might be corrupted if changes were being made during a backup. So the backup process must implement the following steps:
- Freeze all the volumes.
- Flush all the pending writes.
- Create an incremental snapshot for each volume.
Some Windows applications, like SQL Server, provide a coordinated backup mechanism through a volume shadow service to create application-consistent backups. On Linux, you can use a tool like fsfreeze to coordinate disks (this tool provides file-consistent backups, not application-consistent snapshots).
Create a volume snapshot
You can create snapshots of your volumes snapshots using the Azure portal, the Azure PowerShell module, or the Azure CLI.
- Sign in to the Azure portal.
- Navigate to your elastic SAN, select volume snapshots.
- Select create a snapshot, then fill in the fields.
Create a volume from a volume snapshot
You can use snapshots of elastic SAN volumes to create new volumes using the Azure portal, the Azure PowerShell module, or the Azure CLI. You can't use snapshots to change the state of existing volumes.
- Navigate to your elastic SAN and select Volumes.
- Select + Create volume and fill out the details.
- For Source type select Volume snapshot and fill out the details, specifying the snapshot you want to use.
- Select Create.
Create a volume from a managed disk snapshot
You can use snapshots of managed disks to create new elastic SAN volumes using the Azure portal, the Azure PowerShell module, or the Azure CLI.
- Navigate to your elastic SAN and select Volumes.
- Select + Create volume and fill out the details.
- For Source type select Disk snapshot and fill out the details, specifying the snapshot you want to use.
- Select Create.
Delete volume snapshots
You can use the Azure portal, Azure PowerShell module, or Azure CLI to delete individual snapshots. Currently, you can't delete more than an individual snapshot at a time.
- Navigate to your elastic SAN and select Volume snapshots.
- Select a volume group, then select the snapshot you'd like to delete.
- Select delete.
Export volume snapshot
Elastic SAN volume snapshots are automatically deleted when the volume is deleted. For your snapshot's data to persist beyond deletion, export them to managed disk snapshots. Exporting a volume snapshot to a managed disk snapshot takes time, how much time it takes depend on the size of the snapshot. You can check how much is left before completion by checking the CompletionPercentage
property of the managed disk snapshot.
Billing implications
Elastic SAN snapshots don't have any extra billing associated with them, they only consume your elastic SAN's capacity. Once you export an elastic SAN snapshot to a managed disk snapshot, the managed disk snapshot begins to incur billing charges.
- Navigate to your elastic SAN and select Volume snapshots.
- Select a volume group, then select the snapshot you'd like to export.
- Select Export and fill out the details, then select Export.