Skip to content

Commit 11c1c3a

Browse files
Merge pull request #230959 from stevenmatthew/stephen-225857
Reliability: Acrolinx compliance
2 parents 62f9659 + 1430d60 commit 11c1c3a

File tree

2 files changed

+131
-0
lines changed

2 files changed

+131
-0
lines changed

articles/reliability/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,8 @@
229229
href: ../site-recovery/site-recovery-overview.md?toc=/azure/reliability/toc.json&bc=/azure/reliability/breadcrumb/toc.json
230230
- name: Azure Blob Storage
231231
href: ../storage/common/storage-disaster-recovery-guidance.md?toc=/azure/reliability/toc.json&bc=/azure/reliability/breadcrumb/toc.json
232+
- name: Azure Storage Mover
233+
href: reliability-azure-storage-mover.md?toc=/azure/reliability/toc.json&bc=/azure/reliability/breadcrumb/toc.json
232234
- name: Azure SQL
233235
href: /azure/azure-sql/database/high-availability-sla?toc=/azure/reliability/toc.json&bc=/azure/reliability/breadcrumb/toc.json
234236
- name: Azure Virtual WAN
Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
---
2+
title: Reliability in Azure Storage Mover
3+
description: Find out about reliability in Azure Storage Mover
4+
author: johnmic
5+
ms.author: johnmic
6+
ms.topic: conceptual
7+
ms.custom: subject-reliability, references_regions
8+
ms.service: storage-mover
9+
ms.date: 03/21/2023
10+
---
11+
12+
<!--
13+
!########################################################
14+
STATUS: IN REVIEW
15+
16+
CONTENT: final
17+
18+
REVIEW Stephen/Fabian: completed
19+
REVIEW Engineering: not reviewed
20+
EDIT PASS: completed
21+
22+
Initial doc score: 70
23+
Current doc score: 100, 1130, 0
24+
25+
!########################################################
26+
-->
27+
28+
# What is reliability in Azure Storage Mover?
29+
30+
This article describes reliability support in Azure Storage Mover and covers cross-region resiliency with disaster recovery. For a more detailed overview of reliability in Azure, see [Azure reliability](/azure/architecture/framework/resiliency/overview).
31+
32+
## Regional reliability
33+
34+
When deploying an Azure Storage Mover resource, you must select a location in which the resource's instance metadata is stored. Instance metadata includes projects, endpoints, agents, job definitions, and job run history, but doesn't include the actual data to be migrated. Azure storage accounts to be used as migration targets have their own reliability support. Disaster recovery for on-premises data sources is the responsibility of the customer.
35+
36+
Instance metadata is replicated across multiple availability zones in regions where availability zones are available. Availability zones are unique physical locations within an Azure region. Each zone is made up of one or more data centers equipped with independent power, cooling, and networking.
37+
38+
Some regions are paired in order to allow cross-region replication. When cross-region replication is utilized, instance metadata is replicated to each region, but is never permitted to leave the geography.
39+
40+
When a Storage Mover agent is registered, it connects to the region in which the Storage Mover resource is registered. If an agent's Azure region experiences an outage, the agent itself isn't affected, but management operations that rely on Azure may be unable to complete. In addition, any active data migrations to storage accounts located within the affected region may fail.
41+
42+
In the unlikely event of a full region outage, you have the option of using one of the following strategies:
43+
44+
- Wait for Azure to recover the region
45+
- Redeploy your resources to a different region
46+
- Deploy a redundant Storage Mover in advance
47+
48+
The last two options are a matter of timing, since deployment will occur either before or after any future outage.
49+
50+
## Determining reliability for target storage accounts
51+
52+
Any migration target storage account may require its own recovery steps. This requirement depends on the redundancy options chosen for each storage account. See the [storage account disaster recovery](/azure/storage/common/storage-disaster-recovery-guidance) article to determine whether more steps are necessary.
53+
54+
If a local storage was chosen in lieu of redundancy options, you may need to create a new storage account for use in migrations during the outage.
55+
56+
### Zone down experience
57+
58+
During a zone-wide outage, no action is required during zone recovery. Azure Storage Mover is designed to self-heal and rebalance itself to take advantage of the healthy zone automatically.
59+
60+
## Disaster recovery: cross-region failover
61+
62+
Azure can provide disaster recovery protection against a region-wide or large geography disaster by making use of another region. For more information on Azure disaster recovery architecture, see the article on [Azure to Azure disaster recovery architecture](/azure/site-recovery/azure-to-azure-architecture).
63+
64+
Azure initiated disaster recovery is only applicable for those regions that have are paired with a cross-region replication region. Azure Storage Mover uses Cosmos DB for storing instance metadata. Data loss may occur only with an unrecoverable disaster in the Azure Cosmos DB region. For more information, see [Region outages](/azure/cosmos-db/high-availability). Azure initiated recovery is active-passive, and full recovery of a region may be up to 24 hours.
65+
66+
Customers can minimize downtime by following the customer enabled disaster recovery steps described in this section. These strategies may require that further steps be taken prior to a disaster, so be sure to review and plan accordingly.
67+
68+
## Customer enabled disaster recovery
69+
70+
### Deploy resources to a different region
71+
72+
Since access to your resources may be impacted during an outage. To redeploy resources to a different region, you must first have a snapshot of the resources you wish to redeploy. To ensure that you're restoring the most recent data, taking a snapshot should be done periodically, either on a schedule or after you make substantial changes. Storing the snapshots using a version control system is a good way to store and track history of the snapshots.
73+
74+
See the documentation on [exporting templates](/azure/azure-resource-manager/templates/export-template-portal) for further instructions on exporting resources as an Azure Resource Manager (ARM) template.
75+
76+
If your Storage Mover and related resources reside in a container with no extra resources, you should perform a **Resource Group** export to capture the current state. However, if your resource group contains unrelated resources, you may need to remove or otherwise exclude the resources from the template.
77+
78+
Existing agents can't be redeployed to a different region. If the region in which they were originally configured experiences an outage, it may not be possible to completely unregister and re-register the agent. This document assumes that new agents are registered within a new region.
79+
80+
To use the exported template for disaster recovery, a few changes to the template are required.
81+
82+
- First, remove any `Microsoft.StorageMover/agents` and `Microsoft.HybridCompute/machines` resources from the template. Be sure to remove any dependency references to these resources as well.
83+
- Next, remove the `agentResourceId` property from all job definitions. You'll need to assign them to a new Agent after deployment.
84+
- After removing all references to agent and Hybrid Compute machine resources, update the location property of the top level Storage Mover resource. Replace the name of the currently deployed region with the name of the new region.
85+
- Finally, determine whether to keep the existing storage account resource ID. If necessary, replace it with a different storage account.
86+
87+
After completing the previous steps and verifying that the template parameters are correct, the template is ready for deployment to a new region. You should deploy the template to a new resource group that has the same default region as the location property in the template.
88+
89+
### Registering the new agent
90+
91+
Follow the steps within the [deploy an Azure Storage Mover agent](/azure/storage-mover/agent-deploy) article to register a new agent in the new Storage Mover resource.
92+
93+
### Assigning the agent to job definitions
94+
95+
After the new agent has been registered and reports as online, use the Azure portal or PowerShell to associate the existing job definitions to the new agent. The following PowerShell example is provided for convenience.
96+
97+
See the [define a new migration job](/azure/storage-mover/job-definition-create) for guidance on how to access the job definitions for your project.
98+
99+
```powershell
100+
101+
## Update the agent in a job definition resource
102+
$resourceGroupName = "[Your resource group name]"
103+
$storageMoverName = "[Your storage mover name]"
104+
$projectName = "[Your project name]"
105+
$jobDefName = "[Your job definition name]"
106+
$agentName = "[The name of an agent previously registered to the same storage mover resource]"
107+
108+
Update-AzStorageMoverJobDefinition `
109+
-ResourceGroupName $resourceGroupName `
110+
-StorageMoverName $storageMoverName `
111+
-ProjectName $projectName `
112+
-Name $jobDefName `
113+
-AgentName $agentName
114+
```
115+
116+
### Granting agent access to the target storage container
117+
118+
You need to assign the data contributor role to the managed identity to successfully perform a migration job. Assign the Hybrid Compute resource's system managed identity access to the target storage account resource. The [assign a managed identity access to a resource](/azure/active-directory/managed-identities-azure-resources/howto-assign-access-portal) article provides guidance on how to grant access to the target resource.
119+
120+
You're now ready to start migration jobs using the newly deployed Storage Mover resources.
121+
122+
## Next steps
123+
124+
Read more about any of the following features or options.
125+
126+
| Guide | Description |
127+
|---|---|
128+
| [Azure resiliency and reliability](/azure/architecture/framework/resiliency/overview) | A detailed overview of resiliency and reliability in Azure.
129+
| [storage account disaster recovery](/azure/storage/common/storage-disaster-recovery-guidance) | Concepts and processes involved with a storage account failover and recovery. |

0 commit comments

Comments
 (0)