你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

发现物理服务器以及在 AWS 和 GCP 上运行的服务器

本文介绍如何设置 Azure Migrate 设备以发现在 AWS、GCP 或任何其他云中运行的物理服务器和服务器。

Azure Migrate 设备是一种轻量级工具,可供 Azure Migrate: 发现和评估用来来执行以下操作:

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

先决条件

在设置设备之前,请按照以下步骤 创建 Azure Migrate 项目

准备 Azure Migrate 设备

准备 Windows Server

若要发现 Windows 服务器并启用软件清单和无代理依赖项分析,对于已加入域的服务器请使用域帐户,对于未加入域的服务器请使用本地帐户。

可以通过以下两种方式之一创建本地用户帐户:

选项 1:设置管理员帐户

进行设置:

  • 在服务器上创建具有管理员权限的帐户。
  • 此帐户有助于使用 CIM 连接收集配置和性能数据。
  • 它还支持软件清单(查找已安装的应用程序),并通过 PowerShell 远程处理启用无代理依赖项分析。

选项 2:设置最低特权 Windows 用户帐户

  • 将用户帐户添加到以下组:远程管理用户、性能监视器用户和性能日志用户。
  • 如果远程管理用户组不可用,请改将用户添加到 WinRMRemoteWMIUsers_ group
  • 帐户需要这些权限,以便设备可以创建与服务器的 CIM 连接,并从所需的 WMI 类收集配置和性能数据。
  • 有时,即使在将帐户添加到正确的组后,它也可能由于UAC筛选而无法返回需要的数据。 若要解决此问题,请为用户帐户授予 对 CIMV2 命名空间 及其目标服务器上的子命名空间的正确权限。 可以按照以下步骤设置所需的权限。

注意

  • 对于 Windows Server 2008 和 2008 R2,请确保在服务器上安装了 WMF 3.0。
  • 若要在 Windows Server 上发现 SQL Server 数据库,需要同时支持 Windows 和 SQL Server 身份验证。
    可以在设备配置管理器中输入这两种类型的凭据。
    Azure Migrate 需要属于服务器角色的 sysadmin Windows 用户帐户。

准备 Linux 服务器

若要发现 Linux 服务器,可以按照以下步骤设置最低特权 sudo 帐户:

设置最低特权 Linux 用户帐户

  • 需要在要发现的 Linux 服务器上拥有 sudo 用户帐户。

  • 此帐户有助于收集配置和性能数据、执行软件清单(查找已安装的应用程序),并使用 SSH 启用无代理依赖项分析。

  • 确保为帐户启用 NOPASSWD ,以便每次使用 sudo 时,它都可以运行所需的命令,而无需请求密码。

  • 修改 sudoers 文件以禁用用户帐户的终端 (requiretty)。

  • 例如,可以在文件中添加如下所示的 /etc/sudoers 条目。

