同账号跨区域迁移
文档版本: v1.0
适用环境: Azure Portal
难度等级: ⭐⭐⭐ 中级
预计耗时: 2-4 小时(取决于磁盘大小)
将虚拟机从源区域迁移至目标区域,保持虚拟机配置不变,数据完整性100%。
- 订阅所有者(Owner)权限或贡献者(Contributor)+用户访问管理员权限
- 目标区域有足够的配额支持相同规格的虚拟机
- 虚拟机处于运行状态
- 已安装最新的根证书和CRL(Linux遵循发行版指南)
演示虚拟机配置
Section titled “演示虚拟机配置”本文档使用以下配置作为演示:
| 配置项 | 值 |
|---|---|
| 虚拟机名称 | demo-ubuntu-vm |
| 操作系统 | Ubuntu 24.04 LTS |
| 虚拟机规格 | Standard_B2s (2 vCPU, 4 GiB 内存) |
| 系统磁盘 | Premium SSD 30 GiB |
| 数据磁盘 | Premium SSD 128 GiB (LUN 0) |
| 源区域 | East Asia (香港) |
| 目标区域 | Southeast Asia (新加坡) |
迁移方法选择
Section titled “迁移方法选择”方法一: Azure Resource Mover (推荐)
Section titled “方法一: Azure Resource Mover (推荐)”最佳实践 - 适用于生产环境
- 优势: 自动处理依赖项、支持测试验证、可回滚
- 停机时间: 2-5 分钟(仅在最终迁移阶段)
- 数据安全: 使用Azure Site Recovery技术在线复制
- 成本透明: 免费服务,仅收取传输和临时资源费用
方法二: 快照手动重建
Section titled “方法二: 快照手动重建”备选方案 - 适用于简单场景
- 优势: 步骤简单直观
- 停机时间: 15-30 分钟
- 适用场景: 测试环境、单磁盘虚拟机
- 限制: 需手动重新配置所有设置
本文档仅介绍方法一(Azure Resource Mover)
1. 创建迁移计划
Section titled “1. 创建迁移计划”1.1 访问Azure Resource Mover
Section titled “1.1 访问Azure Resource Mover”- 登录Azure Portal
- 搜索框输入
resource mover - 选择 Azure Resource Mover
- 点击 开始使用(Get Started)

1.2 配置源和目标
Section titled “1.2 配置源和目标”
- 订阅: 选择虚拟机所在订阅
- 源区域: East Asia (香港)
- 目标区域: Southeast Asia (新加坡)
- 点击 下一步

