本篇博文将介绍如何使用 Azure Migrate 准备要评估并迁移到 Azure 的本地 Hyper-V 虚机。

1、准备 Azure

1)Azure 权限

首先我们需要为 Azure Migrate 部署设置权限。

任务 权限
创建 Azure Migrate 项目 Azure 帐户需要创建项目的权限。
注册 Azure Migrate 设备 Azure Migrate 使用轻型 Azure Migrate 设备通过 Azure Migrate 服务器评估来发现并评估 Hyper-V VM。 此设备发现 VM,并将 VM 元数据和性能数据发送到 Azure Migrate。

在设备注册过程中,以下资源提供程序将注册到在设备中选择的订阅:Microsoft.OffAzure、Microsoft.Migrate 和 Microsoft.KeyVault。 通过注册资源提供程序来配置订阅,以供资源提供程序使用。 需要订阅的“参与者”或“所有者”角色才能注册资源提供程序。

在载入过程中,Azure Migrate 将创建一个 Azure Active Directory (Azure AD) 应用:
AAD 应用用于在代理(在设备上运行)与其各自在 Azure 上运行的服务之间通信(身份验证和授权)。 
此应用无权对任何资源进行 ARM 调用,也没有

2)分配创建项目的权限

检查是否有权创建 Azure Migrate 项目。
在 Azure 门户中打开资源组,然后选择“访问控制(IAM)”。在“检查访问权限”中找到相关的帐户,然后单击它以查看权限。确保应该拥有“参与者”或“所有者”权限。

image

  • 如果你刚刚创建了免费的 Azure 帐户,那么你就是订阅的所有者。
  • 如果你不是订阅所有者,请让所有者分配该角色。

3)分配注册设备的权限

可以使用以下方法之一为 Azure Migrate 分配权限,以便在注册设备期间创建 Azure AD 应用:

  • 租户/全局管理员可为租户中的用户授予创建和注册 Azure AD 应用的权限。
  • 租户/全局管理员可将“应用程序开发人员”角色(拥有权限)分配到帐户。

4)授予帐户权限

租户/全局管理员可按如下所述授予权限:

  1. 在 Azure AD 中,租户/全局管理员应导航到“Azure Active Directory” > “用户” > “用户设置” 。

  2. 管理员应将“应用注册”设置为“是” 。

image

2、准备 Hyper-V 以进行评估

可以手动或使用配置脚本为 VM 评估准备 Hyper-V。 下面是需要使用脚本或手动准备的内容。

  • 验证 Hyper-V 主机设置,并确保在 Hyper-V 主机上打开了所需的端口。
设备 连接
TCP 端口3389上的入站连接,允许到设备的远程桌面连接。
端口44368上的入站连接,使用以下 URL 远程访问设备管理应用: https://<appliance-ip-or-name>:44368
端口443(HTTPS)、5671和5672(AMQP)上的出站连接,以将发现和性能元数据发送到 Azure Migrate。
Hyper-v 主机/群集 WinRM 端口5985(HTTP)和5986(HTTPS)上的入站连接,使用通用信息模型(CIM)会话拉取 Hyper-v Vm 的配置和性能元数据。
  • 在每台主机上设置 PowerShell 远程控制,使 Azure Migrate 设备能够通过 WinRM 连接在主机上运行 PowerShell 命令。
  • 如果 VM 磁盘位于远程 SMB 共享上,则委派凭据。
  • 在 Hyper-V 主机上设置供设备用来发现 VM 的帐户。
  • 在要发现和评估的每个 VM 上,启用 Hyper-V Integration Services。

3、使用脚本准备

此脚本执行以下任务:

  • 检查你是否在受支持的 PowerShell 版本中运行该脚本。
  • 验证你(运行脚本的用户)是否对 Hyper-V 主机拥有管理特权。
  • 允许你创建一个本地用户帐户(非管理员),供 Azure Migrate 服务用来与 Hyper-V 主机通信。 此用户帐户将添加到主机上的以下组:
    • 远程管理用户
    • Hyper-V 管理员
    • 性能监视器用户
  • 检查主机是否正在运行受支持的 Hyper-V 版本,并检查 Hyper-V 角色。
  • 启用 WinRM 服务,并在主机上打开端口 5985 (HTTP) 和 5986 (HTTPS)(收集元数据时需要使用这些端口)。
  • 在主机上启用 PowerShell 远程控制。
  • 检查主机管理的所有 VM 上是否已启用 Hyper-V 集成服务。
  • 根据需要在主机上启用 CredSSP。

