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

教程:使用 Azure Migrate:发现和评估发现物理服务器

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

本教程演示如何使用 Azure Migrate:发现和评估工具发现本地物理服务器:服务器评估工具,使用轻型 Azure Migrate 设备。 需要将设备部署为物理服务器,以持续发现服务器和性能元数据。

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

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

注意

教程显示尝试方案的最快路径,并使用默认选项。

如果没有 Azure 订阅,请在开始之前创建一个免费帐户

先决条件

在开始本教程之前,请确保满足这些先决条件。

要求 详细信息
设备 需要一台服务器来运行 Azure Migrate 设备。 服务器应拥有:

- 已安装 Windows Server 2016。
(目前只有 Windows Server 2016 支持设备部署。)

- 16 GB RAM,8 个 vCPU,约 80 GB 磁盘存储

- 静态或动态 IP 地址,可直接访问或通过代理访问 Internet。

- 从设备到所需 URL 的出站 Internet 连接。
Windows 服务器 允许在 WinRM 端口 5985 (HTTP) 上进行入站连接,以便发现 Windows 服务器。
Linux 服务器 允许在端口 22 (TCP) 上进行入站连接,以便发现 Linux 服务器。

注意

不支持在安装了复制设备或移动服务代理的服务器上安装 Azure Migrate 设备。 确保以前未使用设备服务器来设置复制设备,也未在服务器上安装移动服务代理。

准备 Azure 用户帐户

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

  • Azure 订阅的参与者或所有者权限。
  • 用于注册 Azure Active Directory 应用的权限。

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

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

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

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

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

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

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

    Azure 门户中的“添加角色分配”页。

  5. 若要注册设备,Azure 帐户需要有“注册 Azure Active Directory 应用的权限”。

  6. 在 Azure 门户中,导航到“Azure Active Directory”“用户”“用户设置”。

  7. 在“用户设置”中,验证 Azure AD 用户是否可以注册应用程序(默认情况下设置为“是”) 。

    在用户设置中,验证用户是否可以注册 Active Directory 应用。

  8. 如果“应用注册”设置设置为“否”,请请求租户/全局管理员分配所需的权限。 或者,租户/全局管理员可将“应用程序开发人员”角色分配给帐户,以允许注册 Azure Active Directory 应用。 了解详细信息

准备 Windows Server

对于 Windows 服务器,针对已加入域的服务器使用域帐户,针对未加入域的服务器使用本地帐户。 可以通过以下两种方式之一创建用户帐户:

选项 1

  • 在服务器上创建具有管理员权限的帐户。 此帐户可用于通过 CIM 连接拉取配置和性能数据,执行软件清单(发现已安装的应用程序)并使用 PowerShell 远程处理启用无代理依赖项分析。

注意

如果要在 Windows 服务器上执行软件清单(发现已安装的应用程序)并启用无代理依赖项分析,建议使用选项 1。

方法 2

  • 应将用户帐户添加到这些组:远程管理用户、性能监视器用户和性能日志用户。

  • 如果“远程管理用户”组不存在,请将用户帐户添加到以下组:WinRMRemoteWMIUsers_。

  • 该帐户需要拥有这些权限才能让设备创建与服务器的 CIM 连接,并从此处列出的 WMI 类中拉取所需的配置和性能元数据。

  • 在某些情况下,将帐户添加到这些组可能不会从 WMI 类返回所需的数据,因为该帐户可能由 UAC 筛选。 要绕过 UAC 筛选,用户帐户需在目标服务器上的 CIMV2 命名空间和子命名空间中拥有所需的权限。 可按此处所述的步骤启用所需的权限。

    注意

    对于 Windows Server 2008 和 2008 R2,请确保在服务器上安装了 WMF 3.0。

注意

要在 Windows Server 上发现 SQL Server 数据库,需要同时支持 Windows 和 SQL Server 身份验证。 可以在设备配置管理器中提供这两种身份验证类型的凭据。 Azure Migrate 需要 Windows 用户帐户,该帐户属于其中一个 sysadmin 服务器角色。

准备 Linux 服务器

对于 Linux 服务器,可以通过以下两种方式之一创建用户帐户:

选项 1

  • 在要发现的服务器上需有一个 sudo 用户帐户。 此帐户可用于通过 SSH 连接拉取配置和性能元数据、执行软件清单(发现已安装的应用程序)并启用无代理依赖项分析。
  • 需要为此处列出的命令启用 sudo 访问权限。 除了这些命令,若要执行无代理依赖项分析,用户帐户还需要具有执行 ls 和 netstat 命令的权限。
  • 确保 NOPASSWD 已启用,以便帐户能够运行所需的命令,且不会在每次调用 sudo 命令时都提示用户输入密码。
  • 此处列出了支持使用具有 sudo 访问权限的帐户通过 Azure Migrate 发现的 Linux OS 发行版。

注意

如果要在 Linux 服务器上执行软件清单(发现已安装的应用程序)并启用无代理依赖项分析,建议使用选项 1。

