你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

如何注册 Azure 存储移动程序代理

Azure 存储移动程序服务利用代理来执行你在该服务中配置的迁移作业。 代理是在靠近源存储的虚拟化主机上运行的基于虚拟机的设备。

需要注册代理才能与存储移动程序资源建立信任关系。 此信任使代理能够安全地接收迁移作业并报告进度。 代理注册可以通过存储移动程序资源的公共或专用终结点进行。 可以在 Azure 虚拟网络 (VNet) 中部署专用终结点(也称为资源的专用链接)。

可以从其他网络(例如本地企业网络)连接到 Azure VNET。 这种类型的连接是通过 VPN 连接(例如 Azure Express Route)建立的。 若要详细了解此方法,请参阅 Azure ExpressRouteAzure 专用链接文档。

重要

目前,可以将存储移动程序配置为通过专用链接将迁移数据从代理路由到目标存储帐户。 混合计算检测信号和证书也可以路由到虚拟网络 (VNet) 中的专用 Azure Arc 服务终结点。 某些存储移动程序流量无法通过专用链接路由,而是通过存储移动程序资源的公共终结点进行路由。 此数据包括控制消息、进度遥测数据和复制日志。

本文介绍如何成功注册以前部署的存储移动程序代理虚拟机 (VM)。

先决条件

在注册 Azure 存储移动程序代理之前,需要满足两个先决条件:

  1. 需要部署一个 Azure 存储移动程序资源。
    按照创建存储移动程序资源一文中的步骤在你选择的 Azure 订阅和区域中部署此资源

  2. 需要部署 Azure 存储移动程序代理 VM。
    按照 Azure 存储移动程序代理 VM 部署一文中的步骤创建代理 VM 并将其连接到 Internet。

注册概述

显示三个组件的插图。存储移动程序代理,部署在本地并靠近要迁移的源数据。存储移动程序云资源,部署在 Azure 资源组中。最后是两者之间的连接。

代理注册过程会在代理与存储移动程序云资源之间创建信任。 建立此信任后,你就可远程管理代理,并为代理分配要执行的迁移作业。

注册始终从代理发起。 出于安全考虑,只有代理才能通过连接存储移动程序服务来建立信任。 注册过程利用你先前部署的存储移动程序资源上的 Azure 凭据和权限。 如果你尚未部署存储移动程序云资源或代理 VM,请参阅先决条件部分

步骤 1:连接到代理 VM

代理 VM 是一个设备。 它提供一个管理 shell,用于限制可在此计算机上执行的操作。 连接到代理时,shell 会加载并提供允许你直接与它交互的选项。 但是,代理 VM 是基于 Linux 的设备,复制粘贴功能在默认主机窗口中通常不起作用。

请考虑改用 SSH 连接,而不是使用主机窗口。 此方法提供以下优势:

  • 可以从任何管理计算机连接到代理 VM 的 shell,无需登录到主机。
  • 完全支持复制/粘贴。

在代理所在的同一子网上的计算机中运行 ssh 命令:

ssh <AgentIpAddress> -l admin

重要

新部署的存储移动程序代理具有默认密码:
本地用户:admin
默认密码:admin

首次连接到新部署的代理后,系统会提示你立即更改默认密码。 请记下新密码,以后没有找回密码的途径。 如果丢失密码,你将无法进入管理 shell。 云管理不需要此本地管理员密码。 如果代理以前已注册,你仍可将其用于迁移作业。 代理是可以轻易弃用的。 除当前正在执行的迁移作业之外,它们几乎没有什么价值。 你随时可以部署新的代理,并改用新代理来运行下一个迁移作业。

步骤 2:测试网络连接

代理需要连接到 Internet。

登录到管理 shell 后,可以测试代理连接状态:

1) System configuration
2) Network configuration
3) Service and job status
4) Register
5) Open restricted shell
6) Collect support bundle
7) Restart agent
8) Exit

xdmsh> 2

选择菜单项 2)“网络配置”

1) Show network configuration
2) Update network configuration
3) Test network connectivity
4) Quit

Choice: 3

选择菜单项 3)“测试网络连接”

重要

请仅在网络连接测试未返回任何问题时,才继续执行注册步骤。

步骤 3:注册代理

在此步骤中,将代理注册到你在 Azure 订阅中部署的存储移动程序资源。 连接到代理的管理 shell,然后选择菜单项 4)“注册”

1) System configuration
2) Network configuration
3) Service and job status
4) Register
5) Open restricted shell
6) Collect support bundle
7) Restart agent
8) Exit

xdmsh> 4