按如下步骤运行脚本:

1)确保在 Hyper-V 主机上安装了 PowerShell 4.0 或更高版本。

2)从 https://aka.ms/migrate/script/hyperv下载脚本。 该脚本已由 Microsoft 加密签名。

3)使用 MD5 或 SHA256 哈希文件验证脚本完整性。 井号标签值如下。 运行以下命令生成脚本的哈希:

         C:\>CertUtil -HashFile <file_location> [Hashing Algorithm]

哈希
MD5 0ef418f31915d01f896ac42a80dc414e
SHA256 0ad60e7299925eff4d1ae9f1c7db485dc9316ef45b0964148a3c07c80761ade2

4)  验证脚本完整性后,在每台 Hyper-V 主机上结合以下 PowerShell 命令运行下载的脚本

image

4、手动准备 Hyper-V

接下来是手动准备 Hyper-V的方法,而不是使用脚本。

验证 PowerShell 版本

确保在 Hyper-V 主机上安装了 PowerShell 4.0 或更高版本。

设置用于 VM 发现的帐户

Azure Migrate 需要拥有发现本地 VM 的权限。

  • 在 Hyper-V 主机/群集上设置拥有管理员权限的域或本地用户帐户。

    • 对于要包含在发现中的所有主机和群集,都需要设置一个帐户。
    • 该帐户可以是本地帐户或域帐户。 我们建议为该帐户分配 Hyper-V 主机或群集的管理员权限。
    • 或者,如果你不想要分配管理员权限,则需要分配以下权限:
      • 远程管理用户
      • Hyper-V 管理员
      • 性能监视器用户
验证 Hyper-V 主机设置

1)验证服务器评估的 Hyper-V 主机要求


支持 详细信息
部署 Hyper-v 主机可以是独立的,也可以部署到群集中。
需要在 Hyper-v 主机上安装 Azure Migrate 复制软件(Hyper-v 复制提供程序)。
权限 你需要在 Hyper-v 主机上具有管理员权限。
主机操作系统 Windows Server 2019、Windows Server 2016 或 Windows Server 2012 R2。
URL 访问 Hyper-v 主机上的复制提供程序软件将需要访问以下 URL:

-login.microsoftonline.com:使用 Active Directory 访问控制和标识管理。

-*. backup.windowsazure.com:复制数据传输和协调。 迁移服务 Url。

-*. blob.core.windows.net:将数据上传到存储帐户。

-dc.services.visualstudio.com:上传用于内部监视的应用日志。

-time.windows.com:验证系统与全局时间之间的时间同步。
端口访问 HTTPS 端口443上的出站连接,用于发送 VM 复制数据。

2)确保 Hyper-V 主机上已打开所需的端口

设备 连接
TCP 端口3389上的入站连接,允许到设备的远程桌面连接。
端口44368上的入站连接,使用以下 URL 远程访问设备管理应用: https://<appliance-ip-or-name>:44368
端口443(HTTPS)、5671和5672(AMQP)上的出站连接,以将发现和性能元数据发送到 Azure Migrate。
Hyper-v 主机/群集 WinRM 端口5985(HTTP)和5986(HTTPS)上的入站连接,使用通用信息模型(CIM)会话拉取 Hyper-v Vm 的配置和性能元数据。

3)在主机上启用 PowerShell 远程处理

在每台主机zhong 运行 Enable-PSRemoting –force 命令

4)在 VM 上启用 Integration Services

应在每个 VM 上启用 Integration Services,使 Azure Migrate 能够捕获 VM 上的操作系统信息。

在要发现和评估的每个 VM 上,启用 Hyper-V Integration Services。

5)在主机上启用 CredSSP

如果主机上的 VM 包含位于 SMB 共享上的磁盘,请在主机上完成此步骤。

  • 可在所有 Hyper-v 主机上远程运行此命令。
  • 如果在群集中添加了新的主机节点,则会自动添加这些节点以供发现,但需要根据情况在新节点上手动启用 CredSSP。

启用 CredSSP:

识别运行包含 SMB 共享中的磁盘的 Hyper-V 虚机 的 Hyper-V 主机。在识别到的每台 Hyper-V 主机上运行以下命令:Enable-WSManCredSSP -Role Server –Force

5、准备进行Hyper-V设备部署

