验证 Azure Stack Hub 的数据中心网络集成

使用 Azure Stack Hub 就绪性检查器工具 (AzsReadinessChecker) 验证数据中心网络是否已准备好部署 Azure Stack Hub。 在 Azure Stack Hub 部署之前验证数据中心网络集成。

可在两种不同模式下运行就绪性检查器工具中的网络验证。 在接收 Azure Stack Hub 硬件之前,使用设备模式来验证数据中心网络准备情况。 设备模式要求使用包含本文后面所列硬件规范的物理服务器。 Azure Stack Hub 硬件到达并连接到数据中心网络后,通过在 Azure Stack Hub 的硬件生命周期主机上运行就绪性检查程序工具来使用 HLH 模式。 HLH 模式不需要额外的硬件。

就绪性检查器会验证下列项:

  • 边界连接
  • 交换机配置
  • DNS 集成
  • DNS 转发器
  • 时间服务器
  • Microsoft Entra 连接
  • AD FS 和 Graph 连接性
  • 重复的 IP 地址分配

有关 Azure Stack Hub 数据中心集成的详细信息,请参阅 Azure Stack 的网络集成规划

获取就绪性检查器工具

PowerShell 库下载最新版本的 Azure Stack Hub 就绪性检查器工具 (AzsReadinessChecker)。

PowerShell 库下载最新版本的 Posh-SSH 模块。

获取虚拟路由器映像

Azure Stack Hub 就绪性检查程序工具使用基于 SONiC 交换机操作系统的虚拟路由器映像。 在 https://aka.ms/azssonic 下载适用于 Hyper-V 的 SONiC 虚拟交换机映像的最新版本。

硬件先决条件

硬件要求仅适用于在设备模式下运行就绪性检查程序。

可在满足以下最低要求的硬件设备上运行就绪性检查程序工具:

  • 具有硬件虚拟化功能的单个 x64 CPU
  • 8 GB RAM
  • 64 GB 本地存储
  • 网络接口的数量和类型等于边界交换机连接的数量和类型,例如 4 x SFP28 网络端口
  • 标准 KVM 输入/输出

请注意,在使用 BGP 路由时,就绪性检查器设备中的网络接口数可少于边界连接的数量。 每次验证一个边框连接。 拥有四个单独的网络接口可提供最佳体验。 请参阅边界连接性,了解路由注意事项。

软件必备项

软件先决条件适用于在设备和 HLH 模式下运行就绪性检查程序。

运行该工具的计算机必须具有以下软件:

在设备模式下验证数据中心网络集成

  1. 将符合先决条件的物理设备直接连接到为 Azure Stack Hub 指定的具有适当类型的网络电缆和收发器的边界交换机端口。

  2. 打开管理 PowerShell 提示符,然后运行以下命令以初始化 AzsReadinessChecker:

    Import-Module Microsoft.AzureStack.ReadinessChecker
    
  3. 在 PowerShell 提示符下,运行以下命令开始验证。 为 -DeploymentDataPath 和 -VirtualRouterImagePath 参数指定正确的值。

    Invoke-AzsNetworkValidation -DeploymentDataPath C:\DeploymentData.json -VirtualRouterImagePath C:\sonic-vs.vhdx
    
  4. 运行该工具后,查看输出。 确认所有测试的状态都为“正常”。 如果状态不为“正常”,请查看详细信息和日志文件以了解其他信息。

在 HLH 模式下验证数据中心网络集成

  1. 使用 HLHAdmin 帐户登录到 HLH。

  2. 打开管理 PowerShell 提示符,然后运行以下命令以初始化 AzsReadinessChecker:

    Import-Module Microsoft.AzureStack.ReadinessChecker
    
  3. 在 PowerShell 提示符下,运行以下命令开始验证。 为 -DeploymentDataPath 和 -VirtualRouterImagePath 参数指定正确的值。

    Invoke-AzsNetworkValidation -DeploymentDataPath C:\DeploymentData.json -VirtualRouterImagePath C:\sonic-vs.vhdx -HLH
    
  4. 运行该工具后,查看输出。 确认所有测试的状态都为“正常”。 如果状态不为“正常”,请查看详细信息和日志文件以了解其他信息。

语法

Invoke-AzsNetworkValidation
    -DeploymentDataPath <String>
    [-RunTests <String[]>]
    [-SkipTests <String[]>]
    [-VirtualRouterImagePath <String>]
    [-DnsName <String>]
    [-MtuTestDestination <String>]
    [-CustomCloudArmEndpoint <Uri>]
    [-CustomUrl <Uri[]>]
    [-OutputPath <String>]
    [-CleanReport]
    [<CommonParameters>]
