什么是NIC Teaming

         NIC Teaming 就是将两个或更多的网络适配器组合在一起,从而达到容错和带宽聚合作用。NIC Teaming 中的每个网络适配器都是物理存在的(虚拟机中的网络适配器也算物理存在的,因为需要绑定物理网卡。)并且各自连接独立的网络电缆。

        Windows Server早期的版本中,NIC Teaming只能通过第三方软件来实现,例如Intel。然而在Windows Server 2012 R2中,NIC Teaming 可以直接通过系统实现,而不需要安装额外的软件和硬件。

 

NIC Teaming 的优点

         随着网络的发展,我们容忍服务器离线的时间也越来越短,甚至为0。在Windows Server 2012 R2中通过使用NIC Teaming技术,将多个网络适配器组成一个Team(组)进行工作,即使其中一个网络适配器出现故障,另一个依然可以工作,保持网络的连通性。

        也可以使用该技术将多个网络适配器组合成一个逻辑(虚拟)的网络适配器,从而达到更高的网络吞吐量。例如,一个服务器上面有两个1Gbps的网络适配器,将它们组合成一个逻辑的网络适配器后,那么此时的网络适配器的速度是2Gbps

 

配置NIC Teaming

         Windows Server 2012 R2中部署NIC Teaming有三种“成组模式”。

         静态成组  也叫做交换机依赖组,由于这种NIC组合需要交换机参与到组合中,所以NIC组中的所有适配器都必须连接到相同的交换机上面,不能分散在多个不同的交换机上。需要交换机支持IEEE802.3ad标准。

          交换机独立  NIC组合无需交换机参与到组合中,所以每个适配器可以连接到不同的交换机,也在交换机级别提供了基本的容错。

 

         LACP    链路汇聚控制协议(Link Aggregation Control Protocol,LACP),该组合可以自动将多个NIC组合成一股逻辑(虚拟)的网络适配器。需要交换机支持LACP,并设置为活动。

 

         选择好成组模式后,还需要选择使用哪种负载平衡模式,Windows Server 2012具有如下三种负载均衡模式。

         地址哈希   NIC组接收到一个数据包后,首先对其进行检查,然后对目的地址的信息(如,IP地址、端口等)通过哈希算法,根据结果NIC组决定将数据包通过那个NIC发出。由于是通过哈希算法,无法控制流量走向,大量数据会流向同一个网卡。

         Hyper-v端口   如果你的服务器运行多个hyper-v虚拟主机的时候,建议使用此模式。当使用该模式后,虚拟机会将数据通过外部虚拟交换机发送到特定的NIC上,从而使数据有更好的预测性。

          动态  流量可以通过一个叫做Flowlets的概念来实现动态LBFO,这个概念实际上就是将一个大的数据包分割成多个较小的数据包,通过不同NIC发送出去。

 

         Windows Server 2012 R2中创建和管理NIC Teaming是个非常简单的事情,可以通过图形界面或Powershell来完成。

 

1、打开服务器管理器,选择左边的“本地服务器”;可以看到“NIC组合”默认选项是“已禁用”;选择“已禁用”;

Windows Server 笔记(七):Windows Server 2012 R2 NIC Teaming(NIC组)_第1张图片

 

2、打开NIC组合窗口后,在服务器选项下面选择服务器(使用服务器管理器管理多个服务器的时候),可以通过“组”选项的任务窗口选择“新建组”,或通过选择“适配器和接口”选项中,选择要添加到组的网卡,选择“添加到新组”;如果要添加网卡到已有组可以通过选择左边的组,右击右边的网卡,右击选择“添加到选定组”(添加网卡到先有组可以通过右击现有组,然后选择“属性”,通过勾选,选择要添加到组的网卡。);

Windows Server 笔记(七):Windows Server 2012 R2 NIC Teaming(NIC组)_第2张图片

Windows Server 笔记(七):Windows Server 2012 R2 NIC Teaming(NIC组)_第3张图片

 

3、打开新建组窗口,在“组名称”对话框中输入组的名称,在“成员适配器”对话框中选择要添加到组的网络适配器;再其他属性中选择合适的模式;(注:除了“交换机独立”模式,其他模式都无法使用“备用适配器”;

Windows Server 笔记(七):Windows Server 2012 R2 NIC Teaming(NIC组)_第4张图片

 

4、此时可以在“组”选项卡中看到刚刚创建的额组;刚配置好,可能会出现警告,并且再右边会看到有一个网卡“已出错,连接挂起”;过十秒左右就会恢复正常。

Windows Server 笔记(七):Windows Server 2012 R2 NIC Teaming(NIC组)_第5张图片

 

5、这时会在网络连接窗口里面看到一个新的网络连接(NIC Teaming组的名称);右击查看已经添加到组的网络适配器的详细信息的时候,发现里面什么也没有,右击新网络连接的时候,可以看到详细信息里面的网络信息;

Windows Server 笔记(七):Windows Server 2012 R2 NIC Teaming(NIC组)_第6张图片Windows Server 笔记(七):Windows Server 2012 R2 NIC Teaming(NIC组)_第7张图片

 

 

使用PowerShell创建NIC Teaming

Windows Server 笔记(七):Windows Server 2012 R2 NIC Teaming(NIC组)_第8张图片使用“New-NetLbfoTeam”命令创建

参数说明:

-Nameteam1          team1是创建NIC Teaming的组的名称;

-TeamMembers Ethernet2,Ethernet3       Ethernet2,Ethernet3是网络连接的名字(本地连接);

-TeamingMode Static      Static即成组模式中静态成组【SwitchIndependent(交换机独立),LACP。】;

-LoadBalancingAlgorithm   dynamic        dynamic即负载平衡模式中的动态【HyperVPorthyper-v端口),这里的地址散列根据不同的哈希被分成了:TransportPorts(传输端口),IPAddressesIP地址),MacAddressesMac地址)】;

更多关于New-NetLbfoTeam”命令请查看: https://technet.microsoft.com/en-us/library/jj130847.aspx

 

在输入完命令,回车后,会有个确认提示,选择“Y”或“A”即可。

 

注意事项:

1、在物理服务器上,Windows Server 2012 R2最多只支持32NIC Teaming

2、在虚拟机(hyper-v)中,成组模式只支持“交换机独立”,负载平衡模式只支持“地址哈希”;

Windows Server 笔记(七):Windows Server 2012 R2 NIC Teaming(NIC组)_第9张图片

3、不支持这些类型的“网络适配器”:WLANBluetoothWWANInfiniband

4、只能在NIC上面组建组,不能在组的基础上创建组;

5、在虚拟机中,只支持两个网卡,但在实验测试时,可包含更多的网卡;