评估 Azure 本地版本 23H2 环境的部署准备情况

适用于:Azure 本地版本 23H2

本文介绍如何在独立模式下使用 Azure 本地环境检查器来评估环境部署 Azure 本地解决方案的就绪程度。

若要顺利部署 Azure 本地解决方案,IT 环境必须满足连接、硬件、网络和 Active Directory 的某些要求。 Azure 本地环境检查器是一种就绪情况评估工具,用于检查这些最低要求,并帮助确定 IT 环境是否已准备就绪。

关于环境检查器工具

环境检查器工具在 Azure 本地实例中的每个计算机上运行一系列测试,报告每个测试的结果,在可用时提供修正指南,并保存日志文件和详细的报告文件。

环境检查器工具由以下验证程序组成:

  • 连接验证程序。 检查系统中的每台计算机是否满足 连接要求。 例如,系统中的每台计算机都有 Internet 连接,并且可以通过 HTTPS 出站流量通过所有防火墙和代理服务器连接到已知的 Azure 终结点。
  • 硬件验证程序。 检查硬件 是否符合系统要求。 例如,系统中的所有计算机具有相同的制造商和型号。
  • Active Directory 验证程序。 检查 Active Directory 准备工具是否在运行部署之前运行。
  • 网络验证程序。 验证网络基础结构,了解客户为部署提供的有效 IP 范围。 例如,它会检查网络上没有使用保留 IP 范围的活动主机。
  • Arc 集成验证程序。 检查 Azure Local 是否满足成功加入 Arc 的所有先决条件。

为何使用环境检查器?

可以运行环境检查器以:

  • 在部署任何将来的更新或升级之前,请确保 Azure 本地基础结构已准备就绪。
  • 确定可能阻止部署的问题,例如未运行预部署 Active Directory 脚本。
  • 确认满足最低要求。
  • 尽早快速识别和修正小问题,例如配置错误的防火墙 URL 或错误的 DNS。
  • 自行识别和修正差异,并确保当前环境配置符合 Azure 本地系统要求。
  • 收集诊断日志并获取远程支持以排查任何验证问题。

环境检查器模式

可以在两种模式下运行环境检查器:

  • 集成工具:环境检查器功能集成到部署过程中。 默认情况下,所有验证程序都在部署期间运行,以执行预部署就绪性检查。

  • 独立工具:可从 Windows PowerShell 库免费下载此轻型 PowerShell 工具。 可以在部署过程之外随时运行独立工具。 例如,即使在收到实际硬件之前,也可以运行它,以检查是否满足所有连接要求。

本文介绍如何在独立模式下运行环境检查器。

先决条件

在开始之前,请完成以下任务:

  • 查看 Azure 本地系统要求
  • 查看 Azure 本地的防火墙要求。
  • 请确保有权访问在部署 Azure 本地实例的网络上运行的客户端计算机。
  • 确保使用的客户端计算机正在运行 PowerShell 5.1 或更高版本。
  • 请确保你有权验证 Active Directory 准备工具是否已运行。

安装环境检查器

环境 检查器 适用于内置于 Windows 中的 PowerShell 5.1。

可以在客户端计算机、过渡服务器或 Azure 本地计算机上安装环境检查器。 但是,如果在 Azure 本地计算机上安装,请确保在 开始部署之前将其卸载 ,以避免任何潜在的冲突。

若要安装环境检查器,请执行以下步骤:

  1. 以管理员身份运行 PowerShell(5.1 或更高版本)。 如果需要安装 PowerShell,请参阅 在 Windows 上安装 powershell

  2. 输入以下 cmdlet 以安装最新版本的 PowerShellGet 模块:

    Install-Module PowerShellGet -AllowClobber -Force
    
  3. 安装完成后,关闭 PowerShell 窗口并以管理员身份打开一个新的 PowerShell 会话。

  4. 在新 PowerShell 会话中,将 PowerShell 库注册为受信任的存储库:

    Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
    
  5. 输入以下 cmdlet 以安装环境检查器模块:

    Install-Module -Name AzStackHci.EnvironmentChecker
    
  6. 如果系统提示,请按 Y (是)或 A (全部是)安装模块。

运行就绪情况检查

环境检查器工具中的每个验证程序都会检查特定的设置和要求。 可以通过在 Azure 本地系统的每台计算机上调用各自的 PowerShell cmdlet,或者从部署 Azure 本地的网络上的任何计算机调用这些验证程序。

可以从以下位置运行验证程序:

  • 通过 PowerShell 会话远程进行。

  • 从工作站或过渡服务器本地。

  • 从 Azure 本地计算机本地计算机本地。 但是,在开始部署之前,请务必卸载环境检查器,以避免任何潜在的冲突。

选择以下每个选项卡,了解有关相应验证程序的详细信息。

使用连接验证程序检查系统中的所有计算机是否具有 Internet 连接并满足最低连接要求。 有关连接先决条件,请参阅 Azure 本地防火墙要求。

