网络与域名解析

SDN 故障排除指南 - Windows Server

· 52CE 我爱测

本主题帮助你排查 Windows Server 2019、Windows Server 2016 和 Azure Stack HCI 中包含的软件定义的网络 (SDN) 技术的方案问题。 大多数用户都可以使用这些解决方法来解决其遇到的问题。 故障排除清单 检查引用 ACL 的 IP 配置和虚拟子网 1. 在托管两个受影响租户虚拟机 (VM) 的两台 Hyper-V 主机上运行 Get-ProviderAddress 命令。 然后,从 Hyper-V 主机运

本主题帮助你排查 Windows Server 2019、Windows Server 2016 和 Azure Stack HCI 中包含的软件定义的网络 (SDN) 技术的方案问题。 大多数用户都可以使用这些解决方法来解决其遇到的问题。

故障排除清单

检查引用 ACL 的 IP 配置和虚拟子网

  1. 在托管两个受影响租户虚拟机 (VM) 的两台 Hyper-V 主机上运行 Get-ProviderAddress 命令。 然后,从 Hyper-V 主机运行 Test-LogicalNetworkConnection 或 ping -c <compartment>,以验证 HNV 提供商逻辑网络上的连接。
  2. 确保 Hyper-V 主机上的,以及 Hyper-V 主机之间的任何第 2 层交换设备上的 MTU 设置正确。 在所有受影响的 Hyper-V 主机上运行 Test-EncapOverheadValue。 另外,检查主机之间所有第 2 层交换机上的 MTU 是否设置为至少 1,674 字节,以考虑到 160 字节的最大开销。
  3. 如果没有提供商地址 (PA) 或者客户地址 (CA) 连接已断开,请进行检查以确保已接收网络策略。 运行 Get-PACAMapping,确定是否正确建立了创建覆盖虚拟网络所需的封装规则和 CA-PA 映射。
  4. 验证网络控制器主机代理是否已连接到网络控制器。 为此,请运行 netstat -anp tcp |findstr 6640。
  5. 验证 HKLM 注册表项中的“Host ID”(主机 ID)是否与托管租户 VM 的服务器资源的“实例 ID”匹配。
  6. 验证“端口配置文件 ID”是否与租户 VM 的 VM 网络接口的“实例 ID”匹配。

检查网络控制器与 Hyper-V 主机之间的网络连接

运行 netstat 命令,验证网络编码 (NC) 主机代理与网络控制器节点之间是否建立了三个连接。 另外,验证 Hyper-V 主机上是否有一个侦听套接字。 有关详细信息,请参阅以下列表。

  • 用于在 Hyper-V 主机(NC 主机代理服务)上进行侦听的端口 TCP:6640
  • 从 Hyper-V 主机 IP(端口 6640)到 NC 节点 IP(临时端口,端口号大于 32000)建立的两个连接
  • 从 Hyper-V 主机 IP(临时端口)到网络控制器 REST IP(端口 6640)建立的一个连接

检查主机代理服务

网络控制器与 Hyper-V 主机上的两个主机代理服务(SLB 主机代理和 NC 主机代理)通信。 这些服务中的一个或两个可能未运行。 检查这两个服务的状态,如果未运行,请将其重启:

Get-Service SlbHostAgent
Get-Service NcHostAgent

# Start
Start-Service NcHostAgent
Start-Service SlbHostAgent

检查网络控制器的运行状况

如果未建立三个连接,或者网络控制器看似无响应,请检查所有节点和服务模块是否均已启动并正在运行:

# Prints a DIFF state (status is automatically updated if state is changed) of a particular service module replica
Debug-ServiceFabricNodeStatus [-ServiceTypeName] <Service Module>

下面是网络控制器服务模块:

  • ControllerService
  • ApiService
  • SlbManagerService
  • ServiceInsertion
  • FirewallService
  • VSwitchService
  • GatewayManager
  • FnmService
  • HelperService
  • UpdateService

验证 ReplicaStatus 是否为 Ready,以及 HealthState 是否为 OK。 在使用多节点网络控制器的生产部署中,还可以查看每个服务主要位于哪个节点,并检查服务的单个副本的状态:

Get-NetworkControllerReplica

验证每个服务的 Replica Status 是否为 Ready。

检查 HNV 提供程序逻辑网络上的 MTU 和 Jumbo Frame 支持

HNV 提供商逻辑网络中的另一个常见问题是,没有为物理网络端口或以太网卡配置足够大的 MTU 来处理 VXLAN(或 NVGRE)封装产生的开销。

检查租户 VM 网络适配器连接