系统会提示你输入以下信息:

  • 订阅 ID

  • 资源组名称

  • 存储移动程序资源名称

  • 代理名称:Azure 门户中会为代理显示此名称。 选择一个用于明确标识此代理 VM 的名称。 请参阅资源命名约定以选择受支持的名称。

  • 专用链接范围:如果使用专用网络,请提供专用链接范围的完全限定资源 ID。 可以在 Azure 专用链接文档一文中找到有关 Azure 专用链接的详细信息。

    重要

    如果已将存储移动程序配置为通过专用链接迁移数据,则必须提供专用链接范围的完全限定资源 ID。 例如,/subscriptions/[GUID]/resourceGroups/myGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myScope

提供这些值后,代理将尝试注册。 在注册过程中,需要使用有权访问订阅和存储移动程序资源的凭据登录到 Azure。

重要

用于注册的 Azure 凭据必须对指定的资源组和存储移动程序资源拥有所有者权限。

对于身份验证,代理将结合 Microsoft Entra ID 使用设备身份验证流

代理会显示设备身份验证 URL https://microsoft.com/devicelogin 和唯一的登录代码。 导航到连接了 Internet 的计算机上显示的 URL,输入代码,然后使用你的凭据登录到 Azure。

代理会显示详细进度。 注册完成后,你可以在 Azure 门户中看到代理。 在代理注册到的存储移动程序资源中的“已注册代理”下可以看到该代理。

身份验证和授权

为了实现 Azure 无缝身份验证以及对各种 Azure 资源的授权,代理将注册到以下 Azure 服务:

  • Azure 存储移动程序 (Microsoft.StorageMover)
  • Azure Arc (Microsoft.HybridCompute)

Azure 存储移动程序服务

通过部署在 Azure 订阅中的存储移动程序资源,可以查看和管理注册到 Azure 存储移动程序服务的过程。 注册代理是一个 Azure 资源管理器 (ARM) 资源。 只能通过注册过程创建此资源。 可以从任何 Azure 资源管理器客户端查询有关该资源的详细信息。 客户端包括 Azure 门户、Az PowerShell 模块 PowerShell 和 Az PowerShell 模块 CLI。

需要将迁移作业分配到此 Azure 资源管理器 (ARM) 资源所代表的特定代理 VM 时,可以引用此资源。

Azure Arc 服务

代理还会注册到 Azure Arc 服务。 Arc 用于为这个已注册的代理分配并维护一个 Microsoft Entra 托管标识

Azure 存储移动程序使用系统分配的托管标识。 托管标识是一种只能用于 Azure 资源的特殊类型的服务主体。 删除托管标识时,也会自动删除相应的服务主体。

取消注册代理时,删除过程会自动启动。 但是,还可以通过其他方法删除此标识。 这会导致已注册的代理无法工作,并需要取消注册代理。 只有注册过程才能让代理正确获取和维护其 Azure 标识。

注意

在公共预览版期间,注册到 Azure Arc 服务有一个不利影响。 “服务器-Azure Arc”类型的独立资源还会部署在存储移动程序资源所在的同一资源组中。 你无法通过此资源管理代理。

似乎可以通过“服务器-Azure Arc”资源管理存储移动程序代理的各个方面,但在大多数情况下做不到这一点。 最好通过存储移动程序资源中的“已注册代理”窗格或通过本地管理 shell 以独占方式管理代理。

警告

不要删除为存储移动程序资源所在同一资源组中的已注册代理创建的 Azure Arc 服务器资源。 删除此资源的唯一可靠时机是先前在取消注册此资源对应的代理时。

授权

需要授权已注册的代理访问订阅中的多个服务和资源。 托管标识是证明身份的方式。 然后,Azure 服务或资源可以确定代理是否有权访问它。

自动授权代理来与存储移动程序服务进行对话。 除非破坏托管标识(例如通过取消注册代理),否则你无法查看或影响此授权。

即时授权

对于迁移作业,访问目标终结点可能是代理必须获得授权的最重要资源。 通过基于角色的访问控制进行授权。 对于作为目标的 Azure Blob 容器,已注册代理的托管标识将分配到目标容器的 Storage Blob Data Contributor 内置角色,而不是整个存储帐户。 同样,访问 Azure 文件共享目标时,已注册代理的托管标识将分配给 Storage File Data Privileged Contributor 内置角色。

这些分配是在 Azure 门户中的管理员登录上下文中进行的。 因此,管理员必须是目标容器的基于角色的访问控制 (RBAC) 控制平面角色“所有者”的成员。 此分配是在启动迁移作业时即时进行的。 你正是在此时选择了一个代理来执行迁移作业。 作为此启动操作的一部分,代理被授予对目标容器的数据平面的权限。 代理无权执行任何管理平面操作,例如删除目标容器或在其上配置任何功能。

警告

即时向特定代理授予访问权限来运行迁移作业。 但是,不会自动删除代理访问目标的授权。 必须手动从特定目标中删除代理的托管标识,或者取消注册代理以销毁服务主体。 此操作会删除所有目标存储授权,并使代理无法再与存储移动程序和 Azure Arc 服务通信。

后续步骤

请定义源终结点和目标终结点,以准备好迁移数据。