NIC组合
NIC 组合也称为负载平衡和故障转移 (LBFO),它允许出于以下目的将一台计算机上的多个网络适配器放置到一个小组中:
带宽聚合
进行流量故障转移,以防止在网络组件发生故障时失去连接
该功能已经成为独立硬件供应商 (IHV) 进入服务器网络适配器市场的一项要求,但是直到现在,NIC 组合尚未包含在 Windows Server 操作系统中。
NIC 组合要求提供一个以太网网络适配器,该适配器可以用于分离使用 VLAN 的流量。通过故障转移提供故障保护的所有模式都至少需要两个以太网网络适配器。Windows Server 2012 在一个组中可支持多达 32 个网络适配器。
NIC 组合体系结构
图 1 组合解决方案体系结构
两个或多个物理网络适配器连接到 NIC 组合解决方案多路复用器,然后该多路复用器向操作系统呈现一个或多个虚拟适配器(也称为组合网络适配器)。有多种不同的算法可在物理网络适配器之间分发入站和出站流量。在当前的非 Microsoft NIC 组合解决方案中,组合网络适配器按虚拟 LAN (VLAN) 划分流量,以便应用程序可以同时连接到不同的 VLAN。从技术角度来讲,这种流量划分不属于 NIC 组合。但是,由于 NIC 组合的其他商业实现具有此功能,因此 Windows Server 2012 实现也包含此功能。
NIC组合配置
下面是两组基本的用于 NIC 组合的算法:
需要交换机才能参与组合的算法,也称为依赖于交换机的模式。通常,这些算法需要组中的所有网络适配器都连接到相同的交换机。
不需要交换机即可参与组合的算法,也称为独立于交换机的模式。由于交换机不知道网络适配器属于某个组,因此组合网络适配器可以连接到不同的交换机。独立于交换机的模式不需要组成员连接到不同的交换机,只是可以这样做。
对于依赖于交换机模式的 NIC 组合,有两个常用的选项:
常规组合或静态组合(IEEE 802.3ad 草案 v1)。这种模式需要交换机和计算机上的配置来识别形组合的链路。由于这是静态配置的解决方案,因此没有其他协议可以帮助交换机和计算机来识别未正确插入的电缆或可能造成该组失败的其他错误。服务器级交换机通常支持这种模式。
动态组合 (IEEE 802.1ax, LACP)。IEEE 802.1ax 使用链路聚合控制协议 (LACP) 来动态识别计算机和特定交换机之间的链路。这样在理论上便能够只是通过从对等网络适配器传输和接收 LACP 来自动创建组、扩展和减少组。通常,服务器级交换机支持 IEEE 802.1ax,但大多数交换机需要手动管理才能在端口上启用 LACP。
这两种模式都会导致入站和出站流量接近聚合带宽的实际限制,原因是组中的链路池相当于一个管道。
流量分发算法
可以采用很多方法在可用的链路之间分发出站流量。尽量在单一网络适配器上保留与单一流(TCP 流)关联的所有数据包。之所以需要这样做,是为了最大程度地减少发生故障的数据包到达的情况。
Windows Server 2012 中的 NIC 组合支持以下流量分发方法:
Hyper-V 交换机端口。当虚拟机具有独立的媒体访问控制 (MAC) 地址时,虚拟机的 MAC 地址可以为划分流量提供基础。在虚拟化中使用这种方案具有优势。因为相邻的交换机可以确定特定源 MAC 地址位于唯一一个连接的网络适配器上,交换机将根据虚拟机的目标 MAC 地址在多个链路上平衡外出负载(从交换机到计算机的流量)。当与虚拟机队列一起使用时该方案非常有用。但是,这种模式可能不够具体,因而无法获得较为平衡的分发,并且它将单个虚拟机限制为单个网络适配器上可用的带宽。
哈希。该算法根据数据包的组件创建哈希,然后将具有该哈希值的数据包分配给可用的网络适配器之一。这样便在相同的网络适配器上保留来自相同 TCP 流的所有数据包。通常,哈希只是在可用的网络适配器之间创建平衡。市场上提供的某些 NIC 组合解决方案监视流量的分发,并且它们将特定的哈希值重新分配给不同的网络适配器,以尝试更好地平衡流量。动态重新分发称为智能负载平衡或自适应负载平衡。
可以用作哈希函数输入的组件包括:
源和目标 MAC 地址
源和目标 IP 地址,考虑或不考虑 MAC 地址(2 元组哈希)
源和目标 TCP 端口,通常与 IP 地址一起使用(4 元组哈希)
四倍哈希可以更精细地分发通信流,从而使能够在网络适配器之间独立移动的流更小。但是,它不可以用于非 TCP 的流量或 UDP 流量或从堆栈中隐藏 TCP 和 UDP 端口的流量,如受 Internet 协议安全 (IPsec) 保护的流量。在这些情况下,哈希回退到 2 元组哈希。如果该流量不是 IP 流量,哈希生成器将会使用源和目标 MAC 地址。
虚拟机中的NIC组合
Windows Server 2012 中的 NIC 组合也适合于虚拟机。它允许虚拟机具有连接到多个 Hyper-V 交换机的虚拟网络适配器并且即使该交换机下的网络适配器断开连接,也仍然能够连接。当使用诸如单根 I/O 虚拟化 (SR-IOV) 之类的功能时它非常有用,因为 SR-IOV 流量不通过 Hyper-V 交换机。因此,它无法受到 Hyper-V 交换机下的组的保护。通过此虚拟机组合选项,管理员可以设置两个 Hyper-V 交换机,每个交换机都连接到其自己的支持 SR-IOV 的网络适配器。此时:
每个虚拟机可以从一个或两个 SR-IOV 网络适配器安装虚拟功能。然后,当网络适配器断开连接时,虚拟机可以从主虚拟功能故障转移到备份虚拟功能。
或者,虚拟机也可能拥有从一个网络适配器和一个非虚拟功能网络适配器到其他交换机的虚拟功能。如果与虚拟功能关联的网络适配器断开连接,则流量可以故障转移到其他交换机,而不会失去连接。
注:由于在虚拟机中网络适配器之间的故障转移可能会导致流量与其他网络适配器的 MAC 地址一起发送,因此与使用 NIC 组合的虚拟机关联的每个 Hyper-V 交换机端口都必须设置为允许 MAC 欺骗或必须使用 Set-VmNetworkAdapter PowerShell cmdlet 设置“AllowTeaming=On”参数。
不兼容性
NIC 组合与 Windows Server 2012 中的所有网络功能兼容,但有三个例外:SR-IOV、远程直接内存访问 (RDMA) 和 TCP 烟囱。对于 SR-IOV 和远程直接内存访问 (RDMA),将数据直接发送给网络适配器,而不经过网络堆栈。因此,网络适配器组合无法查找数据或将数据重定向到组中的另一个路径。Windows Server 2012 中的 NIC 组合不支持 TCP 烟囱。
要求
NIC 组合要求提供一个以太网网络适配器,该适配器可以用于分离使用 VLAN 的流量。通过故障转移提供故障保护的所有模式都至少需要两个以太网网络适配器。Windows Server 2012 实现在一个组中可支持多达 32 个 NIC。
配置NIC组合
你可以在 Windows Server 2012 中通过 NIC 组合管理接口或丰富的 PowerShell 接口配置 NIC 组合。NIC 组合管理 UI 是一个使用 PowerShell cmdlet 对组进行管理的简单接口。
在服务管理器上配置:
打开“服务器管理器”。
在控制台树中,单击“本地服务器”。
在详细信息窗格中,在“属性”部分中单击“远程桌面”下的“NIC 组合管理”。
从桌面中配置:
单击“开始”,键入 lbfoadmin,然后按 Enter 键。或者,依次单击“开始”、“运行”,键入 lbfoadmin,然后按 Enter 键。
若要一次管理多个服务器,你可以通过“添加服务器”任务项添加服务器,也可以使用以下命令:
lbfoadmin /servers servername1 servername2 …
这将使用指定的服务器名称列表来运行 NIC 组合管理接口。
单击服务器列表中的服务器名(即使只有一台服务器)。
从“任务”下拉菜单中,在“组”部分,单击“新建组”。
在“添加组”对话框中,键入组名并在该组中选择网络适配器。
如果你在使用 VLAN,清除“默认”复选框,并指定 VLAN ID。默认情况下,该组将会提交接收的所有流量,而不是 VLAN ID(虽然 VLAN ID 通过数据包传送,以便堆栈中的其他组件可以将其适当地排序。)
如果你希望使用除默认以外的模式,单击“高级”,并根据需要指定组合模式(独立于交换机、静态组合或 LACP)和负载分布模式(地址哈希)。
单击“确定”以创建组。
注:负载分布模式的“地址哈希”选项就是前面描述的 4 元组哈希。NIC 组合的 PowerShell cmdlet 允许你配置其他地址哈希模式。
若要修改网络适配器组的设置,单击组列表中的组名,然后在任务列表中单击“修改组”。
PowerShell
1. NetLbfoTeam 2. NetLbfoTeamMember 3. NetLbfoTeamNic
基于策略的QoS
Hyper-V QoS 可帮助确保虚拟化网络提供可预见的功能。
1。增强由 5 元组通信筛选器或 Hyper-V 虚拟交换机端口号识别的通信流的最小带宽。
注:5 元组是在计算机网络中使用的一个术语。传输控制协议/因特网互连协议 (TCP/IP) 连接由一组五个不同的值组成。
2。使用 PowerShell cmdlet 或 Windows Management Instrumentation (WMI) 配置每个 Hyper-V 虚拟交换机端口的速度限制。
3。通过 WMI 和 PowerShell 配置并查询或查看 QoS 策略,用于增强最小和最大带宽以及 802.1p 或标记在已筛选数据包上的差分服务代码点 (DSCP)。
注:DSCP 是计算机网络中 IPv4 或 IPv6 标题中的一个字段。802.1p 是美国电子电机工程师协会 (IEEE) 的一个规范,支持使用第二层交换机执行通信优先级和动态多播筛选。
4。使用“组策略”编辑器将 eQoS 策略配置为具有 802.1p 值的标记数据包。
5。通过使用 Hyper-V QoS 提供的新 WMI 的数据中心管理软件,定义退款策略和监视每个 VM 的网络资源使用情况。
6。增强关于支持每个虚拟端口的带宽保留的单根 I/O 虚拟化 (SR-IOV) 网络适配器的 QoS 策略。
7。在 Hyper-V 中配置多个虚拟网络适配器,并为每个虚拟网络适配器单独指定 QoS。
8。配置关于未加入域的计算机的本地 QoS 策略。
总之,Hyper-V QoS 支持管理高允带宽和低允带宽限制(通常指最大带宽和最小带宽)。
Windows Server 2012 Hyper-V QoS 还利用支持数据中心桥接 (DCB) 的硬件,可以使用每个类型的保证服务级别汇聚单个网络适配器上的多种网络通信。使用 Windows PowerShell,可以手动配置所有这些新功能,或启用脚本自动化来管理一组服务器,无论它们是否加入域。