分配给来宾 VM 的每个 VM 网络适配器有专用客户地址 (CA) 与 HNV 提供商地址 (PA) 空间之间的 CA-PA 映射。 这些映射保存在每个 Hyper-V 主机上的 OVSDB 服务器表中。 可运行以下 cmdlet 找到这些映射:

# Get all known PA-CA Mappings from this particular Hyper-V Host
Get-PACAMapping

与配置状态相关的常见错误和解决方法

错误代码:HostUnreachable

错误消息:

多路复用器不正常(常见情况是 BGPRouter 已断开连接)

发生此错误的原因是路由和远程访问服务(RRAS)(BGP VM)或机架顶部(ToR)交换机上的可信边界网关协议(CBGP)对等互连无法访问或无法成功对等互连。 检查软件负载均衡器多路复用器资源和 BGP 对等方(ToR 或 RRAS VM)上的 BGP 设置。

错误代码:CertificateNotTrusted 和 CertificateNotAuthorized

错误消息:

由于网络或证书错误,无法连接到多路复用器

若要解决此问题,请检查错误消息代码中提供的数值代码。 此代码对应于 winsock 错误代码。 证书错误是精细的。 例如,无法验证证书,或者证书未获得授权。

错误代码:HostNotConnectedToController

错误消息:

SLB 主机代理未连接

若要排查此问题,请执行以下步骤:

  1. 验证软件负载均衡器 (SLB) 主机代理服务是否正在运行。
  2. 参考 SLB 主机代理日志(自动运行)来确定原因。 如果软件负载均衡器管理器 (SLBM) (NC) 拒绝了主机代理提供的证书,则运行状态可能会显示略有不同的信息。

错误代码:DistributedRouterConfigurationFailure

错误消息:

无法在主机 vNic 上配置分布式路由器设置

此错误是 TCP/IP 堆栈错误。 这可能需要在报告了此错误的服务器上清理对等身份验证 (PA) 和目标规则 (DR) 主机虚拟网络接口卡 (VNIC)。

错误代码:PolicyConfigurationFailure

错误消息:

由于证书错误或连接错误,无法为虚拟机网络接口卡(VmNic)推送 vSwitch 策略

由于证书错误或连接错误,无法为 VmNic 推送防火墙策略

由于证书错误或连接错误,无法为 VmNic 推送虚拟网络(VNet)策略

若要排查此问题,请检查是否已部署相应的证书。 证书使用者名称必须与主机的 FQDN 匹配。 另外,验证主机与网络控制器之间的连接。

数据收集

在联系Microsoft支持人员之前,可以收集有关问题的信息。

先决条件

  1. TSS 必须由本地系统上具有管理员权限的帐户运行,并且必须接受 EULA(接受 EULA 后,TSS 不会再次提示)。
  2. 建议使用本地计算机 RemoteSigned PowerShell 执行策略。

注意

如果当前 PowerShell 执行策略不允许运行 TSS,请执行以下操作:

  • 通过运行 cmdlet PS C:\> Set-ExecutionPolicy -scope Process -ExecutionPolicy RemoteSigned设置RemoteSigned进程级别的执行策略。
  • 若要验证更改是否生效,请运行 cmdlet PS C:\> Get-ExecutionPolicy -List。
  • 由于进程级别权限仅适用于当前的 PowerShell 会话,因此一旦关闭了运行 TSS 的给定 PowerShell 窗口,进程级别的分配权限也将返回到以前配置的状态。

在联系Microsoft支持人员之前收集关键信息

  1. 在所有节点上下载 TSS ,并将其解压缩到 C:\tss 文件夹中。

  2. 从提升的 PowerShell 命令提示符打开 C:\tss 文件夹。

  3. 使用以下 cmdlet 启动跟踪:

    TSS.ps1 -Scenario NET_SdnNC
    
  4. 如果首次在计算机上运行跟踪,请接受 EULA。

  5. 允许录制(PSR 或视频)。

  6. 在输入 Y 之前重现问题。

    注意

    如果在客户端和服务器上收集日志,请在两个节点上等待此消息,然后再重现问题。

  7. 在重现问题后输入 Y 以完成日志收集。

跟踪将存储在 C:\MS_DATA* 文件夹中的 *zip 文件中,该文件可以上传到工作区进行分析。

参考

资料来源与适用范围

资料来源
微软官方中文故障文档
适用范围
适用于当前的 PowerShell 会话,因此一旦关闭了运行 TSS 的给定 PowerShell 窗口,进程级别的分配权限也将返回到以前配置的状态。
内容语言
中文;命令、路径和错误标识保留技术原文
本地收录日期
2026-10-26
授权说明
CC BY 4.0

正文与所需资源由本站本地存储。查看来源及更新记录 ↗

请按适用版本和实际日志确认原因;本站没有对每一种系统或设备逐项执行文中的操作。