教程:使用 Azure Migrate:发现和评估发现 Google Cloud Platform(GCP)实例

在迁移到 Azure 的过程中,你将发现用于评估和迁移的服务器。

本教程介绍如何采用轻型 Azure Migrate 设备使用 Azure Migrate:发现和评估工具发现 Google Cloud Platform(GCP)实例。 在 GCP上服务器上部署设备,以持续发现计算机和性能元数据。

在本教程中,你将了解如何执行以下操作:

  • 设置 Azure 帐户。
  • 准备 GCP 上服务器以进行发现。
  • 创建项目。
  • 设置 Azure Migrate 设备。
  • 启动持续发现。

注意

这些教程介绍了尝试某个方案并使用默认选项的最快路径。

如果没有 Azure 订阅,请在开始前创建一个试用版订阅

先决条件

在开始本教程之前,请先检查是否已满足这些先决条件。

要求 详细信息
设备 需要一台 GCP 上服务器以运行 Azure Migrate 设备。 计算机应:

- 已安装 Windows Server 2019 或 Windows Server 2022。
不支持在具有 Windows Server 2019 的计算机上运行设备。

- 具有 16-GB RAM、8 个 vCPU、约 80 GB 的磁盘存储和外部虚拟交换机。

- 静态或动态 IP 地址,可直接访问或通过代理访问 Internet。
Windows 服务器实例 允许在 WinRM 端口 5985 (HTTP) 上进行入站连接以便发现 Windows 服务器。
Linux 服务器实例 允许在端口 22 (TCP) 上进行入站连接以便发现 Linux 服务器。

准备 Azure 用户帐户

若要创建项目并注册 Azure Migrate 设备,需要一个具有以下权限的帐户:

  • Azure 订阅的参与者或所有者权限。
  • Microsoft Entra 应用的注册权限。

如果你刚刚创建了试用版 Azure 帐户,那么你就是订阅的所有者。 如果你不是订阅所有者,请让所有者分配权限,如下所示:

  1. 在 Azure 门户中,搜索“订阅”,然后在“服务”下选择“订阅” 。

    用于搜索 Azure 订阅的搜索框屏幕截图。

  2. 在“订阅”页上,选择要在其中创建项目的订阅。

  3. 选择“访问控制 (IAM)”。

  4. 选择“添加”>“添加角色分配”,打开“添加角色分配”页面。

  5. 分配以下角色。 有关详细步骤,请参阅使用 Azure 门户分配 Azure 角色

    设置
    角色 参与者或所有者
    将访问权限分配到 用户
    成员 azmigrateuser

    Azure 门户中“角色分配”页的屏幕截图。

  6. 若要注册设备,Azure 帐户需要权限才能注册 Microsoft Entra 应用

  7. 在门户中,转到 Microsoft Entra ID>用户

  8. 请求租户或全局管理员将应用程序开发人员角色分配给帐户,以允许用户注册 Microsoft Entra 应用。 了解详细信息

准备好 GCP 实例

设置设备可用于访问 GCP 上服务器的帐户。

  • 对于 Windows 服务器
    • 在未加入域的服务器上设置本地用户帐户,并在想要包括在发现中的加入域的服务器上设置一个域帐户。 将用户帐户添加到以下组:
      • 远程管理用户
      • 性能监视器用户
      • 性能日志用户。
  • 对于 Linux 服务器
    • 需要在要发现的 Linux 服务器上拥有根帐户。 如果无法提供根帐户,请参阅支持矩阵中的说明以采用替代方法。
    • Azure Migrate 在发现 GCP 实例时使用密码验证。 GCP 实例默认不支持密码身份验证。 需要先启用密码验证,才能发现实例。
      1. 登录到每台 Linux 计算机。
      2. Open the sshd_config file: vi /etc/ssh/sshd_config
      3. 在文件中,定位到 PasswordAuthentication 行,然后将值改为“yes”。
      4. 保存文件并将其关闭。 重启 ssh 服务。
    • 如果使用根用户来发现 Linux 服务器,请确保服务器上允许根登录。
      1. 登录到每台 Linux 计算机
      2. Open the sshd_config file: vi /etc/ssh/sshd_config
      3. 在文件中,定位到 PermitRootLogin 行,然后将值改为“yes” 。
      4. 保存文件并将其关闭。 重启 ssh 服务。

设置项目

设置新项目。

  1. 在 Azure 门户 >“所有服务”中,搜索“Azure Migrate”。

  2. 在“服务”下选择“Azure Migrate”。

  3. 在“开始”中,选择“创建项目”。

  4. 在“创建项目”中,选择 Azure 订阅和资源组。 如果没有资源组,请创建一个资源组。

  5. 在“项目详细信息”中,指定项目名称以及要在其中创建项目的地理位置。 查看由世纪互联运营的 Azure 支持的地理位置。

  6. 选择创建

  7. 等待几分钟,让项目完成部署。 默认会将“Azure Migrate:发现和评估”工具添加到新项目。

