在 Windows Server 2012 R2 Hyper-V 网络虚拟化 (HNV) 环境中的故障排除和数据收集

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 3069275
概要
在 Windows Server 2012 R2 和 Microsoft System Center 2012 R2 Virtual Machine Manager (SC 2012 R2 VMM),Microsoft 提供了一个端到端网络虚拟化解决方案。下列四个主要组件构成的 Microsoft 网络虚拟化解决方案 ︰

  • 针对 Windows 服务器的 Windows Azure 包 (WAP) 提供了一个面向租户的入口来创建虚拟网络。
  • System Center 2012 R2 Virtual Machine Manager (VMM) 提供虚拟网络的集中的管理。
  • Hyper-V 网络虚拟化 (HNV) 提供了虚拟化的网络通信所需的基础结构。
  • Hyper-V 网络虚拟化网关提供虚拟和物理网络之间的连接。

有关网络虚拟化解决方案,使用所有这些组件的详细信息,请参阅以下文章 ︰
有关网络虚拟化的技术细节,请参阅以下文章 ︰
Hyper-V 网络虚拟化以一种类似于服务器虚拟化 (Hyper-V 虚拟机监控程序) 如何提供对操作系统的虚拟机的虚拟机提供虚拟网络 (称为虚拟机的网络)。网络虚拟化将分离从物理网络基础结构的虚拟网络,并删除虚拟机设置 VLAN 和分层 IP 地址分配的限制。这种灵活性使客户能够方便地移动到 IaaS 云,并使宿主和数据中心管理员来管理其基础架构,同时维持必要的多租户隔离、 安全要求和支持重叠的虚拟机 IP 地址有效。

本文介绍了故障诊断的基本概念和数据收集步骤可能有助于解决与 HNV 环境相关的问题。
更多信息
重要:请确保所有建议的修补程序可用于 Hyper-V 网络虚拟化 (HNV) 的环境。推荐的修补程序的完整列表,请参见以下 Microsoft 知识库中相应的文章 ︰
2974503 建议的修补程序、 更新和已知的解决方案,为 Windows Server 2012 和 Windows Server 2012 R2 Hyper-V 网络虚拟化 (HNV) 环境

执行基本的故障排除和连接检查

必须建立基本连接,才能进行通信。HNV 使用 NVGRE 封装提供此主机之间的连接。此连接提供通过网络通常通常称为"提供商网络"或"PA 网络。

该"网络"是在客户的基础结构必须是可路由的实际网络。但是,它实际上只之间存在主机的虚拟交换机。是网络使 HNV 成为可能。一个可以通过此网络使用 ping ping 命令的特殊变体。但是,在执行 ping 命令之前,必须确定在特定主机正在使用的提供程序地址。

可以通过发出 Windows PowerShell 命令 Get NetVirtualizationProviderAddress主机上管理 PowerShell 命令提示符下的执行此操作。

注意:此命令仅在支持 HNV 的主机上出现。举例说明此输出如下面的屏幕快照所示。



一台主机应有一个 PA (在此处的输出ProviderAddress ) 每个租户网络地址也在该主机上具有至少一个虚拟机。AddressState中的每个字段应列为首选

如果此字段被列为是重复的这是必须纠正的问题。重复的地址可以撤销,但必须非常慎重使用吊销。吊销 IP 地址立即将该地址返回重新分配相应的池中。如果不解决这一基本问题首先导致重复的地址,地址可能后其重新分配再次重复。PA 地址列表后,您可以使用 ping 从另一台主机的地址ping-pPA_Address> 命令。您必须连接每台主机只能有一个地址。

以下屏幕 shotshows 在使用此命令的示例。



如果此 ping 成功,NVGRE 网络的物理连接是否正常工作。如果此 ping 操作失败,您可能需要检查物理连接和主机配置。

这里的问题包括,但不是限于,交换机错误配置、 物理网络故障和不正确的 VLAN 标记。

如果 PA ping 成功,尝试 ping 同一组织网络上的虚拟机之间。这包括在相同的主机上的 Vm 以及不同主机上的 Vm。

