上一篇文章给大家介绍了使用无代理复制的方式迁移本地VMware VM至Azure云中。本文介绍如何使用基于代理的 Azure Migrate 服务器迁移工具将本地 VMware VM 迁移到 Azure。
1、准备 Azure
如果之前已使用 Azure Migrate 服务器评估运行了评估,则可以跳过本部分中的说明,因为这些步骤已完成。如果还未运行评估,则需要设置 Azure 权限,然后才能使用 Azure Migrate 服务器迁移进行迁移。
创建项目:你的 Azure 帐户需要有权创建 Azure Migrate 项目。
注册 Azure Migrate 复制设备:复制设备将在 Azure 帐户中创建并注册 Azure Active Directory 应用。 需要委托此操作的权限。
创建 Key Vault:若要使用 Azure Migrate 服务器迁移工具迁移 VMware VM,Azure Migrate 需在资源组中创建一个 Key Vault,用于管理订阅中复制存储帐户的访问密钥。 若要创建保管库,需要对 Azure Migrate 项目所在的资源组拥有角色分配权限。
1)分配创建项目的权限
a.在 Azure 门户中打开订阅,然后选择“访问控制(IAM)”。
b.在“检查访问权限”中找到相关的帐户,然后单击它以查看权限。
c.你应该拥有“参与者”或“所有者”权限。
如果你刚刚创建了免费的 Azure 帐户,那么你就是订阅的所有者。如果你不是订阅所有者,请让所有者分配该角色。
2)分配注册复制设备的权限
对于基于代理的迁移,需要授予委托 Azure Migrate 服务器迁移的权限,以便能够在帐户中创建和注册 Azure AD 应用。 可使用以下方法之一分配权限:
a.租户/全局管理员可为租户中的用户授予创建和注册 Azure AD 应用的权限。
b.租户/全局管理员可将“应用程序开发人员”角色(拥有权限)分配到帐户。
需要注意的是:除上述权限外,应用对订阅不拥有任何其他访问权限。只有在注册新的复制设备时,你才需要这些权限。 设置复制设备后可以删除这些权限。
3)授予帐户权限
a.在 Azure AD 中,导航到“Azure Active Directory” > “用户” > “用户设置” 。
b.管理员应将“应用注册”设置为“是” 。
4)分配创建 Key Vault 的权限
按如下所述分配对 Azure Migrate 项目所在的资源组的角色分配权限:
a.在 Azure 门户上的资源组中,选择“访问控制(IAM)”。
b.在“检查访问权限”中找到相关的帐户,然后单击它以查看权限。 需要“所有者”(或“参与者”和“用户访问管理员”)权限。
c.如果没有所需的权限,可请求资源组所有者分配这些权限。
2、准备本地 VMware
准备用于自动发现的帐户
Azure Migrate服务器迁移需要访问VMware服务器,以便:
- 自动发现虚拟机。至少需要一个只读帐户。
- 安排复制,故障转移和故障回复。您需要一个可以运行诸如创建和删除磁盘以及启动虚拟机等操作的帐户。
创建帐户,如下所示:
1)要使用专用帐户,请在vCenter级别上创建角色。给角色命名,例如 Azure_Site_Recovery。
2)为角色分配下表中概述的权限。
3)在vCenter Server或vSphere主机上创建一个用户。将角色分配给用户。
VMware帐户权限
任务 | 角色/权限 | 详细信息 |
---|---|---|
VM 发现 | 至少一个只读用户 数据中心对象 –> 传到子对象、角色=只读 |
在数据中心级别分配的对数据中心内所有对象具有访问权限的用户。 要限制访问权限,请在选中“传到子对象”的情况下将“无访问权”角色分配给子对象(vSphere 主机、数据存储、VM 和网络) 。 |
完全复制、故障转移、故障回复 | 创建一个拥有所需权限的角色 (Azure_Site_Recovery),然后将该角色分配到 VMware 用户或组 数据中心对象 – 传到子对象、角色=Azure_Site_Recovery 数据存储->分配空间、浏览数据存储、低级别文件操作、删除文件、更新虚拟机文件 网络 -> 网络分配 资源 -> 将 VM 分配到资源池、迁移关闭的 VM、迁移打开的 VM 任务 -> 创建任务、更新任务 虚拟机 -> 配置 虚拟机 -> 交互 -> 回答问题、设备连接、配置 CD 媒体、配置软盘媒体、关闭电源、打开电源、安装 VMware 工具 虚拟机 -> 清单 -> 创建、注册、取消注册 虚拟机 -> 预配 -> 允许虚拟机下载、允许虚拟机文件上传 虚拟机 -> 快照 -> 删除快照 |
在数据中心级别分配的对数据中心内所有对象具有访问权限的用户。 要限制访问权限,请在选中“传到子对象”的情况下将“无访问权”角色分配给子对象(vSphere 主机、数据存储、VM 和网络) 。 |
准备用于安装Mobility Service的帐户
必须在要复制的计算机上安装Mobility服务。在为计算机启用复制时,Azure迁移复制设备可以强制安装此服务,也可以手动安装或使用安装工具安装。在本文中,我们将通过推送安装来安装Mobility Service。
对于推送安装,您需要准备一个帐户,Azure Migrate服务器迁移可以使用该帐户来访问VM。如果您没有手动安装Mobility Service,则该帐户仅用于推送安装。
准备帐户,如下所示:
1)准备一个有权在虚拟机上安装的域或本地帐户。
2)对于Windows VM,如果您不使用域帐户,则通过在注册表中的HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies下添加DWORD项LocalAccountTokenFilterPolicy,在注册表中值为,从而禁用本地计算机上的远程用户访问控制。
3)对于Linux VM,请在源Linux服务器上准备一个root帐户。
3、设置复制设备
第一个迁移步骤是设置复制设备。 复制设备是单个高度可用的本地 VMware VM,其中包括了以下组件:
配置服务器:配置服务器在本地和 Azure 之间协调通信并管理数据复制。
进程服务器:进程服务器充当复制网关。 它接收复制数据,通过缓存、压缩和加密对其进行优化,然后将其发送到 Azure 中的缓存存储帐户。 进程服务器还会将移动服务代理安装在要复制的 VM 上,并在本地 VMware VM 上执行自动发现。
若要设置复制设备,请下载已准备好的开放虚拟化应用程序 (.OVA) 模板。 将该模板导入 VMware,并创建复制设备 VM。
下载复制设备模板
1)在Azure Migrate项目中,单击“ 迁移目标”下的“ 服务器 ” 。
2)在“ Azure迁移服务器” >“ Azure迁移:服务器迁移”中,单击“ 发现”。
3)“发现计算机” > “计算机是否已虚拟化?”中,单击“是,使用 VMWare vSphere 虚拟机监控程序”。在“希望如何复制?”中,选择“使用基于代理的复制”。在“目标区域”中,选择要将计算机迁移到的 Azure 区域。在“是否安装新的复制设备?”中,选择“安装复制设备”。
4)单击“下载”以下载复制设备。 这会下载一个 OVF 模板,使用它可以创建运行该设备的新 VMware VM。
5)记下资源组和恢复服务保管库的名称。 在部署设备期间需要用到这些名称。
在 VMware 中导入模板
下载 OVF 模板后,将其导入 VMware,以便在运行 Windows Server 2016 的 VMware VM 上创建复制应用程序。
1)使用 VMWare vSphere 客户端登录到 VMware vCenter 服务器或 vSphere ESXi 主机。
2)在“文件”菜单中,选择“部署 OVF 模板”以启动“部署 OVF 模板”向导 。
3)在“选择源”中,输入下载的 OVF 所在的位置 。
4)在“选择存储” > “标准”中,选择存放位置。
5)在余下的向导页中,接受默认设置。
6)在“即将完成”中,若要使用默认设置来设置 VM
启动复制设备的安装
1)通过 VMWare vSphere Web客户端控制台打开 VM。
2)VM 将启动并进入 Windows Server 2016 安装体验。 接受许可协议,然后输入管理员密码。
3)安装完成后,以管理员身份使用管理员密码登录到 VM。
4)首次登录时,会在数秒内启动复制应用程序设置工具(Azure Site Recovery 配置工具)。
5)输入一个名称,用于向 Azure Migrate 服务器迁移注册设备。 然后单击“下一步” 。
6)该工具会检查 VM 是否能够连接到 Azure。 建立连接后,选择“登录”以登录到 Azure 订阅 。
7)等待该工具完成注册 Azure AD 应用以标识设备。 设备将重新启动。
8)再次登录到计算机。 在数秒内,配置服务器管理向导会自动启动。
注册复制设备
完成复制设备的设置和注册。
1)在配置服务器管理向导中,选择“设置连接”。
2)选择复制设备用来发现 VM 的 NIC(默认只有一个 NIC),并在源计算机上执行移动服务的推送安装。
3)选择复制设备用来与 Azure 建立连接的 NIC。 再选择“保存” 。 配置后无法更改此设置。
4)如果设备位于代理服务器后面,则你需要指定代理设置。
- 将代理名称指定为 http://ip-address 或 http://FQDN 。 不支持 HTTPS 代理服务器。
5)当系统提示你输入订阅、资源组和保管库详细信息时,请添加下载设备模板时记下的详细信息。
点击Click sign in 登录到Azure,接受许可协议
登录之后选择订阅、资源组和保管库详细信息
6)在“安装第三方软件”中 ,接受许可协议。 选择“下载并安装”,安装 MySQL 服务器。
7)选择“安装 VMware PowerCLI” 。 执行此操作之前,请确保所有浏览器窗口已关闭。 然后选择“继续”。
8)在“验证设备配置”中验证先决条件,然后继续 。
9)在“配置 vCenter Server/vSphere ESXi 服务器”中,输入要复制的 VM 所在的 vCenter Server 或 vSphere 主机的 FQDN 或 IP 地址 。 输入服务器侦听的端口。 为保管库中的 VMware 服务器输入一个可用的友好名称。
10)输入创建的用于发现 VMware 的帐户的凭据。 选择“添加” > “继续” 。
11)在“配置虚拟机凭据”中,输入在为 VM 启用复制时,为了推送安装移动服务而创建的凭据。
- 对于 Windows 计算机,该帐户在要复制的计算机上需有本地管理员特权。
- 对于 Linux,请提供根帐户的详细信息。
12)选择“完成配置”以完成注册 。
13)回到Azure 门户中,选择配置服务器,点击完成注册
注册复制设备后,Azure Migrate 服务器评估将使用指定的设置连接到 VMware 服务器,并发现 VM。 可以在“其他”选项卡上的“管理” > “已发现的项”中查看已发现的 VM。
4、复制 VM
现在,选择要迁移的 VM进行复制。
1)在 Azure Migrate 项目中选择“服务器”>“Azure Migrate: 服务器迁移”,然后单击“复制”。
2)在“复制”>“源设置” > “你的计算机是否已虚拟化”中,选择“是,使用 VMware vSphere”,在“本地设备”中,选择已设置的 Azure Migrate 设备的名称,在“vCenter 服务器”中,指定用于管理 VM 的 vCenter 服务器的名称,或者 VM 所在的 vSphere 服务器的名称,在“进程服务器”中,选择复制设备的名称,在“来宾凭据”中,指定用于推送安装移动服务的 VM 管理员帐户。 然后单击“下一页: 虚拟机”。
3)在“虚拟机”中,选择要复制的计算机。
- 如果已针对 VM 运行评估,则可以应用评估结果中提供的 VM 大小和磁盘类型(高级/标准)建议。 为此,请在“从 Azure Migrate 评估导入迁移设置?”中选择“是”选项。
- 如果你未运行评估,或者不想要使用评估设置,请选择“否”选项。
- 如果你已选择使用评估,请选择 VM 组和评估名称。
提示引导类型不受支持,Azure 不支持具有 EFI 启动类型的虚拟机。在运行迁移之前,建议将启动类型转换为 BIOS。
你可以使用 Azure Migrate 服务器迁移来处理此类 Vm 的迁移。 在迁移过程中,它会将 VM 的启动类型转换为 BIOS。
4)检查要迁移的每个 VM。 然后单击“下一页: 目标设置”。
5)在“目标设置”中,选择订阅以及要迁移到的目标区域,并指定迁移之后 Azure VM 所在的资源组。在“虚拟网络”中,选择迁移之后 Azure VM 要加入到的 Azure VNet/子网。
在“Azure 混合权益”中:
- 如果你不想要应用 Azure 混合权益,请选择“否”。 然后单击“下一步” 。
- 如果你的 Windows Server 计算机享有有效软件保障或 Windows Server 订阅的权益,并且你想要将此权益应用到所要迁移的计算机,请选择“是”。 然后单击“下一步” 。
6)在“计算”中,查看 VM 名称、大小、OS 磁盘类型和可用性集。 VM 必须符合Azure要求。
VM 大小:如果你正在使用评估建议,则 VM 大小下拉列表将包含建议的大小。 否则,Azure Migrate 会根据 Azure 订阅中最接近的匹配项选择大小。 或者,请在“Azure VM 大小”中的手动选择一个大小。
OS 磁盘:为 VM 指定 OS(启动)磁盘。 OS 磁盘是包含操作系统引导加载程序和安装程序的磁盘。
可用性集:如果迁移后 VM 应位于某个 Azure 可用性集中,请指定该集。 该集必须位于为迁移指定的目标资源组中。
7)在“磁盘”中,指定是否要将 VM 磁盘复制到 Azure,并选择 Azure 中的磁盘类型(标准 SSD/HDD 或高级托管磁盘)。 然后单击“下一步” 。
- 可以从复制中排除磁盘。
- 如果排除了磁盘,迁移后,这些磁盘将不会出现在 Azure VM 中。
8)在“检查并开始复制”中检查设置,然后单击“复制”启动服务器的初始复制。
启用复制后,会先在目标机器上安装Mobility服务并准备目标,然后才会进行复制
5、执行迁移测试
1)在“迁移目标” > “服务器” > “Azure Migrate: 服务器迁移”中,单击“测试已迁移的服务器”。
2)右键单击要测试的 VM,然后单击“测试迁移”。
3)在“测试迁移”中,选择 Azure VM 在迁移后所在的 Azure VNet。 建议使用非生产 VNet。
4)“测试迁移”作业随即启动。 在门户通知中监视该作业。
5)迁移完成后,在 Azure 门户上的“虚拟机”中查看已迁移的 Azure VM。 计算机名称带有 -Test 后缀。
6)测试完成后,在“复制计算机”中右键单击该 Azure VM,然后单击“清理测试迁移”。
6、迁移 VM
确认测试迁移按预期方式进行后,可以迁移本地计算机。
1)在 Azure Migrate 项目中选择“服务器” > “Azure Migrate: 服务器迁移”,然后单击“复制服务器”。
2)在“复制计算机”中,右键单击该 VM 并选择“迁移”。
3)在“迁移” > “关闭虚拟机并执行计划迁移(不会丢失任何数据)”中,选择“是” > “确定”。
- 默认情况下,Azure Migrate 会关闭本地 VM,以确保最大限度地减少数据丢失。
- 如果你不想要关闭 VM,请选择“否”
4)随即会针对该 VM 启动一个迁移作业。 在 Azure 通知中跟踪该作业。
5)该作业完成后,可以从“虚拟机”页查看和管理该 VM。
7、迁移后的工作
1)完成迁移后,右键单击该 VM 并选择“停止迁移”。 这样会执行以下操作:
- 停止本地计算机的复制。
- 从 Azure Migrate 的“复制服务器” 计数中删除该计算机:服务器迁移。
- 清除 VM 的复制状态信息。
2)在已迁移的计算机上安装 Azure VM Windows 或 Linux 代理。
3)执行任何迁移后的应用调整,例如更新数据库连接字符串和 Web 服务器配置。
4)对 Azure 中当前运行的迁移应用程序执行最终的应用程序和迁移验收测试。
5)将流量交接到已迁移的 Azure VM 实例。
6)从本地 VM 清单中删除本地 VM。
7)从本地备份中删除本地 VM。
8)更新所有内部文档,以显示新的位置和 Azure VM 的 IP 地址。