在设置 Azure Migrate 设备并在下一篇博文中开始评估之前,需要准备好设备部署。

1)验证设备要求。

下载格式 压缩文件夹(包含 VHD)
下载链接 https://aka.ms/migrate/appliance/hyperv
下载大小 10 GB
许可证 下载的设备模板附带了 Windows Server 2016 评估版许可证,该许可证在180天内有效。 如果评估期接近过期,我们建议你下载并部署新设备,或者激活设备 VM 的操作系统许可证。
设备部署 将设备部署为 Hyper-v VM。
Azure Migrate 提供的设备 VM 为 Hyper-v VM 版本5.0。
Hyper-v 主机必须运行 Windows Server 2012 R2 或更高版本。
主机需要足够的空间来分配 16 GB RAM、8个 vcpu、大约 80 GB 的存储空间,以及设备 VM 的外部交换机。
设备需要静态或动态 IP 地址以及 internet 访问。
硬件 Hyper-v 主机上的资源,用于分配 16 GB RAM、8个 vcpu、大约 80 GB 的存储空间,以及设备 VM 的外部交换机。
哈希值
算法 哈希值
MD5 29a7531f32bcf69f32d964fa5ae950bc
SHA256 37b3f27bc44f475872e355f04fcb8f38606c84534c117d1609f2d12444569b31
Hyper-V 主机 正在运行 Windows Server 2012 R2 或更高版本。
Azure Migrate 项目 设备可以与单个项目关联。
可以将任意数量的设备与单个项目相关联。
发现 一个设备最多可以发现5000个 Hyper-v Vm。
一个设备最多可以连接到300个 Hyper-v 主机。
设备组件 管理应用:部署期间用于用户输入的设备中的 Web 应用。
发现代理:收集计算机配置数据。
评估代理:收集性能数据。
自动更新服务:更新组件(每24小时运行一次)。

2)查看设备需要访问的 Azure URL。

URL 详细信息
*.portal.azure.com 导航到 Azure 门户。
*.windows.net
*.msftauth.net
*.msauth.net
*.microsoft.com
*.live.com
登录到 Azure 订阅。
*.microsoftonline.com
*.microsoftonline-p.com
为设备创建 Active Directory 应用程序,以便与 Azure Migrate 通信。
management.azure.com 为设备创建 Active Directory 应用程序,以便与 Azure Migrate 服务通信。
dc.services.visualstudio.com 上传用于内部监视的应用日志。
*.vault.azure.net 管理 Azure Key Vault 中的机密。
aka.ms/* 允许访问称为 "链接"。 用于 Azure Migrate 设备更新。
download.microsoft.com/download 允许从 Microsoft 下载下载。
*.servicebus.windows.net 设备与 Azure Migrate 服务之间的通信。
*.discoverysrv.windowsazure.com
*.migration.windowsazure.com
连接到 Azure Migrate 服务 Url。
*.hypervrecoverymanager.windowsazure.com 用于 VMware 无代理迁移

连接到 Azure Migrate 服务 Url。
* .blob.core.windows.net 用于 VMware 无代理迁移

将数据上传到存储进行迁移。

3)查看设备在发现和评估期间要收集的数据。

性能计数器类 计数器 评估影响
Hyper-v 虚拟机监控程序虚拟处理器 % Guest 运行时间 建议的 VM 大小/成本
Hyper-v 动态内存 VM 当前压力(%)
来宾可见物理内存(MB)
建议的 VM 大小/成本
Hyper-v 虚拟存储设备 每秒读取的字节数 磁盘大小、存储成本、VM 大小的计算
Hyper-v 虚拟存储设备 每秒写入的字节数 磁盘大小、存储成本、VM 大小的计算
Hyper-V 虚拟网络适配器 每秒接收的字节数 VM 大小的计算
Hyper-V 虚拟网络适配器 发送的字节数/秒 VM 大小的计算

4)注意设备的端口访问要求。

设备 连接
TCP 端口3389上的入站连接,允许到设备的远程桌面连接。
端口44368上的入站连接,使用以下 URL 远程访问设备管理应用: https://<appliance-ip-or-name>:44368
端口443(HTTPS)、5671和5672(AMQP)上的出站连接,以将发现和性能元数据发送到 Azure Migrate。
Hyper-v 主机/群集 WinRM 端口5985(HTTP)和5986(HTTPS)上的入站连接,使用通用信息模型(CIM)会话拉取 Hyper-v Vm 的配置和性能元数据。