评估 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 本地计算机上安装,请确保在 开始部署之前将其卸载 ,以避免任何潜在的冲突。
若要安装环境检查器,请执行以下步骤:
以管理员身份运行 PowerShell(5.1 或更高版本)。 如果需要安装 PowerShell,请参阅 在 Windows 上安装 powershell。
输入以下 cmdlet 以安装最新版本的 PowerShellGet 模块:
Install-Module PowerShellGet -AllowClobber -Force
安装完成后,关闭 PowerShell 窗口并以管理员身份打开一个新的 PowerShell 会话。
在新 PowerShell 会话中,将 PowerShell 库注册为受信任的存储库:
Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
输入以下 cmdlet 以安装环境检查器模块:
Install-Module -Name AzStackHci.EnvironmentChecker
如果系统提示,请按 Y (是)或 A (全部是)安装模块。
运行就绪情况检查
环境检查器工具中的每个验证程序都会检查特定的设置和要求。 可以通过在 Azure 本地系统的每台计算机上调用各自的 PowerShell cmdlet,或者从部署 Azure 本地的网络上的任何计算机调用这些验证程序。
可以从以下位置运行验证程序:
通过 PowerShell 会话远程进行。
从工作站或过渡服务器本地。
从 Azure 本地计算机本地计算机本地。 但是,在开始部署之前,请务必卸载环境检查器,以避免任何潜在的冲突。
选择以下每个选项卡,了解有关相应验证程序的详细信息。
使用连接验证程序检查系统中的所有计算机是否具有 Internet 连接并满足最低连接要求。 有关连接先决条件,请参阅 Azure 本地防火墙要求。
可以使用连接验证程序来:
- 在收到实际硬件之前,请检查计算机的连接。 可以从部署 Azure 本地系统的网络中的任何客户端计算机运行连接验证程序。
- 部署系统后,请检查系统中所有计算机的连接。 可以通过在每个计算机上本地运行验证程序 cmdlet 来检查每台计算机的连接。 或者,可以从过渡服务器远程连接,以检查一台或多台计算机的连接。
运行连接验证程序
若要运行连接验证程序,请执行以下步骤。
在本地工作站、过渡服务器或 Azure 本地计算机上打开 PowerShell。
输入以下 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
下面是输出的示例屏幕截图:
连接验证程序属性
可以筛选以下任何属性,并按所需格式显示连接验证程序结果:
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获取支持,以排查系统部署或预注册期间可能出现的任何验证问题的信息,请参阅 获取对部署问题的支持。