可以使用连接验证程序来:

  • 在收到实际硬件之前,请检查计算机的连接。 可以从部署 Azure 本地系统的网络中的任何客户端计算机运行连接验证程序。
  • 部署系统后,请检查系统中所有计算机的连接。 可以通过在每个计算机上本地运行验证程序 cmdlet 来检查每台计算机的连接。 或者,可以从过渡服务器远程连接,以检查一台或多台计算机的连接。

运行连接验证程序

若要运行连接验证程序,请执行以下步骤。

  1. 在本地工作站、过渡服务器或 Azure 本地计算机上打开 PowerShell。

  2. 输入以下 cmdlet 运行连接验证:

    Invoke-AzStackHciConnectivityValidation 
    

    注意

    使用不带任何参数的 Invoke-AzStackHciConnectivityValidation cmdlet 会检查从设备启用的所有服务终结点的连接。 还可以传递参数来运行特定方案的就绪情况检查。 请参阅以下示例。

下面是使用参数运行连接验证程序 cmdlet 的一些示例。

示例 1:检查远程计算机的连接性

在此示例中,你将从工作站或过渡服务器远程连接,以检查一个或多个远程系统的连接。

$session = New-PSSession -ComputerName remotesystem.contoso.com -Credential $credential
Invoke-AzStackHciConnectivityValidation -PsSession $Session

示例 2:检查特定服务的连接性

可以通过传递 Service 参数来检查特定服务终结点的连接。 在以下示例中,验证程序检查 Azure Arc 服务终结点的连接性。

Invoke-AzStackHciConnectivityValidation -Service "Arc For Servers"

示例 3:如果使用代理,请检查连接性

如果使用代理服务器,可以指定连接验证程序以通过指定的代理和凭据,如以下示例所示:

Invoke-AzStackHciConnectivityValidation -Proxy http://proxy.contoso.com:8080 -ProxyCredential $proxyCredential 

注意

连接验证程序会验证常规代理,它不会检查 Azure 本地系统是否已正确配置为使用代理。 有关如何为 Azure 本地配置防火墙的信息,请参阅 Azure 本地防火墙要求。

示例 4:检查连接并创建 PowerShell 输出对象

可以使用参数将连接检查器输出视为对象 –PassThru

Invoke-AzStackHciConnectivityValidation –PassThru

下面是输出的示例屏幕截图:

PassThru 参数的传递连接验证程序报告的屏幕截图。

连接验证程序属性

可以筛选以下任何属性,并按所需格式显示连接验证程序结果:

Attribute name 说明
EndPoint 正在验证的终结点。
协议 使用的协议 - 示例 https。
服务 正在验证的服务终结点。
操作类型 操作类型 - 部署、更新。
就绪情况检查。
系统 供内部使用。
名称 单个服务的名称。
标题 服务标题;面向用户的名称。
Severity 严重、警告、信息、隐藏。
说明 服务名称的说明。
标记 用于对或筛选测试进行分组或筛选的内部键值对。
Status 成功、失败、正在进行。
修正 指向用于修正的文档的 URL 链接。
TargetResourceID 受影响资源的唯一标识符(节点或驱动器)。
TargetResourceName 受影响的资源的名称。
TargetResourceType 受影响的资源的类型。
Timestamp 调用测试的时间。
AdditionalData 键值对的属性包以获取其他信息。
HealthCheckSource 为运行状况检查调用的服务的名称。

连接验证程序输出

以下示例是连接验证程序成功运行和失败的输出。

若要详细了解就绪情况检查报告中的不同部分,请参阅 “了解就绪情况检查”报告

示例输出:成功测试

以下示例输出来自连接验证程序的成功运行。 输出指示与所有终结点的连接正常,包括已知的 Azure 服务和可观测性服务。 在“诊断”,可以看到验证程序检查 DNS 服务器是否存在且正常。 它收集用于诊断和数据收集的 WinHttp、IE 代理和环境变量代理设置。 它还检查透明代理是否在出站路径中使用并显示输出。

运行连接验证程序后传递的报表的屏幕截图。

示例输出:测试失败

如果测试失败,连接验证程序将返回信息以帮助解决问题,如以下示例输出中所示。 “ 需求修正 ”部分显示导致失败的问题。 “ 修正 ”部分列出了相关文章,以帮助修正问题。

运行连接验证程序后失败报表的屏幕截图。

连接验证程序的潜在故障方案

在测试任何所需终结点的连接之前,连接验证程序会检查 SSL 检查。 如果在 Azure 本地系统中启用了 SSL 检查,则会出现以下错误:

连接验证失败时出错的屏幕截图。

解决方法

与网络团队协作,关闭 Azure 本地系统的 SSL 检查。 若要确认 SSL 检查已关闭,可以使用以下示例。 关闭 SSL 检查后,可以再次运行该工具以检查与所有终结点的连接。

如果收到证书验证错误消息,请为每个终结点单独运行以下命令以手动检查证书信息:

