Skip to content

Commit fdfff23

Browse files
Merge pull request #220101 from roygara/ultSnap
Ultra snapshot preview
2 parents 40d9d3e + 3ff8dda commit fdfff23

9 files changed

+110
-26
lines changed

articles/virtual-machines/disks-copy-incremental-snapshot-across-regions.md

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Learn how to copy an incremental snapshot of a managed disk to a di
44
author: roygara
55
ms.service: storage
66
ms.topic: how-to
7-
ms.date: 05/13/2022
7+
ms.date: 01/25/2023
88
ms.author: rogarana
99
ms.subservice: disks
1010
ms.custom: devx-track-azurepowershell, devx-track-azurecli
@@ -13,7 +13,9 @@ ms.devlang: azurecli
1313

1414
# Copy an incremental snapshot to a new region
1515

16-
Incremental snapshots can be copied to any region. The process is managed by Azure, removing the maintenance overhead of managing the copy process by staging a storage account in the target region. Azure ensures that only changes since the last snapshot in the target region are copied to the target region to reduce the data footprint, reducing the recovery point objective. You can check the progress of the copy so you know when a target snapshot is ready to restore disks in the target region. You're only charged for the bandwidth cost of the data transfer across the region and the read transactions on the source snapshots. Don't delete your source snapshot while the target snapshot is being copied.
16+
There are two options for copying an incremental snapshot across regions. The first option, a managed process (recommended), that will perform the copy for you. This process is handled by Azure and removes the maintenance overhead of managing the copy process by staging a storage account in the target region. Azure ensures that only changes since the last snapshot in the target region are copied to the target region to reduce the data footprint, reducing the recovery point objective. You can check the process of a copy so you know when a target snapshot is ready to restore disks. For this managed process, you're only billed for the bandwidth cost of the data transfer across the region, and the read transactions on the source snapshot. Don't delete your source snapshot while the target snapshot is being copied.
17+
18+
The second option is a [manual copy](#manual-copy), where you get the changes between two incremental snapshots, down to the block level, and manually copy it from one region to another. Most users should use the managed process but, if you're interested in improving the copy speed, the second option allows you to use your compute resources to make the copy faster.
1719

1820
This article covers copying an incremental snapshot from one region to another. See [Create an incremental snapshot for managed disks](disks-incremental-snapshots.md) for conceptual details on incremental snapshots.
1921

@@ -24,7 +26,7 @@ This article covers copying an incremental snapshot from one region to another.
2426
- You can copy 100 incremental snapshots in parallel at the same time per subscription per region.
2527
- If you use the REST API, you must use version 2020-12-01 or newer of the Azure Compute REST API.
2628

27-
## Get started
29+
## Managed copy
2830

2931
# [Azure CLI](#tab/azure-cli)
3032

@@ -48,13 +50,13 @@ az snapshot show -n $sourceSnapshotName -g $resourceGroupName --query [completio
4850

4951
# [Azure PowerShell](#tab/azure-powershell)
5052

51-
You can use the Azure PowerShell module to copy an incremental snapshot. You will need the latest version of the Azure PowerShell module. The following command will either install it or update your existing installation to latest:
53+
You can use the Azure PowerShell module to copy an incremental snapshot. You'll need the latest version of the Azure PowerShell module. The following command will either install it or update your existing installation to latest:
5254

5355
```PowerShell
5456
Install-Module -Name Az -AllowClobber -Scope CurrentUser
5557
```
5658

57-
Once that is installed, login to your PowerShell session with `Connect-AzAccount`.
59+
Once that is installed, sign in to your PowerShell session with `Connect-AzAccount`.
5860

5961
The following script will copy an incremental snapshot from one region to another.
6062

@@ -147,6 +149,12 @@ You can also use Azure Resource Manager templates to copy an incremental snapsho
147149
```
148150
---
149151

152+
## Manual copy
153+
154+
Incremental snapshots offer a differential capability. They enable you to get the changes between two incremental snapshots of the same managed disk, down to the block level. You can use this to reduce your data footprint when copying snapshots across regions. For example, you can download the first incremental snapshot as a base blob in another region. For the subsequent incremental snapshots, you can copy only the changes since the last snapshot to the base blob. After copying the changes, you can take snapshots on the base blob that represent your point in time backup of the disk in another region. You can restore your disk either from the base blob or from a snapshot on the base blob in another region.
155+
156+
:::image type="content" source="media/disks-copy-incremental-snapshot-across-regions/incremental-snapshot-diagram.png" alt-text="Diagram depicting incremental snapshots copied across regions. Snapshots make various API calls until eventually forming page blobs per each snapshot.":::
157+
150158
## Next steps
151159

152160
If you'd like to see sample code demonstrating the differential capability of incremental snapshots, using .NET, see [Copy Azure Managed Disks backups to another region with differential capability of incremental snapshots](https://github.com/Azure-Samples/managed-disks-dotnet-backup-with-incremental-snapshots).

articles/virtual-machines/disks-enable-ultra-ssd.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Learn about ultra disks for Azure VMs
44
author: roygara
55
ms.service: storage
66
ms.topic: how-to
7-
ms.date: 01/20/2023
7+
ms.date: 01/23/2023
88
ms.author: rogarana
99
ms.subservice: disks
1010
ms.custom: references_regions, devx-track-azurecli, devx-track-azurepowershell, ignite-2022
@@ -64,7 +64,7 @@ Now that you know which zone to deploy to, follow the deployment steps in this a
6464

6565
### VMs with no redundancy options
6666

67-
Ultra disks deployed in select regions must be deployed without any redundancy options, for now. However, not every disk size that supports ultra disks may be in these region. To determine which disk sizes support ultra disks, you can use either of the following code snippets. Make sure to replace the `vmSize` and `subscription` values first:
67+
Ultra disks deployed in select regions must be deployed without any redundancy options, for now. However, not every disk size that supports ultra disks may be in these regions. To determine which disk sizes support ultra disks, you can use either of the following code snippets. Make sure to replace the `vmSize` and `subscription` values first:
6868

6969
```azurecli
7070
subscription="<yourSubID>"

articles/virtual-machines/disks-incremental-snapshots.md

Lines changed: 78 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ description: Learn about incremental snapshots for managed disks, including how
44
author: roygara
55
ms.service: storage
66
ms.topic: how-to
7-
ms.date: 10/12/2022
7+
ms.date: 01/25/2023
88
ms.author: rogarana
99
ms.subservice: disks
10-
ms.custom: devx-track-azurepowershell, ignite-fall-2021, devx-track-azurecli, ignite-2022
10+
ms.custom: devx-track-azurepowershell, ignite-fall-2021, devx-track-azurecli, ignite-2022, references_regions
1111
ms.devlang: azurecli
1212
---
1313

@@ -23,7 +23,7 @@ ms.devlang: azurecli
2323

2424
# [Azure CLI](#tab/azure-cli)
2525

26-
You can use the Azure CLI to create an incremental snapshot. You will need the latest version of the Azure CLI. See the following articles to learn how to either [install](/cli/azure/install-azure-cli) or [update](/cli/azure/update-azure-cli) the Azure CLI.
26+
You can use the Azure CLI to create an incremental snapshot. You'll need the latest version of the Azure CLI. See the following articles to learn how to either [install](/cli/azure/install-azure-cli) or [update](/cli/azure/update-azure-cli) the Azure CLI.
2727

2828
The following script will create an incremental snapshot of a particular disk:
2929

@@ -58,16 +58,15 @@ diskId=$(az disk show -n $diskName -g $resourceGroupName --query [id] -o tsv)
5858
az snapshot list --query "[?creationData.sourceResourceId=='$diskId' && incremental]" -g $resourceGroupName --output table
5959
```
6060

61-
6261
# [Azure PowerShell](#tab/azure-powershell)
6362

64-
You can use the Azure PowerShell module to create an incremental snapshot. You will need the latest version of the Azure PowerShell module. The following command will either install it or update your existing installation to latest:
63+
You can use the Azure PowerShell module to create an incremental snapshot. You'll need the latest version of the Azure PowerShell module. The following command will either install it or update your existing installation to latest:
6564

6665
```PowerShell
6766
Install-Module -Name Az -AllowClobber -Scope CurrentUser
6867
```
6968

70-
Once that is installed, login to your PowerShell session with `Connect-AzAccount`.
69+
Once that is installed, sign in to your PowerShell session with `Connect-AzAccount`.
7170

7271
To create an incremental snapshot with Azure PowerShell, set the configuration with [New-AzSnapShotConfig](/powershell/module/az.compute/new-azsnapshotconfig) with the `-Incremental` parameter and then pass that as a variable to [New-AzSnapshot](/powershell/module/az.compute/new-azsnapshot) through the `-Snapshot` parameter.
7372

@@ -84,7 +83,7 @@ $snapshotConfig=New-AzSnapshotConfig -SourceUri $yourDisk.Id -Location $yourDisk
8483
New-AzSnapshot -ResourceGroupName $resourceGroupName -SnapshotName $snapshotName -Snapshot $snapshotConfig
8584
```
8685

87-
You can identify incremental snapshots from the same disk with the `SourceResourceId` and the `SourceUniqueId` properties of snapshots. `SourceResourceId` is the Azure Resource Manager resource ID of the parent disk. `SourceUniqueId` is the value inherited from the `UniqueId` property of the disk. If you were to delete a disk and then create a new disk with the same name, the value of the `UniqueId` property changes.
86+
You can identify incremental snapshots from the same disk with the `SourceResourceId` and the `SourceUniqueId` properties of snapshots. `SourceResourceId` is the Azure Resource Manager resource ID of the parent disk. `SourceUniqueId` is the value inherited from the `UniqueId` property of the disk. If you delete a disk and then create a new disk with the same name, the value of the `UniqueId` property changes.
8887

8988
You can use `SourceResourceId` and `SourceUniqueId` to create a list of all snapshots associated with a particular disk. Replace `yourResourceGroupNameHere` with your value and then you can use the following example to list your existing incremental snapshots:
9089

@@ -145,6 +144,78 @@ You can also use Azure Resource Manager templates to create an incremental snaps
145144
```
146145
---
147146

147+
## Check snapshot status
148+
149+
Incremental snapshots of Ultra Disks (preview) can't be used to create new disks until the background process copying the data into the snapshot has completed. Similarly, Ultra Disks created from incremental snapshots can't be attached to a VM until the background process copying the data into the disk has completed.
150+
151+
You can check the status of this copy process with the scripts in the following sections.
152+
153+
### CLI
154+
155+
First, get a list of all snapshots associated with a particular disk. Replace `yourResourceGroupNameHere` with your value and then you can use the following script to list your existing incremental snapshots of Ultra Disks:
156+
157+
158+
```azurecli
159+
# Declare variables and create snapshot list
160+
subscriptionId="yourSubscriptionId"
161+
resourceGroupName="yourResourceGroupNameHere"
162+
diskName="yourDiskNameHere"
163+
164+
az account set --subscription $subscriptionId
165+
166+
diskId=$(az disk show -n $diskName -g $resourceGroupName --query [id] -o tsv)
167+
168+
az snapshot list --query "[?creationData.sourceResourceId=='$diskId' && incremental]" -g $resourceGroupName --output table
169+
```
170+
171+
Now that you have a list of snapshots, you can check the `CompletionPercent` property of a snapshot to get its status. Replace `$sourceSnapshotName` with the name of your snapshot. The value of the property must be 100 before you can use the snapshot for restoring disk or generate a SAS URI for downloading the underlying data.
172+
173+
```azurecli
174+
az snapshot show -n $sourceSnapshotName -g $resourceGroupName --query [completionPercent] -o tsv
175+
```
176+
177+
### PowerShell
178+
179+
The following script creates a list of all incremental snapshots associated with a particular disk that haven't completed their background copy. Replace `yourResourceGroupNameHere` and `yourDiskNameHere`, then run the script.
180+
181+
```azurepowershell
182+
$resourceGroupName = "yourResourceGroupNameHere"
183+
$snapshots = Get-AzSnapshot -ResourceGroupName $resourceGroupName
184+
$diskName = "yourDiskNameHere"
185+
186+
$yourDisk = Get-AzDisk -DiskName $diskName -ResourceGroupName $resourceGroupName
187+
188+
$incrementalSnapshots = New-Object System.Collections.ArrayList
189+
190+
foreach ($snapshot in $snapshots)
191+
{
192+
if($snapshot.Incremental -and $snapshot.CreationData.SourceResourceId -eq $yourDisk.Id -and $snapshot.CreationData.SourceUniqueId -eq $yourDisk.UniqueId)
193+
{
194+
$targetSnapshot=Get-AzSnapshot -ResourceGroupName $resourceGroupName -SnapshotName $snapshotName
195+
{
196+
if($targetSnapshot.CompletionPercent -lt 100)
197+
{
198+
$incrementalSnapshots.Add($targetSnapshot)
199+
}
200+
}
201+
}
202+
}
203+
204+
$incrementalSnapshots
205+
```
206+
207+
## Check sector size
208+
209+
Snapshots with a 4096 logical sector size can only be used to create Ultra Disks. They can't be used to create other disk types. Snapshots of disks with 4096 logical sector size are stored as VHDX, whereas snapshots of disks with 512 logical sector size are stored as VHD. Snapshots inherit the logical sector size from the parent disk.
210+
211+
To determine whether or your Ultra Disk snapshot is a VHDX or a VHD, get the `LogicalSectorSize` property of the snapshot.
212+
213+
The following command displays the logical sector size of a snapshot:
214+
215+
```azurecli
216+
az snapshot show -g resourcegroupname-n snapshotname--query [creationData.logicalSectorSize] -o tsv
217+
```
218+
148219
## Next steps
149220

150221
See [Copy an incremental snapshot to a new region](disks-copy-incremental-snapshot-across-regions.md) to learn how to copy an incremental snapshot across regions.

includes/managed-disks-ultra-disks-GA-scope-and-limitations.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ ms.author: rogarana
1010
ms.custom: include file
1111
---
1212

13-
Ultra disks can't be used as OS disks, they can only be created as empty data disks. Ultra disks also can't be used with some features and functionality, including disk export, disk snapshots, changing disk type, VM images, availability sets, or Azure disk encryption. Azure Backup and Azure Site Recovery do not support ultra disks. In addition, only un-cached reads and un-cached writes are supported.
13+
Ultra disks can't be used as OS disks, they can only be created as empty data disks. Ultra disks also can't be used with some features and functionality, including disk export, changing disk type, VM images, availability sets, or Azure disk encryption. Azure Backup and Azure Site Recovery do not support ultra disks. In addition, only un-cached reads and un-cached writes are supported. Currently, snapshots for ultra disks are available as a public preview and only in Sweden Central and US West 3, they aren't available in any other region.
1414

1515
Ultra disks support a 4k physical sector size by default. A 512E sector size is available as a generally available offering with no sign-up required. While most applications are compatible with 4k sector sizes, some require 512 byte sector sizes. Oracle Database, for example, requires release 12.2 or later in order to support 4k native disks. For older versions of Oracle DB, 512 byte sector size is required.
1616

-33.9 KB
Loading

0 commit comments

Comments
 (0)