评估 Azure Stack HCI 版本 23H2 环境的部署就绪情况

适用于:Azure Stack HCI 版本 23H2

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

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

关于环境检查器工具

环境检查器工具在 Azure Stack HCI 群集中的每个服务器上运行一系列测试,报告每个测试的结果,提供修正指导(如果可用),并保存日志文件和详细的报告文件。

环境检查器工具包含以下验证程序:

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

为何使用环境检查器?

可以运行环境检查器以:

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

环境检查器模式

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

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

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

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

先决条件

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

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

安装环境检查器

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

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

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

  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 Stack HCI 群集中的每台服务器上调用各自的 PowerShell cmdlet,或者从要部署 Azure Stack HCI 的网络上的任何计算机上调用它们各自的 PowerShell cmdlet 来运行这些验证程序。

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

  • 通过 PowerShell 会话远程。

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

  • 从 Azure Stack HCI 群集节点本地。 但是,请确保在开始部署之前卸载环境检查器,以避免任何潜在的冲突。

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

如果群集中的所有服务器都具有 Internet 连接且满足最低连接要求,请使用连接验证程序检查。 有关连接先决条件,请参阅 Azure Stack HCI 的防火墙要求

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

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

运行连接验证程序

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

  1. 在工作站、过渡服务器或 Azure Stack HCI 群集节点上本地打开 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 Stack HCI 正确配置为使用代理,则不会检查。 有关如何为 Azure Stack HCI 配置防火墙的信息,请参阅 Azure Stack HCI 的防火墙要求

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

可以使用 参数将连接检查器输出作为 对象 –PassThru 进行查看:

Invoke-AzStackHciConnectivityValidation –PassThru

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

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

连接验证程序属性

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

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

连接验证程序输出

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

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

示例输出:成功测试

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

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

示例输出:失败测试

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

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

连接验证程序的潜在故障场景

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

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

解决方法

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

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

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

例如,如果要验证两个终结点(例如 https://login.microsoftonline.comhttps://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 地址。 网络验证程序报告
摘要 Lists成功和失败的测试计数。 扩展失败的测试结果,以显示 “需要修正”下的失败详细信息。 所有报表
修正 仅当测试失败时才显示。 提供文章的链接,该文章提供有关如何修正该问题的指导。 所有报表
日志位置 (包含 PII) 提供日志文件的保存路径。 默认路径为:

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

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

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

该报告提供了在每次测试期间收集的详细诊断。 此信息对于系统集成商或需要联系支持团队进行故障排除时非常有用。 每次运行验证程序都会覆盖现有文件。
所有报表
完成消息 在报表末尾,显示一条消息,指出验证检查已完成。 所有报表

环境检查器结果

注意

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

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

卸载环境检查器

环境检查器随 Azure Stack HCI 一起提供,在开始部署之前,请确保从所有 Azure Stack HCI 群集节点中卸载它,以避免任何潜在的冲突。

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

排查环境验证问题

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

后续步骤