Azure 存储 账户是区域特定的,所以你不能在 Azure 区域之间移动它。 相反,在目标区域创建一个新的存储账户,然后使用支持的 Azure 工具复制或复制你的数据到该区域。
本文介绍两种方法,可用于将数据移动到目标区域。 它聚焦于 Azure Data Lake Storage,即你存储在具有层级命名空间的存储账户中的数据。
先决条件
源区域内的 Azure 存储 账户,具有层级命名空间。
目标区域内的 Azure 存储 账户,具有分层命名空间。 如果没有,创建一个 带有分层命名空间的存储账户。
您的用户身份在源存储账户、其父资源组或订阅的范围内被分配为存储块数据阅读器角色。
你的用户标识在 源 存储帐户、其父资源组或其订阅的范围内被分配了 存储 Blob 数据所有者 角色。
你用来授权访问数据的任何安全主体(用户、组、服务主体或托管身份)都存在于目标账户的 Microsoft Entra 租户中。 无论你是通过账户或容器层级的 Azure 角色分配授权访问,还是通过目录和文件上的 ACL 授权访问,这一要求都适用。
目标区域的网络计划(例如,私有终端、域名系统(DNS)设置或防火墙设置)。
迁移选项
通过以下支持的方法之一,在具有层级命名空间的存储账户之间迁移数据。
选项1:使用AzCopy迁移数据(推荐)
AzCopy是最灵活的选择:它可覆盖任何目标区域,复制过程中保持数据在线,并保留POSIX ACL。 使用AzCopy从源账户执行服务器间复制到目标账户。 使用 azcopy sync 命令执行一次性批量复制,或使用 azcopy copy 命令以增量方式同步容器。
该选项支持:
联机迁移
增量同步
POSIX 访问控制列表(ACL)保存(带
--preserve-permissions=true标志)
有关详细的 AzCopy 命令、认证方法及支持的同步选项,请参见“开始使用 AzCopy”。
选项 2:发起账户故障转移
当您的数据已进行异地复制,且您希望将其迁移到其他位置而无需单独执行复制步骤时,账户故障转移效果最佳。 它只会把你移动到Microsoft定义的配对区域,而不是任意的目标区域。
如果您的帐户使用 异地冗余存储(GRS) 或 异地区域冗余存储(GZRS),则可以启动帐户故障转移到次要区域。 故障切换完成后,次级区域成为主区域。
该选项主要用于灾难恢复。 然而,由于数据已经复制到次级区域的账户,这个选项不需要单独的数据迁移任务。
Important
GRS 故障切换是不可逆的,它只将数据重新定位到 Microsoft 定义的配对区域。
欲了解更多信息,请参见故障切换和故障回复。
迁移后验证清单
迁移完成后,验证以下项目:
账户配置设置:确认目标账户的类型、冗余选项、访问层级和加密设置(包括任何客户管理的密钥)与你预期的配置一致。
网络设置:确认目标账户已配置防火墙规则、虚拟网络规则、私有端点和DNS记录,因为这些设置未被迁移。
基于角色的访问控制(RBAC):验证目标账户上重新创建 Azure 角色分配(例如,Storage Blob 数据所有者和存储 Blob 数据读取器)并授予与源账户相同的访问权限。
POSIX ACL:抽查目标账户中的目录和文件 ACL,确认所有者、组和权限条目已正确迁移。
应用连接性:确认应用程序是否能通过新端点认证目标账户并读写数据。
下游服务连接:验证依赖服务和管道(例如 Azure 数据工厂、Azure Synapse Analytics、Azure Databricks 或事件订阅)是否引用目标账户端点,并能读写数据。
性能基准:将目标账户的吞吐量、延迟和交易速率与你的源区域基线进行比较,以确认它们是否满足你的工作负载需求。
监控和诊断:在目标账户上重新创建诊断设置、指标提醒和日志路由(例如,迁移到Log Analytics工作区),因为这些设置不会随你的数据迁移。
局限性
你不能直接在不同地区之间移动存储账户。
对于这两个选项,存储帐户配置设置不会复制到目标帐户。 这些设置的例子包括冗余配置、私有端点、DNS 记录、Azure 角色分配、托管身份和网络设置。
你必须手动将下游服务重新定位到目标账户端点。
迁移团队必须在数据传输完成后验证ACL、权限和应用连接性。
AzCopy 不会同步已删除的文件。 同步仅在使用 azcopy sync命令时生效。
GRS故障切换是不可逆的。 不支持回到原区域的备份。
GRS 和 GZRS 仅支持 Microsoft 定义的配对 Azure 区域之间的复制。 你不能用这些方法复制到任意的目标区域。