Invoke-AzsNetworkValidation
    -DeploymentDataPath <String>
    [-VirtualRouterImagePath <String>]
    [-CustomCloudArmEndpoint <Uri>]
    [-VirtualSwitchName <String>]
    [-NoUplinksRequired]
    [-NetworkToTest <String>]
    [-HLH]
    [-OutputPath <String>]
    [-CleanReport]
    [<CommonParameters>]

参数

-CleanReport

删除以前的所有进度并创建干净的报表。

Type: SwitchParameter
Parameter Sets: (All)
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

-CustomCloudArmEndpoint

自定义云的 Azure 资源管理器终结点 URI。

Type: String
Parameter Sets: (All)
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-CustomUrl

要测试的其他 URL 的列表。

Type: String[]
Parameter Sets: Hub
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-DeploymentDataPath

由部署工作表创建的 Azure Stack Hub 部署配置文件的路径。

Type: String
Parameter Sets: (All)
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-DnsName

要为 DNS 测试解析的 DNS 名称。

Type: String
Parameter Sets: (All)
Position: Named
Default value: management.azure.com
Accept pipeline input: False
Accept wildcard characters: False

-HLH

指示就绪性检查程序的 HLH 模式。

Type: SwitchParameter
Parameter Sets: HLH
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

-MtuTestDestination

用于网络路径 MTU 测试的 DNS 名称或 IP 地址。

Type: String
Parameter Sets: Hub
Position: Named
Default value: go.microsoft.com
Accept pipeline input: False
Accept wildcard characters: False

-NetworkToTest

允许仅对其中一种网络执行测试。 默认情况下,执行 BMC 和外部网络的测试。

Type: String
Parameter Sets: HLH
Accepted values: BmcNetworkOnly, ExternalNetworkOnly
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

-NoUplinksRequired

指示应跳过 P2P 接口上的 ping 测试。

Type: SwitchParameter
Parameter Sets: HLH
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

-OutputPath

日志和报表输出的目录路径。

Type: String
Parameter Sets: (All)
Position: Named
Default value: $env:TEMP\AzsReadinessChecker
Accept pipeline input: False
Accept wildcard characters: False

-RunTests

要运行的测试的列表。 默认情况下,运行所有测试。

Type: String[]
Parameter Sets: Hub
Accepted values: LinkLayer, PortChannel, BorderUplink, IPConfig, BgpPeering, BgpDefaultRoute, DnsServer, PathMtu, TimeServer, SyslogServer, AzureEndpoint, AdfsEndpoint, Graph, DuplicateIP, DnsDelegation
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-SkipTests

要跳过的测试的列表。 默认情况下,不会跳过任何测试。

Type: String[]
Parameter Sets: Hub
Accepted values: PortChannel, BorderUplink, IPConfig, BgpPeering, BgpDefaultRoute, DnsServer, PathMtu, TimeServer, SyslogServer, AzureEndpoint, AdfsEndpoint, Graph, DuplicateIP, DnsDelegation
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-VirtualRouterImagePath

sonic-vs.vhdx 映像的完整路径。

Type: String
Parameter Sets: (All)
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-VirtualSwitchName

HLH 上的外部 Hyper-V 交换机名称。

Type: String
Parameter Sets: HLH
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

报表和日志文件

每次运行验证时,它都会将结果记录到 AzsReadinessChecker.logAzsReadinessCheckerReport.json 中。 这些文件的位置会随验证结果一起显示在 PowerShell 中。

验证文件可以帮助你在部署 Azure Stack Hub 之前共享状态,或者调查验证问题。 这两个文件都会持久保留每个后续验证检查的结果。 报告将向部署团队提供标识配置确认。 日志文件可以帮助你的部署或支持团队调查验证问题。

这两个文件默认写入到 C:\Users\<username>\AppData\Local\Temp\AzsReadinessChecker\

使用:

  • -OutputPath:在 run 命令末尾的 path 参数,指定不同的报告位置。
  • -CleanReport:在 run 命令末尾的参数,清除前述报告信息的 AzsReadinessCheckerReport.json。 有关详细信息,请参阅 Azure Stack Hub 验证报告

验证失败

如果验证检查失败,则有关失败的详细信息将显示在 PowerShell 窗口中。 该工具还会将信息记录到 AzsReadinessChecker.log 中。

后续步骤

查看就绪性报表
有关 Azure Stack Hub 集成的一般注意事项