1.3 选择虚拟机资源
Section titled “1.3 选择虚拟机资源”
重要: 仅选择虚拟机本身,不要选择关联的磁盘或网卡。系统会自动检测并添加依赖项。
遇到权限错误,等待新账号
- 点击 选择资源
- 勾选目标虚拟机:
demo-ubuntu-vm - 点击 完成
- 点击 下一步
- 点击 继续(Proceed)
等待系统验证资源(约30秒)。
2. 准备数据复制
Section titled “2. 准备数据复制”2.1 验证依赖项
Section titled “2.1 验证依赖项”图片占位符: 依赖项验证结果
Resource Mover会自动检测以下依赖项:
- 系统磁盘 (OS Disk)
- 数据磁盘 (Data Disk)
- 网络接口卡 (NIC)
- 虚拟网络 (VNet)
- 网络安全组 (NSG)
- 资源组
- 切换到 跨区域(Across regions) 视图
- 检查所有资源状态为 准备待处理(Prepare pending)
- 如果显示 验证依赖项,点击手动触发
2.2 准备资源
Section titled “2.2 准备资源”图片占位符: 开始准备资源
关键步骤: 此阶段会在虚拟机上安装Azure Site Recovery Mobility代理,开始在线复制数据到目标区域。
- 选中所有 准备待处理 状态的资源
- 点击 准备(Prepare)
- 等待准备完成(30-120分钟,取决于磁盘大小)
数据复制说明:
- 虚拟机保持运行,业务不受影响
- 数据经压缩后传输,减少网络成本
- 目标区域创建临时存储资源
- 状态变更为 启动移动待处理(Initiate move pending)
2.3 验证数据完整性
Section titled “2.3 验证数据完整性”图片占位符: 检查复制进度
准备完成后,系统会显示:
- ✅ 源虚拟机继续运行
- ✅ 数据已复制到目标区域
- ✅ ARM模板已生成
3. 执行迁移(停机窗口)
Section titled “3. 执行迁移(停机窗口)”停机预警: 此步骤会关闭源虚拟机,预计停机 2-5 分钟
3.1 启动迁移
Section titled “3.1 启动迁移”图片占位符: 启动迁移操作
- 选中状态为 启动移动待处理 的资源
- 点击 启动移动(Initiate move)
- 确认操作
迁移过程:
%%{init: {'theme':'base', 'themeVariables': { 'primaryColor':'#0078D4', 'primaryTextColor':'#fff', 'primaryBorderColor':'#005a9e', 'lineColor':'#5c5c5c', 'secondaryColor':'#50E6FF', 'tertiaryColor':'#f0f0f0'}}}%%
flowchart LR
A[源虚拟机运行中] --> B[复制最终增量数据]
B --> C[关闭源虚拟机]
C --> D[目标区域创建虚拟机]
D --> E[启动目标虚拟机]
E --> F[迁移完成]
style C fill:#FF6B6B,color:#fff
style D fill:#0078D4,color:#fff
style F fill:#4CAF50,color:#fff
3.2 监控迁移进度
Section titled “3.2 监控迁移进度”通过通知栏跟踪进度:
- 正在关闭源虚拟机…
- 正在创建目标虚拟机…
- 虚拟机启动中…
完成标志: 资源状态变更为 提交移动待处理(Commit move pending)
3.3 验证目标虚拟机
Section titled “3.3 验证目标虚拟机”图片占位符: 目标区域的新虚拟机
- 导航至目标区域资源组
- 确认虚拟机
demo-ubuntu-vm存在 - 检查状态为 正在运行
- 验证网络连接和磁盘挂载
验证检查清单:
- 虚拟机可通过SSH/RDP连接
- 所有数据磁盘已挂载且数据完整
- 网络配置正确(内网IP、NSG规则)
- 应用服务运行正常
4. 确认或放弃迁移
Section titled “4. 确认或放弃迁移”4.1 测试期(可选)
Section titled “4.1 测试期(可选)”在提交前,源虚拟机和目标虚拟机同时存在,可充分测试。
测试建议:
- 验证应用功能完整性
- 检查数据库连接
- 测试外部API调用
- 确认监控告警正常
4.2 提交迁移
Section titled “4.2 提交迁移”图片占位符: 提交迁移操作
如果测试通过:
- 选中 提交移动待处理 状态的资源
- 点击 提交移动(Commit move)
- 确认操作
提交效果:
- 迁移标记为成功
- 资源状态变更为 删除源待处理(Delete source pending)
- 源虚拟机不再产生费用(但尚未删除)
4.3 放弃迁移(回滚)
Section titled “4.3 放弃迁移(回滚)”图片占位符: 放弃迁移操作
如果测试失败:
- 选中 提交移动待处理 状态的资源
- 点击 放弃移动(Discard move)
- 确认操作
回滚效果:
- 删除目标区域的虚拟机
- 启动源虚拟机
- 状态回退至 启动移动待处理
- 可重新执行迁移
5. 清理源资源
Section titled “5. 清理源资源”5.1 删除源虚拟机
Section titled “5.1 删除源虚拟机”谨慎操作: 删除前请再次确认目标虚拟机运行正常
图片占位符: 删除源资源
- 在 跨区域 视图中选择源资源
- 点击 删除源(Delete source)
- 确认删除
5.2 清理临时资源
Section titled “5.2 清理临时资源”系统会自动创建隐藏的临时资源:
- 移动集合(Move Collection)
- 缓存存储账户
- Site Recovery资源
清理步骤:
- 导航至资源组
RegionMoveRG-eastasia-southeastasia - 启用 显示隐藏资源
- 删除缓存存储锁(Lock)
- 删除资源组
| 费用项 | 说明 | 预估成本(演示配置) |
|---|---|---|
| Azure Resource Mover | 服务本身 | $0 (免费) |
| 数据传输(Egress) | 跨区域复制压缩后的数据 | ~$0.40 (158 GB × $0.02/GB × 压缩率30%) |
| 临时存储 | 目标区域临时磁盘 | ~$0.10 (按小时计费) |
| Site Recovery | 复制许可费用 | ~$10 (按VM数量) |
| 双倍资源期 | 测试期间同时运行两个VM | ~$0.20/小时 × 测试时长 |
| 总计 | 假设测试2小时 | ~$11 |
注意:
- 每月前100GB出站流量免费
- 区域内传输(如East Asia内部): $0.02/GB
- 跨洲传输(如亚洲到欧洲): $0.05/GB
成本优化建议
Section titled “成本优化建议”- 缩短测试窗口: 确认后立即提交并删除源资源
- 批量迁移: 单次迁移多个虚拟机摊薄管理成本
- 非工作时段: 在流量低谷期执行迁移
不支持的虚拟机类型
Section titled “不支持的虚拟机类型”- Azure Spot 虚拟机: 不支持跨区域迁移
- Trusted Launch Linux 虚拟机: 不支持
- 配置了Marketplace计划的虚拟机: 需取消计划后迁移
- 启用了Azure Disk Encryption的虚拟机: 需先解除加密
- Standard SKU公网IP: 无法迁移,需在目标区域重新分配
- 虚拟机规格: 目标区域必须支持相同或更大的规格
- 可用性集: 如果源VM在可用性集中,需手动配置目标
- 仅支持同订阅: 源和目标必须在同一订阅
- 公有云区域: 支持所有Azure公有云区域互迁
- 中国区域: 仅支持中国区域内部迁移
- 政府云: 部分政府云区域受限
检查虚拟机兼容性:
- 导航至虚拟机资源页面
- 查看 位置 标签旁是否有移动图标
- 缺少图标表示该虚拟机类型不支持迁移
迁移会影响虚拟机性能吗?
Section titled “迁移会影响虚拟机性能吗?”准备阶段: 虚拟机持续运行,Mobility代理在后台复制数据,CPU和网络使用率略有增加(通常<5%),不影响业务。
迁移阶段: 虚拟机关闭2-5分钟,无性能影响。
数据会丢失吗?
Section titled “数据会丢失吗?”不会。Azure Site Recovery使用块级复制技术,确保数据一致性。复制过程中的增量变更会在最终迁移时同步。建议在迁移前手动创建快照作为额外保险。
可以迁移到不同订阅吗?
Section titled “可以迁移到不同订阅吗?”直接迁移不支持。需要分两步:
- 使用Resource Mover迁移到目标区域(同订阅)
- 使用Azure Resource Manager移动到目标订阅
参考: 移动资源到新订阅
迁移失败如何处理?
Section titled “迁移失败如何处理?”Resource Mover支持自动回滚:
- 准备失败: 不影响源虚拟机,重新准备即可
- 迁移失败: 源虚拟机保持关闭状态,目标虚拟机未创建,可重试
- 已迁移未提交: 可使用”放弃移动”恢复源虚拟机
所有操作都是事务性的,不会出现资源悬空。
为什么我的虚拟机显示不支持迁移?
Section titled “为什么我的虚拟机显示不支持迁移?”常见原因:
- 虚拟机类型为Spot或Trusted Launch
- 虚拟机关联了不可迁移的资源(如某些负载均衡器)
- 虚拟机启用了特殊加密
- 目标区域不支持该虚拟机规格
解决方案: 检查虚拟机配置,移除不兼容的设置,或使用手动快照重建方法。