你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在迁移到 Azure 的过程中,你将发现本地库存和工作负载。
本教程介绍如何使用一个轻型 Azure Migrate 设备通过“Azure Migrate:发现和评估”工具发现 Hyper-V 环境中运行的服务器。 你将该设备部署为 Hyper-V 主机上的服务器,以持续发现服务器及其性能元数据、在服务器上运行的应用程序、服务器依赖项、Web 应用,以及 SQL Server 实例和数据库。
本教程中,您将学习如何:
- 设置 Azure 帐户
- 准备 Hyper-V 环境以进行发现。
- 创建项目。
- 设置 Azure Migrate 设备。
- 启动持续发现。
注意
教程显示尝试方案的最快路径,并使用默认选项。
如果没有 Azure 订阅,请在开始之前创建一个免费帐户。
Prerequisites
在开始本教程之前,请先检查是否已满足这些先决条件。
| 要求 | 详细信息 |
|---|---|
| Hyper-V 主机 | 服务器所在的 Hyper-V 主机可以是独立的,也可以在群集中。 主机必须运行 Windows Server 2022、Windows Server 2019 或 Windows Server 2016 R2。 验证 WinRM 端口 5985 (HTTP) 上是否允许入站连接,使设备可以使用通用信息模型(CIM)会话连接到拉取服务器元数据和性能数据。 |
| 设备部署 | Hyper-V 主机需要资源来为设备分配服务器: - 16 GB RAM、8 个 vCPU 以及约 80 GB 的磁盘存储。 - 外部虚拟交换机,以及设备上的直接或通过代理实现的 Internet 访问。 |
| 服务器 | 所有 Windows 和 Linux OS 版本均受支持,可用于发现配置和性能元数据。 对于服务器上的应用程序发现,所有 Windows 和 Linux OS 版本均受支持。 查看支持无代理依赖项分析的 OS 版本。 若要发现在 IIS Web 服务器上运行的 ASP.NET Web 应用,请查看支持的 Windows OS 和 IIS 版本。 若要发现已安装的应用程序并进行无代理依赖项分析,Windows 服务器必须安装 PowerShell 2.0 或更高版本。 要发现在Apache Tomcat Web 服务器上运行的 Java Web 应用,请检查支持的 Linux OS 和 Tomcat 版本。 |
| SQL Server 访问 | 若要发现 SQL Server 实例和数据库,Windows 或 SQL Server 帐户需要每个 SQL Server 实例都具有这些权限。 为简单起见,可以使用帐户预配实用工具创建自定义帐户,或使用任何现有帐户作为 sysadmin 服务器角色的成员。 |
准备 Azure 帐户
分配以下内置角色来准备 Azure 帐户。 若要创建 Azure Migrate 项目,用户 必须具有 Azure Migrate 所有者角色 或更高特权角色。
| S.no。 | 内置角色 | Description | ID | Scope |
|---|---|---|---|---|
| 1 | Azure Migrate 所有者 | 授予创建和管理 Azure Migrate 项目的完全访问权限,包括基于设备的或基于导入的发现、业务案例和评估创建以及迁移执行;还授予在 Azure Role-Based 访问控制(RBAC)中分配特定于 Azure Migrate 的角色的权限。 | fd8ea4d5-6509-4db0-bada-356ab233b4fa | 范围是指资源组或订阅,即 Azure Migrate 项目的创建位置。 |
| 2 | Azure Migrate 策略规划专家 | 授予 对 Azure Migrate 项目的受限访问权限 ,以只限于 执行计划操作,包括通过设备进行发现或导入、更新和管理清单、识别服务器依赖项、定义应用程序,以及创建业务案例和评估。 | 7859c0b0-0bb9-4994-bd12-cd529af7d646 | 范围是指资源组或订阅,即 Azure Migrate 项目的创建位置。 |
| 3 | Azure Migrate 执行专家 | 授予 对 Azure Migrate 项目的受限访问权限 ,以仅执行 迁移相关作,包括复制、执行测试迁移、跟踪和监视迁移进度,以及执行无代理和基于代理的迁移。 | 1cfa4eac-9a23-481c-a793-bfb6958e836b | 在其中创建 Azure Migrate 项目的源资源组或订阅;将服务器和工作负荷迁移到的目标资源组或订阅。 |
若要注册 Azure Migrate 设备或 Azure Site Recovery 复制设备,用户必须在 Microsoft Entra ID 级别具有其他应用程序开发人员角色。 请参阅 本文 来准备 Azure 帐户。
准备 Hyper-V 主机
可以手动或使用脚本来准备 Hyper-V 主机。 准备步骤汇总在下表中。 脚本会自动进行这些准备。
| 步骤 | 脚本 | 手动 |
|---|---|---|
| 验证主机要求 | 检查主机是否正在运行受支持的 Hyper-V 版本,并检查 Hyper-V 角色。 启用 WinRM 服务,并在主机上打开端口 5985 (HTTP) 和 5986 (HTTPS)(收集元数据时需要使用这些端口)。 |
主机必须运行 Windows Server 2019、Windows Server 2016 或 Windows Server 2012 R2。 验证 WinRM 端口 5985 (HTTP) 上是否允许入站连接,使设备可以使用通用信息模型(CIM)会话连接到拉取服务器元数据和性能数据。 具有非英语区域设置的主机目前不支持该脚本。 |
| 验证 PowerShell 版本 | 检查你是否在受支持的 PowerShell 版本中运行该脚本。 | 检查是否正在 Hyper-V 主机上运行 PowerShell 版本 4.0 或更高版本。 |
| 创建帐户 | 验证你在 Hyper-V 主机上是否具有正确的权限。 使你可以创建具有正确权限的本地用户帐户。 |
选项 1:准备一个具有对 Hyper-V 主机的管理员访问权限的帐户。 选项 2:准备一个本地管理员帐户或域管理员帐户,并将该帐户添加到这些组中:远程管理用户、Hyper-V 管理员和性能监视器用户。 |
| 启用 PowerShell 远程处理 | 在每台主机上启用 PowerShell 远程控制,使 Azure Migrate 设备能够通过 WinRM 连接在主机上运行 PowerShell 命令。 | 若要设置,请在每台主机上,以管理员身份打开 PowerShell 控制台,然后运行以下命令:powershell Enable-PSRemoting -force |
| 设置 Hyper-V 集成服务 | 检查主机管理的所有服务器上是否已启用 Hyper-V Integration Services。 |
在每个服务器上启用 Hyper-V 集成服务。 如果运行的是 Windows Server 2003,请遵循这些说明。 |
| 如果服务器磁盘位于远程 SMB 共享上,则委派凭据 | 委托凭据 | 运行以下命令,以使 CredSSP 可以在运行服务器且具有 SMB 共享上的磁盘的主机上委派凭据:powershell Enable-WSManCredSSP -Role Server -Force 可在所有 Hyper-v 主机上远程运行此命令。 如果在群集中添加了新的主机节点,则会自动添加这些节点以供发现,但需要手动启用 CredSSP。 设置设备时,在设备上启用 CredSSP 即可完成 CredSSP 的设置。 |
运行脚本
从 Microsoft 下载中心下载脚本。 该脚本已由 Microsoft 加密签名。
使用 SHA256 哈希文件验证脚本完整性。 哈希值如下。 运行以下命令生成脚本的哈希:
C:\>CertUtil -HashFile <file_location> [Hashing Algorithm]用法示例:
C:\>CertUtil -HashFile C:\Users\Administrators\Desktop\MicrosoftAzureMigrate-Hyper-V.ps1 SHA256验证脚本完整性后,在每台 Hyper-V 主机上使用以下提升了权限的 PowerShell 命令运行该脚本:
PS C:\Users\Administrators\Desktop> MicrosoftAzureMigrate-Hyper-V.ps1
哈希值为:
| 哈希 | 值 |
|---|---|
| SHA256 | 0ad60e7299925eff4d1ae9f1c7db485dc9316ef45b0964148a3c07c80761ade2 |
创建用于访问服务器的帐户
你可以在 Azure Migrate 设备配置管理器中添加多个服务器凭据,以启动已安装应用程序的发现、无代理依赖项分析以及 SQL Server 实例和数据库。 可以添加多个域,Windows(非域)、Linux(非域)或 SQL Server 身份验证凭据。 了解如何添加服务器凭据。
设置项目
若要设置新项目,请参阅: 创建和管理 Azure Migrate 项目
设置设备
Azure Migrate 使用轻型 Azure Migrate 设备。 设备执行服务器发现并将服务器配置和性能元数据发送到 Azure Migrate。 可以通过部署 VHD 文件来设置设备,该文件可从项目下载。
注意
本教程在 Hyper-V 环境中运行的服务器上设置设备,如下所示:
- 提供设备名称,并在门户中生成项目密钥。
- 从 Azure 门户下载压缩的 Hyper-V VHD。
- 创建设备,并检查它是否可以连接到 Azure Migrate:发现和评估。
- 完成设备的首次配置,并使用项目密钥将其注册到项目。
1. 生成项目密钥
- 在“迁移目标”“服务器、数据库和 Web 应用”>“Azure Migrate: 发现和评估”中,选择“发现”。>
- 在“发现服务器”“服务器是否已虚拟化?”中,选择“是,使用 Hyper-V”>。
- 在“1:生成项目密钥”中,提供将为发现服务器而设置的 Azure Migrate 设备的名称。 该名称应是字母数字,长度为 14 个或更少的字符。
- 选择“生成密钥”,开始创建所需的 Azure 资源。 在创建资源期间,请不要关闭“发现服务器”页。
- 成功创建 Azure 资源后,会生成一个项目密钥。
- 复制该密钥,因为配置设备时需要输入该密钥才能完成设备注册。
2. 下载 VHD
在“2: 下载 Azure Migrate 设备”中,选择 .VHD 文件,然后选择“下载”。 通过验证 SHA256 值来验证安全性。
3. 创建设备
导入下载的文件,然后创建设备。
- 将压缩的 VHD 文件解压缩到托管设备的 Hyper-V 主机上的某个文件夹中。 将解压缩三个文件夹。
- 打开 Hyper-V 管理器。 在“操作”中,选择“导入虚拟机”。
- 在“导入虚拟机”向导 >“准备工作”中,选择“下一步”。
- 在“查找文件夹”中,指定包含已解压缩的 VHD 的文件夹。 然后,选择“下一步”。
- 在“选择虚拟机”中,选择“下一步”。
- 在“选择导入类型”中,选择“复制虚拟机(创建新的唯一 ID)”。 然后,选择“下一步”。
- 在“选择目标”中保留默认设置。 选择“下一页”。
- 在“存储文件夹”中保留默认设置。 选择“下一页”。
- 在“选择网络”中,指定设备要使用的虚拟交换机。 该交换机需要与 Internet 建立连接才能向 Azure 发送数据。
- 在“摘要”中检查设置。 然后选择“完成”。
- 在 Hyper-V 管理器 >“虚拟机”中启动设备。
验证设备的 Azure 访问权限
4. 配置设备
首次设置设备。
注意
如果使用 PowerShell 脚本而不是下载的 VHD 设置设备,则此过程中的前两个步骤不相关。
在 Hyper-V 管理器 >“虚拟机”中,右键单击该设备 “连接”。>
提供设备的语言、时区和密码。
在可连接到该设备的任一计算机上打开浏览器,然后打开设备 Web 应用的 URL:https://设备名称或 IP 地址: 44368。
或者,可以在设备桌面上选择应用快捷方式打开该应用。
接受许可条款,并阅读第三方信息。
设置先决条件并注册设备
在配置管理器中,选择“设置先决条件”,然后完成以下步骤:
连接:设备将检查服务器是否可访问 Internet。 如果服务器使用代理:
选择“设置代理”以指定代理地址(以
http://ProxyIPAddress或http://ProxyFQDN形式,其中“FQDN”指“完全限定的域名”)和侦听端口。如果代理需要身份验证,请输入凭据。
如果已添加代理详细信息或已禁用代理或身份验证,请选择“保存”,再次触发连接并进行连接性检查。
仅支持 HTTP 代理。
时间同步:检查设备上的时间是否与 Internet 时间同步,以便正常运行发现。
安装更新并注册设备:要运行自动更新并注册设备,请执行以下步骤:
注意
这是 Azure Migrate 设备中的新用户体验,仅在你使用从门户下载的最新 OVA/安装程序脚本设置设备后才可用。 已注册的设备会继续看到较旧版本的用户体验,并且会继续正常工作,没有任何问题。
若要使设备运行自动更新,请粘贴从门户复制的项目密钥。 如果没有该密钥,请转到“Azure Migrate: 发现和评估”“概述”>管理现有设备”>。 选择生成项目密钥时提供的设备名称,然后复制显示的密钥。
设备会验证密钥并启动自动更新服务,该服务会将设备上的所有服务更新为其最新版本。 在自动更新运行后,你可以选择“查看设备服务”,以查看设备服务器上运行的服务的状态和版本。
要注册设备,需要选择“登录”。 在“继续使用 Azure 登录”中,选择“复制代码并登录”来复制设备代码(必须提供设备代码才能通过 Azure 进行身份验证)并在新的浏览器标签页中打开 Azure 登录提示。请确保已禁用浏览器中的弹出窗口阻止程序,这样才能看到提示。
在浏览器的新选项卡中,粘贴设备代码并使用 Azure 用户名和密码登录。 不支持使用 PIN 登录。
注意
如果在未登录的情况下意外关闭了登录选项卡,请刷新设备配置管理器的浏览器选项卡以显示设备代码和“复制代码并登录”按钮。
成功登录后,返回到显示设备配置管理器的浏览器选项卡。 如果用于登录的 Azure 用户帐户对密钥生成期间创建的 Azure 资源具有所需的权限,则会开始设备注册。
成功注册设备后,若要查看注册详细信息,请选择“查看详细信息”。
可以在设备配置期间随时重新运行先决条件,以检查设备是否满足所有先决条件。
为 SMB VHD 委托凭据
如果在 SMB 上运行 VHD,必须启用从设备到 Hyper-V 主机的凭据委托。 若要从设备执行此操作:
在设备上,运行此命令。 HyperVHost1/HyperVHost2 是示例主机名。
Enable-WSManCredSSP -Role Client -DelegateComputer HyperVHost1.contoso.com, HyperVHost2.contoso.com, HyperVHost1, HyperVHost2 -Force或者,在设备上的本地组策略编辑器中执行此操作:
- 在“本地计算机策略”“计算机配置”中,选择“管理模板”>“系统”“凭据委托”。>>
- 双击“允许委托新凭据”,并选择“已启用”。
- 在“选项”中选择“显示”,然后将要发现的每台 Hyper-V 主机添加到列表中,并使用 wsman/ 作为前缀。
- 在“凭据委托”中,双击“允许允许新凭据并使用仅限 NTLM 的服务器身份验证”。 再次将要发现的每台 Hyper-V 主机添加到列表中,并使用 wsman/ 作为前缀。
启动持续发现
从设备连接到 Hyper-V 主机或群集,并启动服务器发现。
提供 Hyper-V 主机/群集详细信息
在“步骤 1: 提供 Hyper-V 主机凭据”中,选择“添加凭据”以指定凭据的易记名称,为设备将用于发现服务器的 Hyper-V 主机/群集添加“用户名”和“密码”。 选择“保存”。
如果要一次添加多个凭据,请选择“添加更多”以保存和添加更多凭据。 在 Hyper-V 环境中发现服务器支持多个凭据。
在“步骤 2:提供 Hyper-V 主机/群集详细信”息中,选择“添加发现源”,以指定 Hyper-V 主机/群集 IP 地址/FQDN 以及用于连接到主机/群集的凭据的易记名称。
可以一次“添加单个项目”,也可以一次“添加多个项目”。 还有一个选项是通过“导入 CSV”提供 Hyper-V 主机/群集详细信息。
- 如果选择“添加单个项目”,则需要指定凭据的易记名称和 Hyper-V 主机/群集 IP 地址/FQDN,然后选择“保存”。
- 如果选择“添加多个项目”(默认情况下处于选中状态),则可以通过在文本框中指定 Hyper-V 主机/群集 IP 地址/FQDN 和凭据的易记名称来一次添加多个记录。 验证已添加的记录,然后选择“保存”。
- 如果选择“导入 CSV”,可以下载 CSV 模板文件,并使用 Hyper-V 主机/群集 IP 地址/FQDN 和凭据的易记名称填充文件。 然后,将该文件导入设备,验证文件中的记录,然后选择“保存”。
选择“保存”后,设备将尝试验证与所添加 Hyper-V 主机/群集的连接,并在表中显示每个主机/群集的“验证状态”。
- 对于成功验证的主机/群集,可以通过选择 IP 地址/FQDN 来查看更多详细信息。
- 如果主机的验证失败,请在表的“状态”列中选择“ 验证失败 ”来检查错误。 修复问题并再次验证。
- 若要删除主机或群集,请选择“删除”。
- 无法删除群集中的特定主机。 只能删除整个群集。
- 即使群集中的特定主机出现问题,你也可以添加群集。
在开始发现之前,可以随时重新验证与主机/群集之间的连接。
提供服务器凭据
在“第 3 步:提供服务器凭据以执行软件盘存、无代理依赖项分析、在 Microsoft HyperV 环境中发现 SQL Server 实例和数据库”中,可以提供多个服务器凭据。 如果不想使用上述任何设备功能,可以禁用滑块,继续发现在 Hyper-V 主机/群集上运行的服务器。 随时可以更改此选项。
若要使用这些功能,可通过完成以下步骤提供服务器凭据。 设备会尝试自动将凭据映射到服务器以执行发现功能。
添加服务器凭据的步骤:
选择“添加凭据”。
在下拉菜单中,选择“凭据类型”。
你可以提供域/、Windows(非域)/、Linux(非域)/、Linux(基于 SSH 密钥)和 SQL Server 身份验证凭据。 了解如何提供凭据以及我们如何处理凭据。
对于每种类型的凭据,请输入:
- 一个易记名称。
- 用户名。
- 一个密码。 选择“保存”。
如果选择使用域凭据,还需要输入域的 FQDN。 必须使用 FQDN 才能在该域的 Active Directory 实例中验证凭据的真实性。
对于 Windows 服务器:
- 选择源类型作为 Windows Server。
- 输入凭据的易记名称。
- 添加用户名和密码。
- 选择“保存”。
如果将基于密码的身份验证用于 Linux 服务器,请选择源类型作为 Linux 服务器(基于密码)。
- 输入凭据的易记名称。
- 添加用户名和密码,然后选择“保存”。
如果对 Linux 服务器使用基于 SSH 密钥的身份验证:
- 选择源类型作为 Linux 服务器(基于 SSH 密钥)。
- 输入凭据的易记名称。
- 添加用户名。
- 浏览并选择 SSH 私钥文件。
- 选择“保存”。
注意
- Azure Migrate 支持通过 RSA、ECDSA 和 ed25519 算法通过 ssh-keygen 命令创建的 SSH 私钥。
- 它支持 OpenSSH 格式的 SSH 私钥文件。
- 它不支持使用通行短语的 SSH 密钥。 建议在没有通行短语的情况下使用密钥
- 它还不支持 PuTTY 创建的 SSH 私钥文件。
查看帐户的所需权限,以发现已安装的应用程序、无代理依赖项分析以及发现 SQL Server 实例和数据库。
若要一次添加多个凭据,请选择“添加更多”,以保存和添加更多凭据。 选择“保存”或“添加更多”时,设备将使用域的 Active Directory 实例验证域凭据以进行身份验证。 每次添加后都会进行验证,以避免在设备循环访问以将凭据映射到相应服务器时帐户锁定。
检查域凭据的验证:
在配置管理器的凭据表中,请参阅域凭据的“验证状态”。 只验证域凭据。
如果验证失败,可以选择“失败”状态以查看验证错误。 解决此问题,然后选择“重新验证凭据”以重新尝试凭据验证。
启动发现
选择“启动发现”,从已成功验证的主机/群集开始发现服务器。 成功启动发现后,你可以针对表中的每个主机/群集检查发现状态。
发现的工作原理
在 Azure 门户中,每台主机大约需要 2 分钟才能显示发现的服务器的元数据。
如果已提供服务器凭据,则在发现 Hyper-V 主机/群集上运行的服务器完成后,会自动启动软件盘存(发现已安装的应用程序)。
软件盘存会标识在服务器上运行的 SQL Server 实例。 设备利用该功能收集的信息,尝试通过 Windows 身份验证凭据或设备上提供的 SQL Server 身份验证凭据连接到 SQL Server 实例。 然后,它会收集有关 SQL Server 数据库及其属性的数据。 SQL Server 发现每 24 小时执行一次。
设备只能连接到与其建立了网络连接的 SQL Server 实例,而软件盘存本身无需网络连接。
发现已安装的应用程序所用的时间取决于被发现的服务器的数量。 如果有 500 个服务器,门户中的 Azure Migrate 项目大约需要一小时才会显示发现的库存。
软件清单识别发现的服务器上存在的 Web 服务器角色。 如果发现服务器已启用 Web 服务器角色,Azure Migrate 将在服务器上执行 Web 应用发现。 Web 应用配置数据每 24 小时更新一次。
在软件盘存过程中,针对服务器循环访问已添加的服务器凭据,并对这些凭据进行验证,以便进行无代理依赖项分析。 完成服务器发现后,可以在门户中对服务器启用无代理依赖项分析。 只能选择验证成功的服务器来启用无代理依赖项分析。
在开始发现后的 24 小时内,SQL Server 实例和数据库数据将开始在门户中显示。
默认情况下,Azure Migrate 使用最安全的方法连接到 SQL 实例,即,Azure Migrate 通过将 TrustServerCertificate 属性设置为
true,对 Azure Migrate 设备和源 SQL Server 实例之间的通信进行加密。 此外,传输层使用 SSL 加密通道并绕过证书链来验证信任。 因此,必须将设备服务器设置为信任证书的根颁发机构。 但是,可以通过在设备上选择“编辑 SQL Server 连接属性”来修改连接设置。 了解详细信息以了解要选择的内容。
验证门户中的服务器
发现完成后,可以验证服务器是否出现在门户中。
- 打开 Azure Migrate 仪表板。
- 在 Azure Migrate - 服务器>Azure Migrate:发现和评估页中,选择显示了已发现服务器计数的图标。
查看支持状态
可通过“发现的服务器”和“发现的数据库实例”部分更深入地了解环境的支持状况。
“操作系统许可证支持状态”列显示操作系统的支持状态,无论它是处于“主要支持”状态、“外延支持”状态还是“不支持”状态。 选择支持状态会在右侧打开一个窗格,其中提供了有关可操作步骤的明确指导,可通过执行这些步骤在外延支持或不受支持的情况下保护服务器和数据库。
若要查看支持终止前剩余的持续时间(即许可证的有效月数),请选择“列”>“支持结束时间”>“提交”。 “支持结束时间”列会显示持续时间(以月为单位)。
“数据库实例”显示 Azure Migrate 发现的实例数。 选择实例数以查看数据库实例详细信息。 “数据库实例许可证支持状态”显示数据库实例的支持状态。 选择支持状态会在右侧打开一个窗格,其中会提供有关可操作步骤的明确指导,从而在服务器和数据库处于外延支持或不受支持的情况下采取上述步骤进行保护。
若要查看支持终止前剩余的持续时间(即许可证的有效月数),请选择“列”>“支持结束时间”>“提交”。 “支持结束时间”列会显示持续时间(以月为单位)。
载入到 Azure Local(可选)
注意
请仅在迁移至 Azure 本地时执行此步骤。
提供用于连接到群集的 Azure Stack 群集信息和凭据。 有关详细信息,请参阅下载 Azure 本地软件。
后续步骤
- 评估 Hyper-V 环境上的服务器 以迁移到 Azure VM。
- 查看设备在发现期间收集的数据。