C:\> Import-Module AzStackHci.EnvironmentChecker 
C:\> Get-SigningRootChain -Uri <Endpoint-URI> | ft subject 

例如,如果要验证两个终结点的证书信息,例如 https://login.microsoftonline.com ,并 https://portal.azure.com针对每个终结点分别运行以下命令:

  • 对于 https://login.microsoftonline.com

    C:\> Import-Module AzStackHci.EnvironmentChecker 
    C:\> Get-SigningRootChain -Uri https://login.microsoftonline.com | ft subject
    

    下面是示例输出:

    Subject
    -------
    CN=portal.office.com, O=Microsoft Corporation, L=Redmond, S=WA, C=US
    CN=Microsoft Azure TLS Issuing CA 02, O=Microsoft Corporation, C=US
    CN=DigiCert Global Root G2, OU=www.digicert.com, O=DigiCert Inc, C=US
    
  • 对于 https://portal.azure.com

    C:\> Import-Module AzStackHci.EnvironmentChecker
    C:\> Get-SigningRootChain -Uri https://portal.azure.com | ft Subject 
    
    

    下面是示例输出:

    Subject
    -------
    CN=portal.azure.com, O=Microsoft Corporation, L=Redmond, S=WA, C=US
    CN=Microsoft Azure TLS Issuing CA 01, O=Microsoft Corporation, C=US
    CN=DigiCert Global Root G2, OU=www.digicert.com, O=DigiCert Inc, C=US
    

了解就绪情况检查报告

每个验证程序在完成检查后生成就绪情况检查报告。 在开始实际部署之前,请务必查看报告并更正任何问题。

每个就绪情况检查报告上显示的信息因验证程序执行的检查而异。 下表汇总了每个验证程序就绪情况检查报告中的不同部分:

描述 可用
服务 显示连接验证程序检查的每个服务终结点的运行状况状态。 检查失败的任何服务终结点都突出显示了 “需要修正 ”标记。 连接验证程序报告
诊断 显示诊断测试的结果。 例如,DNS 服务器的运行状况和可用性。 它还显示验证程序出于诊断目的收集的信息,例如 WinHttp、IE 代理和环境变量代理设置。 连接验证程序报告
硬件 显示所有物理计算机及其硬件组件的运行状况。 有关在每个硬件上执行的测试的信息,请参阅“运行就绪情况检查”部分中的“硬件”选项卡下的表。 硬件验证程序报告
AD OU 诊断 显示 Active Directory 组织单元测试的结果。 显示指定的组织单位是否存在并包含适当的子组织单位。 Active Directory 验证程序报告
网络范围测试 显示网络范围测试的结果。 如果测试失败,则会显示属于保留 IP 范围的 IP 地址。 网络验证程序报告
总结 列出成功和失败的测试计数。 失败的测试结果将展开,以显示“需要修正”下的失败详细信息。 所有报表
修正 仅当测试失败时显示。 提供指向文章的链接,该文章提供有关如何修正该问题的指导。 所有报表
日志位置(包含 PII) 提供日志文件的保存路径。 默认路径为:

- $HOME\.AzStackHci\AzStackHciEnvironmentChecker.log 在独立模式下运行环境检查器时。
- C:\CloudDeployment\Logs 当环境检查器作为部署过程的一部分运行时。

验证程序的每个运行都会覆盖现有文件。
所有报表
报表位置(包含 PII) 提供以 JSON 格式保存已完成就绪情况检查报告的路径。 默认路径为:

- $HOME\.AzStackHci\AzStackHciEnvironmentReport.json 在独立模式下运行环境检查器时。
- C:\CloudDeployment\Logs 当环境检查器作为部署过程的一部分运行时。

报告提供在每个测试期间收集的详细诊断。 此信息对系统集成商或需要联系支持团队以解决问题时非常有用。 验证程序的每个运行都会覆盖现有文件。
所有报表
完成消息 在报表结束时,显示一条消息,指出验证检查已完成。 所有报表

环境检查器结果

注意

环境检查器工具报告的结果仅在运行设置时反映设置的状态。 如果以后对 Active Directory 或网络设置进行更改,则之前成功传递的项可能会成为关键问题。

对于每个测试,验证器提供唯一问题的摘要,并将其分类为:成功、关键问题、警告问题和信息性问题。 关键问题是在继续部署之前必须修复的阻止问题。

卸载环境检查器

环境检查器随 Azure Local 一起提供,在开始部署之前,请确保将其从所有 Azure 本地计算机中卸载,以避免任何潜在的冲突。

Remove-Module AzStackHci.EnvironmentChecker -Force
Get-Module AzStackHci.EnvironmentChecker -ListAvailable | Where-Object {$_.Path -like "*$($_.Version)*"} | Uninstall-Module -force

排查环境验证问题

有关如何从Microsoft获取支持,以排查系统部署或预注册期间可能出现的任何验证问题的信息,请参阅 获取对部署问题的支持。

后续步骤