AzMigrateLeastprivuser ALL=(ALL) NOPASSWD: /usr/sbin/dmidecode, /usr/sbin/fdisk -l, /usr/sbin/fdisk -l *, /usr/bin/ls -l /proc/*/exe, /usr/bin/netstat -atnp, /usr/sbin/lvdisplay ""
Defaults:AzMigrateLeastprivuser !requiretty

  • 如果目标 Linux 分发版中未提供上述任何包,请使用以下回退命令:
- If /usr/sbin/dmidecode -s system-uuid is not available, add permissions to /usr/bin/cat /sys/class/dmi/id/product_uuid. 

- If /usr/sbin/dmidecode -t 1 isn't available, add permissions to /usr/sbin/lshw "" 

- If /usr/sbin/dmidecode system-manufacturer isn't available, add permissions to /usr/bin/cat /sys/devices/virtual/dmi/id/sys_vendor 

- If /usr/bin/netstat isn't available, add permissions to /usr/sbin/ss -atnp 

  • 在目标服务器上运行的命令列表以及它们所收集的信息。 了解详细信息
  • 下面是受支持的 Linux作系统分发版的列表。
操作系统 版本
Red Hat Enterprise Linux 5.1、5.3、5.11、6.x、7.x、8.x、9.x、9.5
Ubuntu 524.04, 22.04, 12.04, 14.04, 16.04, 18.04, 20.04, 22.04
Oracle Linux 6.1、6.7、6.8、6.9、7.2、7.3、7.4、7.5、7.6、7.7、7.8、7.9、8、8.1、8.3、8.5
SUSE Linux 10、11 SP4、12 SP1、12 SP2、12 SP3、12 SP4、15 SP2、15 SP3
Debian 7、8、9、10、11
Amazon Linux 2.0.2021
CoreOS 容器 2345.3.0
Alma Linux 8.x、9.x
Rocky Linux 8.x、9.x

注意

  • 建议设置最低特权 sudo 帐户。 具有所提及权限的超集的任何帐户(如 root)也可用于 Linux 发现。
  • 建议按照上述步骤设置非根帐户。 不再建议使用 setcap 来设置功能。

生成项目密钥

若要生成项目密钥,请执行以下步骤:

  1. “服务器”、“数据库”和“Web 应用>Azure Migrate:发现和评估”中,选择“ 发现”。

  2. 在“发现服务器”>“服务器是否已虚拟化?”中,选择“物理或其他(AWS、GCP、Xen 等)”

  3. 生成项目密钥,输入要设置为发现物理服务器或虚拟服务器的 Azure Migrate 设备的名称。 该名称应是字母数字,且长度不得超过 14 个字符。

  4. 选择“ 生成密钥 ”开始创建所需的 Azure 资源。 创建资源时,保持“发现服务器”页处于打开状态。

  5. 成功创建资源后,将生成 项目密钥

  6. 复制密钥,因为需要在设备安装过程中注册设备。

    显示如何生成密钥的屏幕截图。

下载安装程序脚本

  1. 在“下载 Azure Migrate 设备”中选择“下载”
  2. 验证安全性:在安装之前,请检查压缩文件是否安全。 在下载文件的服务器上,以管理员身份打开命令窗口。
  3. 运行以下命令以生成压缩文件的哈希:
    • C:\>CertUtil -HashFile <file_location> [Hashing Algorithm]
    • 例如:C:\>CertUtil -HashFile C:\Users\administrator\Desktop\AzureMigrateInstaller.zip SHA256
  4. 验证最新的设备版本和哈希值,以确保它们匹配。
下载 哈希值
最新版本 c88e90691ebf87166243dafb2d3a18dd34066b4624595ee3f9b4fbe6885e81da

注意

可以使用同一脚本为 Azure 公共云和 Azure 政府云设置物理设备。

运行 Azure Migrate 安装程序脚本

运行安装程序脚本:

  1. 将压缩文件解压缩到要在其中安装设备的服务器上的文件夹。 确保不要在已有 Azure Migrate 设备的服务器上运行脚本。

  2. 在该服务器上以管理员权限打开 PowerShell。

  3. 转到从压缩下载中提取文件的文件夹。 运行使用以下命令命名 AzureMigrateInstaller.ps1 的脚本: PS C:\Users\administrator\Desktop\AzureMigrateInstaller> .\AzureMigrateInstaller.ps1

  4. 从场景、云和连接选项中进行选择,以部署具有所需配置的设备。 例如,下面所示的选择会在 Azure 公有云上已建立默认(公共终结点)连接的 Azure Migrate 项目中,设置一个设备,用于发现和评估物理服务器(或在 AWS、GCP、Xen 等其他云上运行的服务器)

    显示如何设置设备的屏幕截图。

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

    1. 安装代理和 Web 应用程序。
    2. 安装 Windows 激活服务、IIS 和 PowerShell ISE 等 Windows 角色。
    3. 下载并安装 IIS 可重写模块。
    4. 使用 Azure Migrate 设置来更新注册表项 (HKLM)。
    5. 在路径下创建这些文件:
      • 配置文件: %Programdata%\Microsoft Azure\Config
      • 日志文件: %Programdata%\Microsoft Azure\Logs

脚本成功运行后,它会自动启动设备配置管理器。

注意

如果遇到任何问题,可以在以下位置 C:\ProgramData\Microsoft Azure\Logs\AzureMigrateScenarioInstaller_Timestamp.log to troubleshoot找到脚本日志。

验证设备的 Azure 访问权限

确保设备连接到 Azure 的 公共云政府云 的 URL。

配置设备

首次设置设备:

  1. 在连接到设备的任何计算机上打开浏览器。 转到设备 Web 应用 URL:https://[设备名称或 IP 地址]:44368。 或者通过选择快捷方式从桌面打开应用。

  2. 接受许可条款并阅读合作伙伴信息。

设置先决条件并注册设备

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

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

    • 选择 “设置代理 ”并输入代理地址 (http://ProxyIPAddress 或者 http://ProxyFQDN,其中 FQDN 表示完全限定的域名) 和侦听端口。
    • 如果代理需要身份验证,请输入凭据。
    • 如果添加或更改代理设置或禁用代理或身份验证,请选择“ 保存 ”以应用更改并再次检查连接。

    注意

    仅支持 HTTP 代理。

  2. 时间同步:检查设备时间是否与 Internet 时间匹配。 这是使发现正常工作所必需的。

  3. 安装更新并注册设备:按照步骤运行自动更新并注册设备。

    显示安装更新并注册设备的屏幕截图。

  4. 若要在设备上启用自动更新,请粘贴从门户复制的项目密钥。

  5. 如果没有密钥,请转到 Azure Migrate发现和评估>概述>管理现有设备

  6. 选择创建项目密钥时使用的设备名称,然后复制其中显示的密钥。

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

  8. 若要注册设备,请选择“登录”。 在 继续使用 Azure 登录 中,选择 复制代码和登录 以复制设备代码。 需要此代码才能登录到 Azure。 浏览器将打开一个新的选项卡,其中包含 Azure 登录提示。 请确保关闭弹出窗口拦截器以看到提示信息。

    显示如何继续登录 Azure 的屏幕截图。

  9. 在新浏览器选项卡中,粘贴设备代码并使用 Azure 用户名和密码登录。 无法使用 PIN 登录。

注意

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

  1. 成功登录后,返回到显示设备配置管理器的浏览器选项卡。
  2. 如果使用的 Azure 帐户对在密钥生成期间创建的 Azure 资源具有适当的权限,则设备将开始注册。
  3. 设备成功注册后,选择“ 查看详细信息 ”以查看注册信息。
  4. 可以在设备设置期间随时再次运行必备组件,以检查它是否符合所有要求。

添加凭据

现在,将设备连接到物理服务器并开始发现:

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

  2. 对于 Windows 服务器:

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

    1. 输入凭据的易记名称。
    2. 添加用户名和密码,然后选择“ 保存”。
  4. 如果对 Linux 服务器使用基于 SSH 密钥的身份验证:

    1. 选择源类型作为 Linux 服务器(基于 SSH 密钥)。
    2. 输入凭据的易记名称。
    3. 添加用户名。
    4. 浏览并选择 SSH 私钥文件。
    5. 选择“保存”。

    注意

    • Azure Migrate 支持通过 RSA、DSA、ECDSA 和 ed25519 算法通过 ssh-keygen 命令创建的 SSH 私钥。
    • 它不支持使用通行短语的 SSH 密钥。 使用没有通行短语的密钥。
    • 它不支持 PuTTY 创建的 SSH 私钥文件。
    • 它支持 OpenSSH 格式的 SSH 私钥文件。
  5. 若要同时添加多个凭据,请选择 “添加更多 ”以保存并输入更多凭据。 设备支持使用多个凭据来发现物理服务器。

注意

默认情况下,设备使用凭据收集有关已安装的应用程序、角色和功能的数据。 它还从 Windows 和 Linux 服务器收集依赖项数据,除非在最后一步关闭滑块以跳过这些操作。

添加服务器详细信息

  1. 提供物理或虚拟服务器 详细信息。

  2. 选择“添加发现源”,以输入服务器 IP 地址或 FQDN 以及用于连接到服务器的凭据的易记名称。

    1. 默认情况下,设备使用 WinRM 端口 5986(HTTPS)与 Windows 服务器通信,为 Linux 服务器使用端口 22(TCP)。
    2. 如果目标 Hyper-V 服务器未设置 HTTPS 先决条件 ,设备会切换到 WinRM 端口 5985(HTTP)。

    显示物理或虚拟服务器详细信息的屏幕截图。

    1. 若要在不回退的情况下使用 HTTPS 通信,请打开设备配置管理器中的 HTTPS 协议切换。
    2. 启用复选框后,请确保在目标服务器上配置了先决条件。 如果服务器没有证书,则当前服务器和新添加的服务器上的发现都失败。
      1. WinRM HTTPS 需要本地计算机服务器身份验证证书。 证书必须具有与主机名匹配的 CN。 它不得过期、撤销或自行签署。 了解详细信息
  3. 您可以一次添加单个项,或者一起添加多个项。 还可以通过 导入 CSV 文件提供服务器详细信息。

    显示如何添加物理发现源的屏幕截图。

    1. 如果选择 “添加单个项”,请选择 OS 类型。
    2. 输入凭据的易记名称,并添加服务器的“IP 地址或 FQDN”
    3. 选择“保存”。
    4. 如果选择 “添加多个项”,请通过指定服务器 IP 地址或 FQDN 一次性输入多个记录。
    5. 在文本框中输入凭证的易记名称。
    6. 验证记录,然后选择“ 保存”。
    7. 如果选择 “导入 CSV”(默认情况下已选中),请下载 CSV 模板文件。
    8. 将服务器的 IP 地址或 FQDN 填入其中。
    9. 输入凭据的易记名称。 然后将文件导入设备。
    10. 验证记录,然后选择“ 保存”。
  4. 选择 “保存”时,设备将验证与添加的服务器的连接,并在每个服务器旁边的表中显示 验证状态

    1. 如果服务器验证失败,可以通过在“状态”列中选择 “验证失败 ”来查看错误。 修复问题并再次验证。
    2. 若要删除服务器,请选择“删除”
  5. 可以在启动发现之前随时 重新验证 与服务器的连接。

  6. 在开始发现之前,可以关闭滑块,以跳过添加的服务器上的软件清单和无代理依赖项分析。 随时可以更改此选项。

  7. 若要发现 SQL Server 实例和数据库,请添加额外的凭据(Windows 域、非域或 SQL 身份验证)。 然后,设备会尝试将这些凭据自动映射到 SQL 服务器。 如果添加域凭据,设备会使用域的 Active Directory 对它们进行身份验证,以防止用户帐户锁定。 若要检查域凭据是否有效,请执行以下步骤:

    1. 在 Configuration Manager 凭据表中,可以看到域凭据的 验证状态 。 只验证域凭据。
    2. 如果使用域帐户,用户名必须采用 Down-Level 格式(域\用户名)。 不支持 UPN 格式(username@___domain.com)。
    3. 如果验证失败,可以选择“失败”状态以查看错误。 修复此问题,然后选择 “重新验证凭据 ”以重试。

启动发现

选择 “开始发现 ”以开始发现已验证的服务器。 发现开始后,您可以在表中检查每个服务器的发现状态。

发现的工作原理

  • 发现 100 台服务器并在 Azure 门户中显示其元数据大约需要 2 分钟。
  • 服务器发现完成后,软件清单(已安装的应用程序发现)会自动启动。
  • 发现已安装的应用程序的时间取决于服务器数。 对于 500 台服务器,清单大约需要一小时才会显示在门户中的 Azure Migrate 项目中。
  • 在软件清单期间检查并验证服务器凭据,以便进行无代理依赖项分析。 服务器发现完成后,可以在门户中启用 无代理依赖项分析 。 只能选择通过验证的服务器。

验证门户中的服务器

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

  1. 打开 Azure Migrate 仪表板。
  2. “服务器”、“数据库和 Web 应用>Azure Migrate:发现和评估 ”页中,选择显示已发现服务器的计数的图标。

查看许可证支持状态

可以从 “发现的服务器 ”和 “已发现的数据库实例 ”部分更深入地了解环境的支持状况。

操作系统许可证支持状态列显示操作系统是处于主流支持、扩展支持还是不支持状态。 选择支持状态时,右侧将打开一个窗格,并明确指导可以采取哪些作来保护受扩展支持或不受支持的服务器和数据库。

若要查看支持结束前的剩余时间,请选择“列”>“距离支持结束还剩”>“提交”。 “距离支持结束还剩”列随后会显示剩余的时间(以月为单位)。

数据库实例 ”部分显示 Azure Migrate 发现的实例数。 选择要查看数据库实例详细信息的数字。 数据库实例许可证支持状态显示每个实例的支持状态。 选择支持状态时,右侧会打开一个窗格,并提供关于如何保护属于扩展支持或不受支持状态的服务器和数据库的明确指导。

若要查看距离支持结束还剩几个月,请选择“列”>“距离支持结束还剩”>“提交”。 “距离支持结束还剩”列随后会显示剩余的时间(以月为单位)。

删除服务器

发现开始后,可以通过在 “添加发现源 ”表中搜索服务器名称并选择“ 删除”,从设备配置管理器中删除任何添加的服务器。

注意

如果在发现启动后删除服务器,则会停止正在进行的发现和评估。 此操作可能会影响包含服务器的评估中的信心评级。 了解详细信息

后续步骤

尝试通过 Azure Migrate 的发现和评估功能评估 物理服务器