Skip to content

Commit 624528f

Browse files
committed
Final review (agent-deploy)
1 parent 6a83ce3 commit 624528f

File tree

2 files changed

+40
-29
lines changed

2 files changed

+40
-29
lines changed

articles/storage-mover/agent-deploy.md

Lines changed: 27 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ author: stevenmatthew
55
ms.author: shaas
66
ms.service: storage-mover
77
ms.topic: how-to
8-
ms.date: 08/25/2022
8+
ms.date: 09/12/2022
99
---
1010

1111
<!--
@@ -18,18 +18,21 @@ REVIEW Stephen/Fabian: COMPLETE
1818
REVIEW Engineering: not reviewed
1919
EDIT PASS: started
2020
21+
Initial doc score: 83
22+
Current doc score: 96 (1915 words and 0 issues)
23+
2124
!########################################################
2225
-->
2326

2427
# Deploy an Azure Storage Mover agent
2528

26-
The Azure Storage Mover service utilizes agents to perform the migration jobs you configure in the service. An agent is a virtual machine-based migration appliance which runs on a virtualization host. Ideally, your virtualization host will be located as near as possible to the source storage which you intend to migrate.
29+
The Azure Storage Mover service utilizes agents to perform the migration jobs you configure in the service. An agent is a virtual machine-based migration appliance that runs on a virtualization host. Ideally, your virtualization host will be located as near as possible to the source storage to be migrated.
2730

2831
Because the agent is essentially a migration appliance, you'll interact with it through an agent-local administrative shell. The shell limits the operations you can perform on this machine, though network configuration and troubleshooting tasks are accessible.
2932

30-
Use of the agent in migrations is managed through Azure. Both Azure PowerShell and CLI are supported, and graphical interaction is available within the Azure Portal. The agent is made available as a VM disk image compatible with a new Windows Hyper-V virtual machine (VM).
33+
Use of the agent in migrations is managed through Azure. Both Azure PowerShell and CLI are supported, and graphical interaction is available within the Azure portal. The agent is made available as a disk image compatible with new Windows Hyper-V virtual machines (VM).
3134

32-
In this article you'll learn how to successfully deploy a Storage Mover agent virtual machine.
35+
This article will guide you through the steps necessary to successfully deploy a Storage Mover agent VM.
3336

3437
## Prerequisites
3538

@@ -44,7 +47,7 @@ The image is hosted on Microsoft Download Center as a zip file. Download the fil
4447

4548
## Determine required resources for the VM
4649

47-
Like every VM, the agent requires available compute, memory and storage space resources on the host. Although overall data size may impact the time to complete a migration, it is generally the number of files and folders that drives resource requirements.
50+
Like every VM, the agent requires available compute, memory, and storage space resources on the host. Although overall data size may affect the time required to complete a migration, it's generally the number of files and folders that drives resource requirements.
4851

4952
### Recommended compute and memory resources
5053

@@ -65,7 +68,7 @@ The [Performance targets](performance-targets.md) article contains test results
6568

6669
### Local storage capacity
6770

68-
At a minimum, the agent image needs 20GiB of local storage. The amount required may increase if a large number of small files are cached during a migration.
71+
At a minimum, the agent image needs 20 GiB of local storage. The amount required may increase if a large number of small files are cached during a migration.
6972

7073
## Create the agent VM
7174

@@ -82,10 +85,10 @@ At a minimum, the agent image needs 20GiB of local storage. The amount required
8285
> [!IMPORTANT]
8386
Only *Generation 1* VMs are supported. This Linux image won't boot as a *Generation 2* VM.
8487

