适用对象:Windows Server 2012 R2, Windows Server 2012
引入了一个可伸缩的安全多租户解决方案,称为 Hyper-V 网络虚拟化。此技术可用于构建云数据中心,并使客户更容易以增量方式将他们的网络基础结构移动到私有、混合以及公有云。
有关 Hyper-V 网络虚拟化的概述,请参阅 Microsoft TechNet 网站上的
Hyper-V 网络虚拟化概述、
Hyper-V 网络虚拟化技术细节 和
Windows Server® 2012 Hyper-V 生存指南。
Hyper-V 网络虚拟化可通过现有服务器和交换机硬件进行部署。但是,除了数据中心管理解决方案之外,要完成包括私有云、跨场所和混合云部署在内的关键方案,还需要网关功能。
本文提供不同类型的 Hyper-V 网络虚拟化网关和网关功能的要求。请注意,网关功能已明确标注,因为现有网络设备可能会合并 Hyper-V 网络虚拟化网关功能。有关由 Hyper-V 网络虚拟化使用的数据包封装格式的其他技术详细信息可以在
NVGRE 的 RFC 草案中找到。
[url=]
网关方案[/url]
大多数客户部署需要从网络虚拟化环境到非网络虚拟化环境的通信。因此,若要桥接这两种环境,需要 Hyper-V 网络虚拟化网关。
网关可以具有不同的外观设置。它们可以建立在 上、可整合到顶架 (TOR) 交换机、放置在现有网络设备中,或构成一个独立网络设备。对于在私有云部分中所述的私有云方案,路由功能是必需的。除了路由之外,VPN 功能对于混合云方案(在混合云部分中进行了描述)也是必需的。第三个方案将网关功能合并到负载平衡器(在负载平衡器部分中进行了描述)。
[url=]
私有云(路由)[/url]
大型企业可能不愿意,或者出于合规性原因无法将它们的某些服务和数据移动到一个公有云托管商。但是,这些企业仍然想要通过将它们的数据中心资源整合到一个私有云中,来获得由云和网络虚拟化所带来的好处。在私有云部署中,可能不需要重叠的 IP 地址,因为公司有足够的不可路由的内部地址空间(例如,10.x.x.x 或 192.x.x.x)。思考图 1 中的示例。
图 1:私有云部署
请注意,在此示例中,虚拟子网中的客户地址是 10.229.x IP 地址,而在网络的非网络虚拟化部分(公司网络)中的 IP 地址是 10.229.1 地址。在此示例中,数据中心的虚拟子网的 PA 地址为 10.60.x IP 地址。此部署使企业能够利用 Hyper-V 网络虚拟化的功能,以使数据中心结构中的虚拟机放置和跨子网动态迁移具有一定的灵活性。这就提高了数据中心的效率,从而减少了操作支出 (OpEx) 和资本支出 (CapEx)。
图 1 所示的私有云方案需要私有云网关设备或合并到现有网络设备的网关功能。私有云网关的目的是提供物理和虚拟地址之间的路由和转换。
[url=]
混合云 (S2S VPN)[/url]
Hyper-V 网络虚拟化的主要优点是它能将本地数据中心无缝延伸到基于 的云数据中心。这就是混合云模式,如图 2 所示。
图 2:混合云部署
在此方案中,内部服务器(如 Web 服务器)将从企业网络转移到云托管商的数据中心。由于托管商承诺
“带上自己的 IP 地址”,公司无需改变 Web 服务器虚拟机或者任何其他引用该 Web 服务器的网络端点的网络配置。托管商通过 VPN 网关设备提供了一个安全的链接。企业管理员只需要使用相应的 IP 地址配置它们的本地 VPN 即可。Web 服务器虚拟机不知道它已经移动到云。它仍然保持域与活动目录 (AD) 相结合的状态,并且使用公司的 DNS 服务器。Web 服务器虚拟机还继续与公司其他的服务器(如 SQL Server)进行交互。在此示例中,所有这三项服务(AD、DNS、SQL)仍然保留在本地。网络诊断工具(如 tracert,在源和目标之间对网络跃点的数量进行计数)显示 Web 服务器虚拟机与 SQL 之间的网络流量不再属于本地,而是通过 Internet 进行路由。
图 2 所示的混合云方案需要多租户 VPN 设备(如网络虚拟化网关设备)。VPN 设备网关必须与数据中心 Orchestrator 进行交互(例如,System Center Virtual Machine Manager),以获取相应的网络虚拟化策略。
[url=]
负载平衡器[/url]
负载平衡器为请求服务的客户端提供单个 IP 地址效果(虚拟 IP 地址或 VIP)。在多个不同的 IP 地址(直接 IP 地址或 DIP)上实现该服务。传统的负载平衡器通过网络地址转换 (NAT) 将网络流量从 VIP 映射到 DIP。负载平衡器使用在执行服务的负载平衡器后的一个 IP 地址 (DIP) 重新写入传入数据包的目标 IP 地址 (VIP)。在负载平衡器充当双向 NAT 的情况下,DIP 将返回的数据包发送到负载平衡器并且负载平衡器使用 VIP 重写源 IP (DIP)。在这种情况下,客户端只知道 VIP 而不知道 DIP。
注意 |
在 Windows Server 2012 R2 和 Windows Server 2012 中,网络负载平衡未完全与 Hyper-V 网络虚拟化集成。但是,有第三方合作伙伴负载平衡器解决方案,可用于在与 Hyper-V 网络虚拟化网关功能结合使用的基于 Hyper-V 网络虚拟化的虚拟网络中启用负载平衡。使用负载平衡器作为 Hyper-V 网络虚拟化网关需要 System Center Virtual Machine Manager (VMM) 的修补程序。有关网络负载平衡的详细信息,请参阅网络负载平衡概述。
|
请考虑以下方案,其中蓝方公司和红方公司在相同的为租户提供负载平衡的多租户数据中心中具有虚拟机。蓝方公司具有四个虚拟机,可在负载平衡器后提供服务。红方公司具有两个虚拟机,可提供虚拟机所期望的负载平衡的不同服务。
图 3:多租户负载平衡器示例
图 3 显示了虚拟拓扑结构,其中公开路由的 IP 地址跨多个目标虚拟机进行负载平衡。例如,来自 Internet 的客户端将流量发送到蓝方公有 IP (VIP)。基于网络虚拟化策略的负载平衡器发出 NVGRE 数据包来将数据包用于相应的 Hyper-V 主机。Hyper-V 主机将解封以下数据包,然后将其传递到目标虚拟机。
图 4:多租户负载平衡器部署
图 4 显示图 3 的可能部署。在此情况下,负载平衡的虚拟机的 PA 空间是 192.168.6.x。蓝方客户具有四个在三个物理主机上运行的虚拟机。红方客户具有两个在两个不同的主机上运行的虚拟机。蓝方和红方同时托管 Web 服务。外界通过相应的公开路由 VIP 访问这些服务(蓝方 VIP 和红方 VIP)。使用网络虚拟化策略的负载平衡器生成相应的 NVGRE 数据包。
请考虑从 ClientIP 启动并发送到蓝方 VIP 的连接被负载平衡到蓝方 VM2 的情况。负载平衡器需要将数据包发送到蓝方 VM2,其中包含 BlueVSID1 的 VSID、10.1.6.21 的 CA 以及 192.168.6.4 的 PA。负载平衡器的 PA 是 192.168.6.2。因此,负载平衡器生成 NVGRE 数据包标头:
MACLB --> MACH1
| 192.168.6.2 --> 192.168.6.4
| BlueVSID1
| MACext --> MACVM2
| ClientIP --> 10.1.6.21
|
现在请考虑如图 5 所示的情况,其中蓝方和红方客户具有需要负载平衡的多层应用程序。从虚拟机的角度来看,它们通过 VIP1 与下一层通信。例如,B1 层中的虚拟机通过蓝方 VIP1 与 B2 层中的虚拟机进行通信。蓝方 VIP1 是一个蓝方 CA IP 地址,其在负载平衡器上也将具有对应的 PA 地址。可能的部署拓扑如图 6 所示。
图 5:层(逻辑角度)之间的负载平衡
图 6:放置在数据中心内部的负载平衡器
在负载平衡器上的蓝方 CA VIP 和红方 CA VIP 都具有 192.168.6.2 的 PA。负载平衡器需要查看 NVGRE 数据包中的 VSID,然后确定相应的 VIP 至 DIP 映射。例如,蓝方虚拟机 11 会将数据包发送到蓝方 CA VIP。NVGRE 数据包标头将具有源 IP:192.168.6.7,目标 IP:192.168.6.2,GRE 密钥字段蓝方 VSID1,内部源 IP:10.1.5.20,内部目标 IP:蓝方 CA VIP,以及原始数据包的其余部分。负载平衡器的策略必须与 VSID 和 VIP 同时匹配,因为在使用重叠的 CA IP 地址时,VIP 本身可能不是唯一的。
[url=]
外部路由器网关配置[/url]
网关必须包含 Hyper-V 网络虚拟化策略并且执行类似于 主机的操作。在典型部署中, 主机知道位于该主机上所有虚拟机的每个路由域的所有策略信息。例如,如果一台主机具有使用路由域 X 的虚拟机,并且还具有另一台来自路由域 Y 的虚拟机,则主机具有同时由路由域 X 和路由域 Y 中所包含的所有虚拟子网的策略信息。即使在单个路由域的情况下,可能在每个 Hyper-V 主机上需要大量策略。
请考虑如图 1 所示的私有云方案。在此方案中,公司具有使用单个路由域的内部云。在这种情况下,每个 Hyper-V 主机必须具有针对所有网络虚拟化虚拟机的策略。这样可能为用于在所有主机上维护此策略的数据中心 Orchestrator 增加负担。请注意,虚拟机很少与公司中每个其他虚拟子网进行实际通信,因此在实践中基本上不需要在指定主机上使用此策略。
若要减少每个主机上所需的策略数量,可以使 主机进入特殊模式,其中它将根据自己的主机策略在指定的虚拟子网内路由流量。为了执行网络虚拟化策略检查并且可能沿指向其最终目标位置的路径转发数据包,将任何跨虚拟子网的流量发送到外部路由器。在这种部署中,主机仅需要知道在该主机上运行的虚拟机的虚拟子网策略,而不是在主机上运行的虚拟机的路由域的每个虚拟子网策略。在此方案中,Hyper-V 网络虚拟化网关做出所有跨子网的路由决策。Hyper-V 网络虚拟化网关在为其路由数据包的虚拟子网中必须具有针对所有虚拟机的所有策略信息。
[url=]
管理[/url]
对于任何 Hyper-V 网络虚拟化部署,数据中心 Orchestrator 都是必需的。此类数据中心 Orchestrator 的一个示例是 System Center Virtual Machine Manager (VMM)。数据中心 Orchestrator 负责提供一种机制,用来将 Hyper-V 网络虚拟化策略应用到相应的网关设备。请注意,PA IP 路由不通过数据中心 Orchestrator 管理。
[url=]
网关控制台[/url]
Hyper-V 网络虚拟化网关合作伙伴应为网关设备或设备功能的基本配置提供管理控制台。此管理控制台应处理诸如 PA 分配、高可用性、监控和身份验证等操作。管理控制台将负责配置不由数据中心 Orchestrator(如 VMM)管理的网关方面。
[url=]
多个网关[/url]
通过使用多个物理 Hyper-V 网络虚拟化网关的高可用性超出了本文讨论的范围。数据中心 Orchestrator(例如 VMM)将需要配置和管理网关。数据中心部署多个网关的方案包括可伸缩性和复原能力。对于可伸缩性,单个物理网关可能无法处理数据中心所需的负载。此外,单个网关引入了单一故障点。合作伙伴的管理控制台应处理多个网关所组成的部署。
[url=]
System Center Virtual Machine Manager[/url]
在 VMM 模型中,Hyper-V 网络虚拟化网关通过 PowerShell 插件模块进行管理。构建 Hyper-V 网络虚拟化网关的合作伙伴需要创建一个在 VMM 服务器上实际运行的 PowerShell 插件模块。此插件模块将策略传输到网关。图 7 显示了管理 Hyper-V 网络虚拟化部署的 VMM 块状图。请注意,合作伙伴插件在 VMM 服务器内运行。此插件与网关设备通信。此类通信所使用的协议未在此处指定。合作伙伴可能会确定合适的协议。请注意,VMM 使用称为
Windows 远程管理 (WinRM) 的 WS-Management 协议的 Microsoft 实现和
Windows Management Instrumentation (WMI),来管理 Windows Server 2012 主机并更新网络虚拟化策略。
图 7:使用 System Center 来管理 Hyper-V 网络虚拟化
[url=]
基于 Windows 的网关设备[/url]
可以用作 Hyper-V 网络虚拟化网关设备的基础平台。
[url=]
私有云路由器体系结构[/url]
图 8 显示了使用 作为基础平台的私有云路由器的体系结构。在此方案中,所有虚拟机都位于相同的路由域中。红方、蓝方和紫方虚拟机分别具有 157.4、157.3、157.2 的 CA IP 前缀。公司网络上的服务具有附带 157.1 前缀的 IP 地址。
图 8:使用 Windows Server 2012 的私有云网关
网关中的 WNV 筛选器接收来自红方、蓝方和紫方虚拟子网的流量,并通过父(管理)操作系统堆栈将其发送到公司网络。虚拟交换机具有父级(主机)VNIC 来用于与来自网络虚拟化世界的主机操作系统堆栈的通信。其他网络接口绑定到连接到公司网络的物理网络接口 (pnic2)。请注意,不会有图 8 中所示的在 Hyper-V 网络虚拟化网关中存在两个物理网络接口的要求。单个物理网络接口可以与两个父虚拟网络接口一起使用。但是,数据中心管理员可能更喜欢流量的物理分隔。网关中的两个物理网络接口允许合并的数据中心和公司网络流量通过不同的物理交换机与网关进行交互。两个物理网络接口(一个用于网络虚拟化世界,另一个用于非网络虚拟化世界)在客户部署方面提供了更多灵活性。
[url=]
跨场所网关[/url]
混合云方案使企业能够将它们的本地数据中心无缝扩展到云。这需要点对点的 VPN 隧道。这可以通过将 作为主机平台以及运行点对点 (S2S) VPN 隧道的每个租户 来宾虚拟机来完成,该隧道使用各种本地数据中心连接云数据中心。S2S VPN 支持 IKEv2,并可通过 PowerShell/WMI 实现远程策略的配置。此外, 来宾虚拟机支持增强网关设备性能和可伸缩性的新网络接口卸载功能。这些卸载功能将在“硬件注意事项”部分中介绍。
图 9:使用基于 Windows Server 2012 的网关的混合云
图 9 显示的方案中,红方公司和蓝方公司是主机云的客户。红方公司和蓝方公司无缝地将它们的数据中心延伸到主机云,该主机云已部署允许红方公司和蓝方公司无缝扩展其本地数据中心的基于 的每租户虚拟机网关。图 10 中没有要求红方公司或蓝方公司运行 S2S VPN,仅要求客户的本地 S2S VPN 支持 IKEv2 与 HostGW 上运行的相应 S2S 虚拟机进行交互。
图 9 显示 HostGW 的内部体系结构。每个路由域需要其自己的虚拟机。其中的技术原因是 vmnic 仅可与单个虚拟子网 (VSID) 进行关联,并且 VSID 只能是单个路由域的一部分。VSID 交换机端口 ACL 不支持 VSID 的中继。因此,提供隔离的最简单方法是使用每租户(路由域)网关虚拟机。
每个虚拟机都是双宿主,这意味着它们具有两个虚拟网络接口。其中一个虚拟网络接口具有与之关联的相应 VSID。另一个虚拟网络接口具有为 0 的 VSID,这意味着流量不会由 WNV 筛选器修改。虚拟机正在运行 RRAS,并且正使用 IKEv2 在主机云和客户的本地网关之间创建安全隧道。
图 10:使用基于 Windows Server 2012 的每租户 VM 网关的混合云
图 10 显示 VMM 管理 Hyper-V 网络虚拟化部署的体系结构。合作伙伴具有在 VMM 服务器上运行的插件。在使用 Windows Server 2012 作为 Hyper-V 网络虚拟化网关设备时,需要在 Windows 中运行的本地管理过程作为来自在 VMM 服务器中运行的插件通信的终结点。这是插件能够将网络虚拟化策略传输到在 HostGW 上运行的 WNV 筛选器的方式。
[url=]
硬件注意事项[/url]
基于 的网关设备的可伸缩性将由服务器硬件确定,包括:
- NUMA 功能
- CPU 内核数
- RAM 的数量
- 网络接口的卸载功能和性能
一般情况下,由主要 OEM 提供的双套接字服务器级别的平台应该是足够的基础平台。可以有效地在服务器设备上运行的虚拟机的数量通常是通过服务器中的 RAM 数量来确定的。
网络接口的选择还可以对性能和网关设备的可伸缩性产生很大的影响。图 10 显示两个网络接口配置。请注意,在虚拟子网路径上发送的所有流量都将是 NVGRE 流量。对于封装的数据包而言,传统的卸载(如发送路径上的大量发送卸载 (LSO) 和接收路径上的虚拟机队列 (VMQ))将不会提供预期的好处,因为它们对外部数据包标头进行操作。NVGRE 流量的外部标头使它看起来就像使用相同的 IP 地址生成所有流量,并且发往单个 IP 地址。网络接口卸载可为提升 Hyper-V 交换机性能带来实质性的好处。中的新功能是 GRE 任务卸载,其中网络接口将对标准卸载的内部数据包标头进行操作,这样 LSO 和 VMQ 将为它们带来预期的性能和可伸缩性好处。因此,图 10 中的虚拟子网路径上的网络接口都应支持 GRE 任务卸载。此类网络接口预计将在 2012 年年底上市。
中的另一项新功能是用于来宾虚拟机的 IPsec 任务卸载。IPsec 可用于确保点到点 VPN 隧道。S2S 隧道的两侧必须都支持 IKEv2。如果跨场所网关不在 NAT 后,则 IPsec 任务卸载 (IPsecTO) 可以通过使图 9 中的性能外部网络网络接口代表每租户 RRAS 虚拟机执行每个数据包加密操作,从而提供更好的性能。S2S 隧道的两侧将需要使用 AES GCM128 来充分利用 IPsecTO。因此,为了使该 RRAS 虚拟机充分利用 IPsecTO,必须满足以下条件:
- S2S 隧道的两侧都必须使用 AES GCM128
- 网关设备一定不能在 NAT 后
由于 IPsec 操作可能占用大量 CPU,因此 IPsecTO 可以极大地减少 CPU 的使用以及增加网络吞吐量。
SR-IOV 是一种新的 功能,该功能将物理网络接口直接公开到虚拟机。SR-IOV 绕过该虚拟交换机。遗憾的是,当前市场上的 IPsecTO 网络接口不支持 SR-IOV 路径上的 IPsecTO。Hyper-V 交换机引入了新的基于策略的功能,例如 ACL 和 QoS。如果在虚拟网络接口上设置这些 Hyper-V 交换机策略中的任何一个,则虚拟网络接口流量将不会使用 SR-IOV 路径,而是需要通过 Hyper-V 交换机路径实施策略。当流量使用 SR-IOV 路径而不是 Hyper-V 交换机路径时,将显著减少 CPU 利用率。
对于私有云网关,类似的注意事项应根据硬件要求进行评估。
[url=]
其他资源[/url]
有关 Hyper-V 网络虚拟化和 System Center Virtual Machine Manager 的其他信息,请参阅以下文章(没有链接的文章仍在开发中):
原文:https://technet.microsoft.com/zh-cn/library/jj618319.aspx