使用 Azure Migrate 重新托管(直接迁移)
使用 Azure Migrate 执行基于复制的 VM 直接迁移,配置网络切换,并在迁移后验证应用运行状况。
使用 Azure Migrate 重新托管(直接迁移) 是 CoddyKit 上的免费 Cloud & IT Cert Prep 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cloud & IT Cert Prep 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cloud & IT Cert Prep 课程共包含 4 节课。
提升并迁移概述
Rehost(通常称为提升并迁移)是一种迁移策略,指在不更改操作系统、应用程序二进制文件或数据的情况下,将 VM 从本地环境迁移到 Azure。Azure Migrate 的迁移和现代化工具(以前称为 Server Migration)通过将磁盘数据复制到 Azure,然后以最短停机时间执行切换,来自动完成此过程。对于难以轻松重构或迁移期限紧迫的应用程序,提升并迁移非常适合。
迁移前的先决条件
开始复制之前,您必须:完成发现和评估,以获取目标 VM SKU 建议;创建目标 Azure 资源(资源组、虚拟网络和子网);并确保Azure Migrate 设备运行正常。对于 VMware 源,设备必须拥有 vCenter 读取权限,并且来宾 VM 必须能够通过网络从设备访问。如果要从 Hyper-V 或物理服务器迁移,请下载并注册复制提供程序软件。
# Verify appliance connectivity and status
az migrate replication-appliance list \
--resource-group myRG \
--project-name myMigrateProject开始复制
复制会将源 VM 的所有磁盘数据复制到 Azure 管理的缓存存储帐户,然后在 Azure 中异步暂存这些数据。在 Azure Migrate 门户中,导航到复制,选择源 VM,将其映射到建议的 Azure VM SKU,并选择目标虚拟网络。初始复制时间取决于磁盘大小和带宽;通过 100 Mbps 连接复制 100 GB 磁盘,初始同步大约需要 2 小时。
# Start replication for a discovered server
az migrate server migration start-replication \
--resource-group myRG \
--project-name myMigrateProject \
--machine-name 'web-server-01'增量复制和同步
初始磁盘映像复制完成后,Azure Migrate 会切换到增量复制,只发送发生更改的磁盘块,使 Azure 副本与本地源保持近实时同步。在此阶段,VM 会继续在本地环境中运行。您可以在门户中监视复制运行状况、RPO 延迟和数据传输速率。初始同步完成后的 24 小时内,增量复制通常会稳定到仅几分钟的延迟。
# Check replication status
az migrate server migration list-replicating-server \
--resource-group myRG \
--project-name myMigrateProject \
--query '[].{Name:machineName, State:migrationState, Health:migrationStateDescription}'测试迁移
在切换生产流量之前,请始终运行测试迁移。此操作会在隔离的测试虚拟网络中启动复制的 VM,该网络无法连接到生产系统。您可以验证操作系统是否能够启动、服务是否能够启动,以及应用程序功能是否按预期运行。测试迁移不会中断本地复制,源 VM 会继续运行。测试完成后,请在门户中清理测试资源,以避免产生不必要的费用。
# Initiate a test migration
az migrate server migration test-migrate \
--resource-group myRG \
--project-name myMigrateProject \
--machine-name 'web-server-01' \
--test-network-id '/subscriptions/<sub>/resourceGroups/myRG/providers/Microsoft.Network/virtualNetworks/test-vnet'规划切换窗口
切换是将生产流量从本地环境转移到 Azure 的最后一步。在切换期间:源 VM 会暂停运行(或者您手动将其关闭),所有剩余的增量更改都会应用到 Azure 副本,然后启动新的 Azure VM。由于这是存储级迁移,切换通常非常快,大多数 VM 可在10 分钟以内完成。请在维护窗口期间安排切换,并提前向应用程序相关方传达安排。
执行切换
在 Azure Migrate 门户中,针对选定的服务器单击迁移。系统会询问您是否要在迁移前关闭本地 VM(建议这样做,以避免数据丢失)。Azure 会应用最后的增量更改、创建 Azure VM,并将迁移标记为 complete。随后,您必须更新DNS 记录、负载均衡器后端或应用程序连接字符串,使其指向新的 Azure 私有 IP 或 FQDN,以便客户端开始使用 Azure VM。
# Trigger the final cutover migration
az migrate server migration migrate \
--resource-group myRG \
--project-name myMigrateProject \
--machine-name 'web-server-01' \
--turn-off-source-server true迁移后验证
切换后,请执行以下迁移后检查:应用程序运行状况(加载所有应用程序页面并运行冒烟测试)、连接性(验证 Azure VM 是否能够访问依赖的数据库和服务)、监视(安装 Azure Monitor 代理并启用诊断)以及备份(将 VM 纳入 Azure Backup)。如果发现问题,可以重新启动本地源 VM;在您明确将其停用之前,它仍然保持完整。
# Install Azure Monitor agent on the migrated VM
az vm extension set \
--resource-group myRG \
--vm-name web-server-01-azure \
--name AzureMonitorWindowsAgent \
--publisher Microsoft.Azure.Monitor \
--version 1.0停用本地资源
迁移后的 VM 在 Azure 中运行稳定且相关方确认后,您可以停用本地源 VM。在 Azure Migrate 中,选择完成迁移以关闭复制。此操作不会自动关闭本地 VM;您必须将其关机,并按照常规 IT 资产管理流程回收硬件。停用资源可以降低本地基础设施成本,并让您进一步接近纯云运营模式。
# Mark migration complete (stops billing for replication storage)
az migrate server migration complete-migration \
--resource-group myRG \
--project-name myMigrateProject \
--machine-name 'web-server-01'大规模迁移多个 VM
对于涉及数百个 VM 的大型迁移,Azure Migrate 支持通过 CSV 导入执行批量操作。您需要准备一个 CSV,列出每个源 VM、其目标 SKU、目标资源组和虚拟网络,然后上传该文件,以同时开始所有 VM 的复制。迁移组允许您安排复制和切换顺序,使相互依赖的应用程序层(数据库、应用程序、Web)能够在同一维护窗口内按正确顺序完成迁移。
常见问题和提示
请注意以下常见的提升并迁移问题:Linux VM 上的启动磁盘加密可能会导致 Azure 无法启动 VM(请在迁移后使用 Azure Disk Encryption);应用程序配置中硬编码的静态 IP 地址必须更新为 Azure 私有 IP 或 DNS 名称;引用服务器 IP 的本地防火墙规则可能需要在 Azure NSG 中重新创建;Windows VM 上的时区设置可能会导致应用程序在 Azure 的 UTC 环境中出现行为变化。
快速检查
测试您对本课中 Microsoft Azure 基础知识(AZ-900)概念的理解。
课程回顾
在本课中,您学习了以下内容:Rehost 迁移流程依次包括复制、增量同步、测试迁移和切换;测试迁移会在正式上线前于隔离网络中验证 VM;在停用本地资源之前,必须完成迁移后步骤(监视、备份和 DNS 更新)。接下来,我们将介绍将数据库迁移到 Azure 的最佳做法。
常见问题解答
「使用 Azure Migrate 重新托管(直接迁移)」课时是免费的吗?
是的 — 「使用 Azure Migrate 重新托管(直接迁移)」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cloud & IT Cert Prep 课程的其余内容,请升级到 CoddyKit PRO。 Cloud & IT Cert Prep 课程共包含 4 节课。
「使用 Azure Migrate 重新托管(直接迁移)」这节课中我会学到什么?
使用 Azure Migrate 执行基于复制的 VM 直接迁移,配置网络切换,并在迁移后验证应用运行状况。 你通过在浏览器中直接运行的动手代码来练习 Cloud & IT Cert Prep,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Cloud & IT Cert Prep 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Cloud & IT Cert Prep 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「使用 Azure Migrate 重新托管(直接迁移)」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Cloud & IT Cert Prep 课中编写并运行代码吗?
能。每节 Cloud & IT Cert Prep 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 六种迁移策略框架
- Azure Migrate:发现与评估
- 使用 Azure Migrate 重新托管(直接迁移)
- 数据库迁移最佳实践