什么是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组合”默认选项是“已禁用”;选择“已禁用”;
2、打开NIC组合窗口后,在服务器选项下面选择服务器(使用服务器管理器管理多个服务器的时候),可以通过“组”选项的任务窗口选择“新建组”,或通过选择“适配器和接口”选项中,选择要添加到组的网卡,选择“添加到新组”;如果要添加网卡到已有组可以通过选择左边的组,右击右边的网卡,右击选择“添加到选定组”(添加网卡到先有组可以通过右击现有组,然后选择“属性”,通过勾选,选择要添加到组的网卡。);
3、打开新建组窗口,在“组名称”对话框中输入组的名称,在“成员适配器”对话框中选择要添加到组的网络适配器;再其他属性中选择合适的模式;(注:除了“交换机独立”模式,其他模式都无法使用“备用适配器”;
4、此时可以在“组”选项卡中看到刚刚创建的额组;刚配置好,可能会出现警告,并且再右边会看到有一个网卡“已出错,连接挂起”;过十秒左右就会恢复正常。
5、这时会在网络连接窗口里面看到一个新的网络连接(NIC Teaming组的名称);右击查看已经添加到组的网络适配器的详细信息的时候,发现里面什么也没有,右击新网络连接的时候,可以看到详细信息里面的网络信息;
使用PowerShell创建NIC Teaming
参数说明:
-Nameteam1 team1是创建NIC Teaming的组的名称;
-TeamMembers Ethernet2,Ethernet3 Ethernet2,Ethernet3是网络连接的名字(本地连接);
-TeamingMode Static Static即成组模式中静态成组【SwitchIndependent(交换机独立),LACP。】;
-LoadBalancingAlgorithm dynamic dynamic即负载平衡模式中的动态【HyperVPort(hyper-v端口),这里的地址散列根据不同的哈希被分成了:TransportPorts(传输端口),IPAddresses(IP地址),MacAddresses(Mac地址)】;
更多关于“New-NetLbfoTeam”命令请查看: https://technet.microsoft.com/en-us/library/jj130847.aspx
在输入完命令,回车后,会有个确认提示,选择“Y”或“A”即可。
注意事项:
1、在物理服务器上,Windows Server 2012 R2最多只支持32个NIC Teaming;
2、在虚拟机(hyper-v)中,成组模式只支持“交换机独立”,负载平衡模式只支持“地址哈希”;
3、不支持这些类型的“网络适配器”:WLAN、Bluetooth、WWAN、Infiniband
4、只能在NIC上面组建组,不能在组的基础上创建组;
5、在虚拟机中,只支持两个网卡,但在实验测试时,可包含更多的网卡;