默认添加的发现和评估工具的屏幕截图。

注意

如果你已经创建了一个项目,则可以使用同一个项目注册其他设备,以发现和评估更多服务器。 了解详细信息

设置设备

Azure Migrate 设备是一种轻型设备,由 Azure Migrate:发现和评估用于执行以下操作:

  • 发现本地服务器。
  • 将已发现的服务器的元数据和性能数据发送到 Azure Migrate:发现和评估。

详细了解 Azure Migrate 设备。

若要设置该设备,请执行以下操作:

  1. 提供设备名称,并在门户中生成项目密钥。
  2. 从 Azure 门户下载带有 Azure Migrate 安装程序脚本的压缩文件。
  3. 从压缩文件中提取内容。 使用管理权限启动 PowerShell 控制台。
  4. 执行 PowerShell 脚本以启动设备 Web 应用程序。
  5. 完成设备的首次配置,并使用项目密钥将其注册到项目。

1.生成项目密钥

  1. 在“迁移目标”>“Windows、Linux 和 SQL 服务器”>“Azure Migrate: 发现和评估”中,选择“发现”。
  2. 在“发现服务器”“服务器是否已虚拟化?”中,选择“物理或其他(AWS、GCP、Xen 等)”。
  3. 在“1: 生成项目密钥”中,提供将为发现 GCP 或虚拟服务器而设置的 Azure Migrate 设备的名称。 该名称应是字母数字,长度为 14 个或更少的字符。
  4. 单击“生成密钥”,开始创建所需的 Azure 资源。 在创建资源期间,请不要关闭“发现服务器”页。
  5. 成功创建 Azure 资源后,会生成一个项目密钥
  6. 复制该密钥,因为配置设备时需要输入该密钥才能完成设备注册。

2.下载安装程序脚本

在“2: 下载 Azure Migrate 设备”中,单击“下载”。

验证安全性

在部署压缩文件之前检查其安全性。

  1. 在下载文件的计算机上,打开管理员命令窗口。

  2. 运行以下命令以生成 zip 文件的哈希:

    • C:\>CertUtil -HashFile <file_location> [Hashing Algorithm]
    • 由世纪互联运营的 Azure 的示例用法: C:\>CertUtil -HashFile C:\Users\administrator\Desktop\AzureMigrateInstaller-Server-AzureChina.zip SHA256
  3. 验证最新的设备版本和哈希值:

    • 对于由世纪互联运营的 Azure:

      方案 下载 哈希值
      物理 (85 MB) 最新版本 07783A31D1E66BE963349B5553DC1F1E94C70AA149E11AC7D8914F4076480731

3.运行 Azure Migrate 安装程序脚本

此安装程序脚本执行以下操作:

  • 安装用于 GCP 服务器发现和评估的代理和 Web 应用程序。
  • 安装 Windows 角色,包括 Windows 激活服务、IIS 和 PowerShell ISE。
  • 下载并安装 IIS 可重写模块。
  • 更新 Azure Migrate 的注册表项 (HKLM) 和永久性设置详细信息。
  • 在路径下创建以下文件:
    • 配置文件:%Programdata%\Microsoft Azure\Config
    • 日志文件:%Programdata%\Microsoft Azure\Logs

按如下所示运行脚本:

  1. 将压缩文件解压缩到托管设备的服务器上的某个文件夹中。 请确保不要在现有 Azure Migrate 设备上的计算机中运行该脚本。

  2. 使用管理(提升)权限在上述服务器上启动 PowerShell。

  3. 将 PowerShell 目录更改为从下载的压缩文件中提取内容的文件夹。

  4. 通过运行以下命令,运行名为“AzureMigrateInstaller.ps1”的脚本:

    • 对于由世纪互联运营的 Azure:

      PS C:\Users\Administrators\Desktop\AzureMigrateInstaller-Server-AzureChina>.\AzureMigrateInstaller.ps1

    脚本将在成功完成时启动设备 Web 应用程序。

如果遇到任何问题,可以访问位于 C:\ProgramData\Microsoft Azure\Logs\AzureMigrateScenarioInstaller_Timestamp.log 的脚本日志来进行故障排除。

验证设备的 Azure 访问权限

确保设备可以连接到由世纪互联运营的 Azure 的 URL。

4.配置设备

首次设置设备。

  1. 在可连接到该设备的任一计算机上打开浏览器,然后打开设备 Web 应用的 URL:https://设备名称或 IP 地址: 44368。

    或者,可以在桌面上单击应用快捷方式打开该应用。

  2. 接受许可条款,并阅读第三方信息。