方法 2

  • 如果无法提供具有 sudo 访问权限的用户帐户,可以在设备服务器的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AzureAppliance 注册表中将“isSudo”注册表项的值设置为“0”,并使用以下命令为非根帐户提供所需的功能:

    命令 用途
    setcap CAP_DAC_READ_SEARCH+eip /usr/sbin/fdisk

    setcap CAP_DAC_READ_SEARCH+eip /sbin/fdisk
    收集磁盘配置
    setcap "cap_dac_override,cap_dac_read_search,cap_fowner,cap_fsetid,cap_setuid,
    cap_setpcap,cap_net_bind_service,cap_net_admin,cap_sys_chroot,cap_sys_admin,
    cap_sys_resource,cap_audit_control,cap_setfcap=+eip" /sbin/lvm
    收集磁盘性能数据
    setcap CAP_DAC_READ_SEARCH+eip /usr/sbin/dmidecode 收集 BIOS 序列号
    chmod a+r /sys/class/dmi/id/product_uuid 收集 BIOS GUID
  • 若要在服务器上执行无代理依赖项分析,请确保也使用以下命令对 /bin/netstat 和 /bin/ls 文件设置了所需的权限:
    sudo setcap CAP_DAC_READ_SEARCH,CAP_SYS_PTRACE=ep /bin/ls
    sudo setcap CAP_DAC_READ_SEARCH,CAP_SYS_PTRACE=ep /bin/netstat

设置项目

设置新项目。

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

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

  3. 在“概述”中,选择“创建项目” 。

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

  5. 在“项目详细信息”中,指定项目名称以及要在其中创建项目的地理位置。 查看公有云政府云支持的地理位置。

    项目名称和区域的屏幕截图。

    注意

    使用“高级”配置部分,创建具有专用终结点连接的 Azure Migrate 项目。 了解详细信息

  6. 选择“创建”。

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

    显示默认添加的服务器评估工具的页面。

注意

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

设置设备

Azure Migrate 设备执行服务器发现并将服务器配置和性能元数据发送到 Azure Migrate。 可以通过执行 PowerShell 脚本来设置设备,该脚本可从项目下载。

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

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

1.生成项目密钥

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

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

  3. 在“1: 生成项目密钥”中,提供将为发现物理或虚拟服务器而设置的 Azure Migrate 设备的名称。 该名称应是字母数字,长度为 14 个或更少的字符。

  4. 选择“生成密钥”,开始创建所需的 Azure 资源。 在创建资源期间,请不要关闭发现服务器页。

  5. 成功创建 Azure 资源后,会生成一个项目密钥

  6. 复制该密钥,因为配置设备时需要输入该密钥才能完成设备注册。

    “生成密钥”的选项。

2.下载安装程序脚本

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

验证安全性

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

  1. 在下载文件的服务器上,打开管理员命令窗口。

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

    • C:\>CertUtil -HashFile <file_location> [Hashing Algorithm]
    • 用法示例:C:\>CertUtil -HashFile C:\Users\administrator\Desktop\AzureMigrateInstaller.zip SHA256
  3. 验证最新设备版本和哈希值:

    下载 哈希值
    最新版本 277c53620db299f57e3ac5a65569e9720f06190a245476810b36bf651c8b795b

注意

可以使用同一脚本为已连接到公共或专用终结点的 Azure 公有云或 Azure 政府云设置物理设备。

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

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

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

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

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

    PS C:\Users\administrator\Desktop\AzureMigrateInstaller> .\AzureMigrateInstaller.ps1

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

    显示如何设置具有所需配置的设备的屏幕截图。

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

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

成功执行该脚本后,将自动启动设备配置管理器。

注意

如果遇到任何问题,可以访问位于 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 设备中的新用户体验,仅在你使用从门户下载的最新 OVA/安装程序脚本设置设备后才可用。 已注册的设备会继续看到较旧版本的用户体验,并且会继续正常工作,没有任何问题。

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

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

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

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

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

      注意

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

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

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

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

启动持续发现

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

  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 私钥文件。
    • SSH 密钥文件支持使用 CRLF 在上传的文本文件中标记换行符。 在 Linux 系统上创建的 SSH 密钥最常使用 LF 作为换行符,因此你可以通过在 vim 中打开文件、键入 :set textmode 并保存文件来将其转换为 CRLF。
    • 如果 Linux 服务器支持旧版 RSA 密钥,则你可以使用 $ ssh-keygen -m PEM -t rsa -b 4096 命令生成密钥。
    • 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 连接属性的屏幕截图。

验证门户中的服务器

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

  1. 打开 Azure Migrate 仪表板。
  2. Azure Migrate - 服务器Azure Migrate:发现和评估页中,单击显示了已发现服务器计数的图标。

删除服务器

启动发现后,可通过以下方法从设备配置管理器中删除任何添加的服务器:在“添加发现源”表中搜索服务器名称并单击“删除” 。

注意

如果你选择删除已启动发现的服务器,它将停止正在进行的发现和评估,这可能影响包括此服务器的评估的置信度评级。 了解详细信息

后续步骤