这有助于确定是否为虚拟机本身的内部连接。由于租户 Vm 是完全不知道 NVGRE 网络,没有特殊的命令所需 ping 之间租户的虚拟机。这是标准 ping。作为一项附加测试,有租户 VM ping 的以下两个地址 ︰
10.254.254.1 (此地址居住在网关主机的虚拟交换机)。
10.254.254.2 (此地址是网关的虚拟机的内部接口)。

如果.1 中无法访问地址,虚拟机没有到达网关主机租户。放回去,并验证 PA ping 到网关主机正常工作。

如果.1 地址是可到达的则此行为类似于租户执行 ping 命令另一个租户虚拟机的虚拟机。它证明,NVGRE 网络工作正常。尝试 ping.2 地址。

如果.1 地址可到达,但.2 地址不,ping 无法到达 HNV 网关虚拟机的内部接口。故障诊断应将注意力放在此处。

.1 和.2 地址是否可到达后, 端 HNV 网络正常,租户可以与 HNV 网关虚拟机进行通信。具有组织尝试 ping HNV 环境外部的内容。如果此操作失败,则问题可能是在 VM 的网关。

更多的验证包括试图从 HNV 网关 VM ping 到同一外部地址。如果 ping 成功,HNV 网关可能不正确,是 NAT'ing 地址和排除应专注于 VM 的网关。如果这不成功,问题可能是外部网关和 HNV 环境。其它故障诊断将不得不进行以确定外部配置失败的原因。

如果有问题的站点到站点 VPN,请参阅以下网站的详细信息 ︰

收集基本数据

运行HNV 网关脚本

HNV 网关脚本可用于确定与 Hyper-V 网络虚拟化 (HNV) 网关相关的问题。该脚本,有助于验证 HNV 网关和查找最常见的网关问题。

HNV 网关脚本执行以下 ︰

  • 检查是否正确设置网关
  • 检查正在运行的虚拟机和其网关之间的连接
  • 检查两个虚拟机之间的连接性

您可以从以下网站下载该脚本 ︰
脚本的免责声明
此处提供的示例脚本不受任何标准支持 Microsoft 应用程序或服务。所有脚本都原样都提供,没有任何形式的担保。Microsoft 进一步否认所有的暗示担保,包括但不限于任何暗示的适销性或特定用途适用性的担保。因使用或执行示例脚本和文档的全部风险承担与您。在任何情况下 Microsoft,作者,或人参与的创建、 生产、 交货的脚本会对于任何损失所承担的 (包括没有限制、 损失业务利润、 业务中断、 业务信息丢失或其他 pecuniary 丢失) 因使用或无法使用示例脚本或文档,即使 Microsoft 已被告知有这类破坏的可能性。
启动该脚本的最简单方法是在其安装 VMM 控制台的计算机上启动它并指定UseDefaultCredential $false。这将提示输入凭据的每个操作。如果已运行脚本的用户具有管理员权限的 HNV 主机,VMM 和网关的虚拟机,可以运行不带任何参数的脚本。

该脚本显示帮助,并提供一个示例,在开始。这可用于运行目标的方案。以黄色显示,显示警告和错误将以红色显示。请确保您观看的警告和错误。这可能有助于降低总体的调查时间为 HNV 网关问题。该脚本执行只读操作所涉及的所有系统上。(不过,该脚本启动任何网关群集资源处于失败状态。)

注意:此脚本是交互式的并使用标准输出。它不生成输出文件。因此,请仔细阅读它提供的信息。

启用调试日志记录 Hyper-V 网络虚拟化 (HNV)

有关如何启用调试日志记录的 HNV,请参见以下 Microsoft 知识库文章 ︰
2968430 如何启用 Hyper-V 网络虚拟化的调试日志记录

注意:Netsh 虚拟化捕获可能很快会很大,应谨慎使用。

属性

文章 ID:3069275 - 上次审阅时间:03/23/2016 01:26:00 - 修订版本: 3.0

Windows Server 2012 R2 Datacenter

  • kbexpertiseadvanced kbsurveynew kbtshoot kbmt KB3069275 KbMtzh
反馈