设置先决条件并注册设备

在配置管理器中,选择“设置先决条件”,然后完成以下步骤:

  1. 连接:设备将检查服务器是否可访问 Internet。 如果服务器使用代理:

    • 选择“设置代理”以指定代理地址(以 http://ProxyFQDN 形式,其中“FQDN”指“完全限定的域名”)和侦听端口。

    • 如果代理需要身份验证,请输入凭据。

    • 如果已添加代理详细信息或已禁用代理或身份验证,请选择“保存”,再次触发连接并进行连接性检查。

      仅支持 HTTP 代理。

  2. 时间同步:检查设备上的时间是否与 Internet 时间同步,以便正常运行发现。

  3. 安装更新并注册设备:若要运行自动更新并注册设备,请执行以下步骤:

    此屏幕截图显示在设备配置管理器中设置先决条件。

    注意

    这是 Azure Migrate 设备中的新用户体验,仅在你使用从门户下载的最新安装程序脚本设置设备后才可用。 已注册的设备会继续看到较旧版本的用户体验,并且会继续正常工作,没有任何问题。

    1. 若要使设备运行自动更新,请粘贴从门户复制的项目密钥。 如果没有该密钥,请转到“Azure Migrate: 发现和评估”>“概述”>管理现有设备”。 选择生成项目密钥时提供的设备名称,然后复制显示的密钥。

    2. 设备会验证密钥并启动自动更新服务,该服务会将设备上的所有服务更新为其最新版本。 在自动更新运行后,你可以选择“查看设备服务”,以查看设备服务器上运行的服务的状态和版本。

    3. 若要注册设备,需要选择“登录”。 在“继续使用 Azure 登录”中,选择“复制代码并登录”来复制设备代码(必须提供设备代码才能通过 Azure 进行身份验证)并在新的浏览器标签页中打开 Azure 登录提示。请确保已禁用浏览器中的弹出窗口阻止程序,这样才能看到提示。

      显示复制设备代码和登录位置的屏幕截图。

    4. 在浏览器的新选项卡中,粘贴设备代码并使用 Azure 用户名和密码登录。 不支持使用 PIN 登录。

      注意

      如果在未登录的情况下意外关闭了登录选项卡,请刷新设备配置管理器的浏览器选项卡以显示设备代码和“复制代码并登录”按钮。

    5. 成功登录后,返回到显示设备配置管理器的浏览器选项卡。 如果用于登录的 Azure 用户帐户对在密钥生成期间创建的 Azure 资源具有所需的权限,则会开始设备注册。

      成功注册设备后,若要查看注册详细信息,请选择“查看详细信息”。

可以在设备配置期间随时重新运行先决条件,以检查设备是否满足所有先决条件。

启动持续发现

现在,从设备连接到要发现的 GCP 服务器,并启动发现。

  1. 在“步骤 1: 提供用于发现 Windows 和 Linux 物理服务器或虚拟服务器的凭据”,选择“添加凭据”。

  2. 对于 Windows 服务器,选择作为 Windows 服务器的源类型,指定凭据的友好名称,添加用户名和密码。 选择“保存”。

  3. 如果将基于密码的身份验证用于 Linux 服务器,请选择“Linux 服务器 (基于密码)”作为源类型,为凭据指定易用名称,并添加用户名和密码。 选择“保存”。

  4. 如果将基于 SSH 密钥的身份验证用于 Linux 服务器,可选择“Linux 服务器 (基于 SSH 密钥)”作为源类型,为凭据指定易用名称,添加用户名,浏览并选择 SSH 私钥文件。 选择“保存”。

    • Azure Migrate 支持由 ssh-keygen 命令使用 RSA、DSA、ECDSA 和 ed25519 算法生成的 SSH 私钥。

    • 目前 Azure Migrate 不支持基于密码的 SSH 密钥。 使用不含密码的 SSH 密钥。

    • 目前 Azure Migrate 不支持 PuTTY 生成的 SSH 私钥文件。

    • Azure Migrate 支持 SSH 私钥文件的 OpenSSH 格式,如下所示:

      SSH 私钥支持的格式的屏幕截图。

  5. 如果要一次添加多个凭据,请选择“添加更多”以保存和添加更多凭据。

    注意

    默认情况下,凭据将用于收集有关已安装的应用程序、角色和功能的数据,以及从 Windows 和 Linux 服务器收集依赖项数据,除非你禁用滑块以不执行这些功能(如上一步中的说明)。

  6. 在“步骤 2: 提供物理服务器或虚拟服务器详细信息”中,选择“添加发现源”,以指定服务器 IP 地址/FQDN 以及为用于连接到服务器的凭据指定易记名称。

  7. 可以一次“添加单个项目”,也可以一次“添加多个项目” 。 还可以选择通过“导入 CSV”提供服务器详细信息。

    • 如果选择“添加单个项目”,则可以选择 OS 类型,为凭据指定一个易记名称,并添加服务器“IP 地址/FQDN”,然后选择“保存”。
    • 如果选择添加多个项目,则可以通过在文本框中指定服务器 IP 地址/FQDN 并为凭据指定一个易记名称来一次添加多个记录。 验证**已添加的记录,然后选择“保存”。
    • 如果选择“导入 CSV”(默认已选),可以下载 CSV 模板文件,并使用服务器 IP地址/FQDN 和凭据的易记名称填充文件。 然后,将该文件导入设备,验证文件中的记录,然后选择“保存”。
  8. 单击“保存”后,设备将尝试验证与已添加服务器的连接,并在每个服务器的表中显示“验证状态”。

    • 如果服务器验证失败,请通过单击表中“状态”列中的“验证失败”来查看错误。 解决此问题,然后再次验证。
    • 若要删除服务器,请选择“删除”。
  9. 在开始发现之前,可以随时重新验证与服务器之间的连接。

  10. 在启动发现之前,可以选择禁用该滑块,以便不在添加的服务器上执行软件清单和无代理依赖项分析。 随时可以更改此选项。

    显示在何处禁用滑块的屏幕截图。

  11. 若要执行 SQL Server 实例和数据库的发现,可以添加其他凭据(Windows 域/非域、SQL 身份验证凭据),设备将尝试自动将凭据映射到 SQL 服务器。 如果添加域凭据,设备将根据域的 Active Directory 对凭据进行身份验证,以防止任何用户帐户被锁定。若要检查域凭据的验证,请执行以下步骤:

  • 在配置管理器的凭据表中,查看域凭据的“验证状态”。 只会验证域凭据。
  • 如果验证失败,可以选择“失败”状态以查看验证错误。 解决此问题,然后选择“重新验证凭据”以重新尝试凭据验证。

启动发现

单击“开始发现”,开始发现已成功验证的服务器。 成功启动发现后,你可以针对表中的每个服务器检查发现状态。

发现的工作原理

  • 大约需要 2 分钟才能完成对 100 台服务器及其元数据的发现以显示在 Azure 门户中。

  • 软件清单(发现已安装的应用程序)会在服务器发现完成后自动启动。

  • 软件盘存会标识在服务器上运行的 SQL Server 实例。 设备利用该功能收集的信息,尝试通过 Windows 身份验证凭据或设备上提供的 SQL Server 身份验证凭据连接到 SQL Server 实例。 然后,它会收集有关 SQL Server 数据库及其属性的数据。 SQL Server 发现每 24 小时执行一次。

  • 设备只能连接到与其建立了网络连接的 SQL Server 实例,而软件清单本身可能无需网络连接。

  • 发现已安装的应用程序所用的时间取决于被发现的服务器的数量。 如果有 500 个服务器,门户中的 Azure Migrate 项目大约需要一小时才会显示发现的库存。

  • 在软件盘存过程中,针对服务器循环访问已添加的服务器凭据,并对这些凭据进行验证,以便进行无代理依赖项分析。 完成服务器发现后,可以在门户中对服务器启用无代理依赖项分析。 只能选择验证成功的服务器来启用无代理依赖项分析

  • 在开始发现后的 24 小时内,SQL Server 实例和数据库数据将开始在门户中显示。

  • 默认情况下,Azure Migrate 使用最安全的方法连接到 SQL 实例,即,Azure Migrate 通过将 TrustServerCertificate 属性设置为 true,对 Azure Migrate 设备和源 SQL Server 实例之间的通信进行加密。 此外,传输层使用 SSL 加密通道并绕过证书链来验证信任。 因此,必须将设备服务器设置为信任证书的根颁发机构。 但是,可以通过在设备上选择“编辑 SQL Server 连接属性”来修改连接设置。 了解详细信息以了解要选择的内容。

  • 若要发现 SQL Server 实例和数据库,Windows 或 SQL Server 帐户必须是 sysadmin 服务器角色的成员,或者对每个 SQL Server 实例具有这些权限

    显示如何编辑 SQL Server 连接属性的屏幕截图。

验证门户中的服务器

发现完成后,可以验证服务器是否出现在门户中。

  1. 打开 Azure Migrate 仪表板。
  2. 在“Windows、Linux 和 SQL 服务器”>“Azure Migrate: 发现和评估”页中,单击显示了“已发现的服务器”计数的图标。

后续步骤