85-
1. If you haven't already, [determine the amount of memory you'll need for your VM](#determine-required-resources-for-the-vm). Enter this amount in the **Assign Memory** pane. Note that you need to enter the value in MiB. 1GiB = 1024MiB. Using the **Dynamic Memory** feature is fine.
88+
1. If you haven't already, [determine the amount of memory you'll need for your VM](#determine-required-resources-for-the-vm). Enter this amount in the **Assign Memory** pane, noting that you need to enter the value in MiB. 1 GiB = 1024 MiB. Using the **Dynamic Memory** feature is fine.
8689
:::image type="content" source="media/agent-deploy/agent-memory-allocate-sml.png" lightbox="media/agent-deploy/agent-memory-allocate-lrg.png" alt-text="Image showing the location of the Startup Memory field within the New Virtual Machine Wizard.":::
8790

88-
1. Within the **Configure Networking** pane, select the **Connection** drop-down and choose the virtual switch which will provide the agent with internet connectivity. Select **Next**. Refer to the [HyperV virtual networking documentation](/windows-server/networking/sdn/technologies/hyper-v-network-virtualization/hyperv-network-virtualization-overview-windows-server) for more details.
91+
1. Within the **Configure Networking** pane, select the **Connection** drop-down. From the list, choose the virtual switch that will provide the agent with internet connectivity and select **Next**. For more information, see the [Hyper-V virtual networking documentation](/windows-server/networking/sdn/technologies/hyper-v-network-virtualization/hyperv-network-virtualization-overview-windows-server) for details.
8992
:::image type="content" source="media/agent-deploy/agent-networking-configure-sml.png" lightbox="media/agent-deploy/agent-networking-configure-lrg.png" alt-text="Image showing the location of the network Connection field within the New Virtual Machine Wizard.":::
9093

9194
1. Within the **Connect Virtual Hard Disk** pane, select the **Use an existing Virtual Hard Disk** option. In the **Location** field, select **Browse** and navigate to the VHD file that was extracted in the previous steps. Select **Next**.
@@ -105,12 +108,12 @@ The agent is delivered with a default user account and password. Immediately aft
105108

106109
## Bandwidth throttling
107110

108-
A general consideration when deploying new machines in a network is the amount of bandwidth they will use. Any Azure Storage Mover agent will use all available network bandwidth on the local network (source share to agent) and the WAN link (agent to Azure Storage).
111+
A general consideration when deploying new machines in a network is the amount of bandwidth they'll use. Any Azure Storage Mover agent will use all available network bandwidth on the local network (source share to agent) and the WAN link (agent to Azure Storage).
109112

110113
> [!IMPORTANT]
111114
> The current Azure Storage Mover agent does not support bandwidth throttling schedules.
112115
113-
If bandwidth throttling is important to you, consider creating a local VNET with network QoS settings and an internet connection. Then expose the agent to the internet through this VNET. A network proxy server (unauthenticated) can also be configured locally on the agent.
116+
If bandwidth throttling is important to you, consider creating a local virtual network (VNet) with network quality of service (QoS) settings and an internet connection. Then expose the agent to the internet through this VNet. An unauthenticated network proxy server can also be configured locally on the agent.
114117

115118
## Decommissioning an agent
116119

@@ -124,7 +127,7 @@ Decommissioning an agent starts with unregistering the agent. There are three op
124127

125128
# [Agent administrative shell](#tab/xdmshell)
126129

127-
You can unregister an agent using the administrative shell of the agent VM. The agent must be connected to the service and showing online locally as well as through Azure portal or Az PowerShell / Az CLI.
130+
You can unregister an agent using the administrative shell of the agent VM. The agent must be connected to the service and showing online both locally and through Azure portal and either Azure PowerShell or Azure CLI.
128131

129132
[!INCLUDE [agent-shell-connect](includes/agent-shell-connect.md)]
130133

@@ -141,7 +144,7 @@ You can unregister an agent using the administrative shell of the agent VM. The
141144
xdmsh> 4
142145
```
143146

144-
Select the option **4) Unregister**. You will be prompted for confirmation.
147+
Select the option **4) Unregister**. You'll be prompted for confirmation.
145148

146149
> [!WARNING]
147150
> Unregistration stops any running migration job on the agent and permanently removes the agent from the pool of available migration agents. Re-registration of a previously registered agent VM is not supported in public preview. If you need a new agent, you must use a new agent image that was never registered before and register this new agent VM. Do not reuse a previously unregistered agent VM.
@@ -150,9 +153,9 @@ Select the option **4) Unregister**. You will be prompted for confirmation.
150153

151154
You can unregister an agent in the Azure portal by navigating to your storage mover resource the agent is registered with.
152155

153-
- select **Registered agents** in the main navigation menu.
154-
- select the agent you wish to decommission - a context blade showing agent details opens.
155-
- select **Unregister agent** and wait for this operation to finish.
156+
- Select **Registered agents** in the main navigation menu.
157+
- Select the agent to be decommissioned. The agent details pane opens.
158+
- Select **Unregister agent** and wait for the operation to complete.
156159

157160
> [!WARNING]
158161
> Unregistration stops any running migration job on the agent and permanently removes the agent from the pool of available migration agents. Re-registration of a previously registered agent VM is not supported in public preview. If you need a new agent, you must use a new agent image that was never registered before and register this new agent VM. Do not reuse a previously unregistered agent VM.
@@ -169,24 +172,26 @@ Unregister-AzStorageMoverAgent -ResourceGroupName <YourResourceGroupName> -Stora
169172
*-Force* is an optional parameter, suppressing the confirmation prompt.
170173

171174
> [!WARNING]
172-
> Unregistration stops any running migration job on the agent and permanently removes the agent from the pool of available migration agents. Re-registration of a previously registered agent VM is not supported in public preview. If you need a new agent, you must use a new agent image that was never registered before and register this new agent VM. Do not reuse a previously unregistered agent VM.
175+
> Unregistration stops any running migration job on the agent and permanently removes the agent from the pool of available migration agents. Re-registration of a previously registered agent VM is not supported in public preview. New agent VMs must be created from a new agent image that has not been previously registered. Do not reuse a previously unregistered agent VM.
173176
174177
---
175178

176-
The unregistration process has multiple effects:
179+
Several things take place during the unregistration process:
177180

178181
- The agent is removed from the storage mover resource. You'll no longer be able to see the agent in the *Registered agents* tab in the portal or select it for new migration jobs.
179182
- The agent is also removed from the Azure ARC service. This removal deletes the hybrid compute resource of type *Server - Azure Arc* that represented the agent with the Azure ARC service in the same resource group as your storage mover resource.
180-
- Unregistration removes the managed identity of the agent from Azure Active Directory (AAD). The associated service principal is automatically removed, invalidating any permissions this agent may have had on other Azure resources. If you check the RBAC (role based access control) role assignments, for instance of a target storage container the agent previously had permissions to, you'll no longer find the service principal of the agent, because it was deleted. The assignment itself is still visible as "Unknown service principal" but this assignment no longer connects to an identity and can never be reconnected. It is simply a sign that a role assignment used to be here, of a service principal that no longer exists. <br /><br />This is standard behavior and not specific to Azure Storage Mover. You can observe the same behavior if you remove a different service principal from AAD and then check a former role assignment.
183+
- Unregistration removes the managed identity of the agent from Azure Active Directory (Azure AD). The associated service principal is automatically removed, invalidating any permissions this agent may have had on other Azure resources. If you check the role-based access control (RBAC) role assignments, for instance of a target storage container the agent previously had permissions to, you'll no longer find the service principal of the agent, because it was deleted. The assignment itself is still visible as "Unknown service principal" but this assignment no longer connects to an identity and can never be reconnected. It's simply a sign that a role assignment used to be here, of a service principal that no longer exists.
184+
185+
This behavior is standard, and not specific to Azure Storage Mover. You can observe the same behavior if you remove a different service principal from Azure AD and then check a former role assignment.
181186

182187
> [!WARNING]
183-
> During public preview, unregistration of an offline agent is supported but the Azure ARC resource for the agent is not automatically deleted. You must manually delete the resource after unregistering an offline agent. The lifecycle of the agent's managed identity is tied to this resource. Removing it removes the managed identity and service principal, as previously described.
188+
> During public preview, unregistration of an offline agent is supported but the agent's Azure ARC resource isn't automatically deleted. Instead, you'll need to manually delete the resource after unregistering an offline agent. The lifecycle of the agent's managed identity is tied to this resource. Removing it removes the managed identity and service principal, as previously described.
184189
185-
You can check that the uregistration process is complete when the agent disappears in the Azure portal or Az PowerShell/CLI and the hybrid compute resource of type *Server - Azure Arc* is also gone from the resource group.
190+
You can check that the unregistration process is complete when the agent disappears from the Azure portal and either Azure PowerShell or Azure CLI. You'll also need to confirm that the hybrid compute resource of type *Server - Azure Arc* is gone from the resource group.
186191

187-
You can also use the agent's administrative shell to check that the agent is unregistered. Simply navigate to a sub-menu and back to the top menu. You should see the menu option toggle from "Unregister" to Register. During public preview, do not re-register!
192+
You can also use the agent's administrative shell to check that the agent is unregistered. To verify unregistration, navigate to any submenu and then return to the top-level menu. If unregistration was successful, you'll see the menu option toggle from *Unregister* to *Register*. As previously mentioned, re-registering isn't supported during the public preview.
188193

189-
You can then stop the agent VM on your virtualization host. It's best to delete the agent VM image. It was previously registered, retains some state and must not be used again. If you need a new agent, deploy a new VM with a new agent image that had never been registered before.
194+
You can stop the agent VM on your virtualization host after the unregistration is complete. It's best to delete the agent VM image since it was previously registered, retains some state, and must not be used again. If you need a new agent, deploy a new VM with a new agent image that had never been registered before.
190195

191196
## Next steps
192197

articles/storage-mover/resource-hierarchy.md

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ author: stevenmatthew
55
ms.author: shaas
66
ms.service: storage-mover
77
ms.topic: conceptual
8-
ms.date: 08/18/2022
8+
ms.date: 09/12/2022
99
---
1010

1111
<!--
@@ -18,12 +18,15 @@ REVIEW Stephen/Fabian: not reviewed
1818
REVIEW Engineering: not reviewed
1919
EDIT PASS: not started
2020
21+
Initial doc score: 86
22+
Current doc score: 96 (1915 words and 0 issues)
23+
2124
!########################################################
2225
-->
2326

2427
# Understanding the Azure Storage Mover resource hierarchy
2528

26-
Several Azure resources are involved in a Storage Mover deployment. This article describes each of these resources, their use, was well as best practices for expressing your migration needs with them.
29+
Several Azure resources are involved in a Storage Mover deployment. This article describes each of these resources, their uses, and best practices for expressing your migration needs with them.
2730

2831
:::image type="content" source="media/resource-hierarchy/resource-hierarchy.png" alt-text="An image showing the hierarchical relationship of Storage Mover Azure resources further described in the article." lightbox="media/resource-hierarchy/resource-hierarchy-large.png":::
2932

@@ -33,12 +36,15 @@ Several Azure resources are involved in a Storage Mover deployment. This article
3336

3437
## Storage mover resource
3538

36-
A storage mover resource is the name of the top-level service resource, that you'll deploy in a resource group of your choice. All aspects of the service - of your migration - are controlled from here.
39+
A storage mover resource is the name of the top-level service resource that you'll deploy in a resource group of your choice. All aspects of the service and of your migration are controlled from this resource. In most cases, deploying a single storage mover resource is sufficient for even the largest migrations.
40+
41+
You'll be better able to utilize your agents and manage your migrations if all resources find their home in the same storage mover instance.
42+
43+
An agent can only be registered to one storage mover.
44+
45+
When you deploy the resource, your subscription is registered with the *Microsoft.StorageMover* and *Microsoft.HybridCompute* resource providers. You'll also assign the region in which control messages and metadata about your migration is stored. The region assignment does not
3746

38-
In most cases, deploying a single storage mover resource is best for even the largest migration needs.
39-
- An agent can only be registered to one storage mover. You'll be able to utilize your agents and manage your migrations better, if all resources find their home in the same storage mover instance.
40-
- When you deploy this resource, your subscription is registered with the resource providers *Microsoft.StorageMover* and *Microsoft.HybridCompute*.
41-
- A storage mover resource has a region you'll assign at the time of it's deployment. The region you select is only determining where control messages and metadata about your migration is stored. The data that is migrated, is sent directly from the agent to the target in Azure Storage. Your files never travel through the Storage Mover service. That means the proximity between source, agent, and target storage is more important for migration performance than the location of your storage mover resource.
47+
<!--- A storage mover resource has a region you'll assign at the time of it's deployment. The region you select is only determining where control messages and metadata about your migration is stored. The data that is migrated, is sent directly from the agent to the target in Azure Storage. Your files never travel through the Storage Mover service. That means the proximity between source, agent, and target storage is more important for migration performance than the location of your storage mover resource.-->
4248

4349
:::image type="content" source="media/across-articles/data-vs-management-path.png" alt-text="Illustrating the previous bullet point by showing two arrows. The first arrow for data traveling to a storage account from the source/agent and a second arrow for only the management/control info to the storage mover resource/service." lightbox="media/across-articles/data-vs-management-path-large.png":::
4450

0 commit comments

Comments
 (0)