NIC 成组也称为负载平衡和故障转移 (LBFO),它允许出于以下目的将一台计算机上的多个网络适配器放置到一个小组中:
- 带宽聚合
- 进行通信故障转移,以防止在网络组件发生故障时失去连接
在早期版本的Windows中,NIC Teaming的功能是通过第三方的解决方案来实现的,比如有HP,Intel或Dell。这种情况会带来两个问题:1.每个供应商提供的解决方案都是基于自家的各种硬件来实现,不对其他供应商的硬件提供支持;2.如果在一个配置了Teaming的网络上出现连接错误,需要找第三方的供应商来解决问题,微软无法提供相应的支持。过去的项目中,曾经出现过使用Intel Teaming技术导致网络连接失败,查找原因后发现是Teaming的问题,接下来卸载驱动才解决问题,用了多块网卡不但没提供高可用,反而与微软的产品发生冲突,导致应用的不可用。
在新的Windows Server 2012 R2版本中,微软给出了集成到操作系统的Teaming解决方案,
首先Windows Server 2012的NIC Teaming模式有三种:
静态成组(Static Teaming)这是一种依赖于对交换机(Switch-dependent)的组合方式,要求交换机的支持,并且成员网卡不能分散到不同的交换机上。
交换机独立:网卡组合不需要交换机的参与,这样网卡可以连接到不同的交换机上,从交换机这个级别开始高可用。这种组合方式适用不支持网卡组合的交换机,由Windows Server 2012来完成相应的处理工作。
LACP:类似静态成组,需要先在交换机中启用LACP,会把多块网卡合并成一个逻辑的线路,这种组合方式的速度是最快的。
除了网卡成组的模式需要配置,还需要配置Teaming进行负载均衡的模式,模式也是有三种:
地址哈希(Address Hash):启用该方式后,数据包到达Teaming后,会根据目的地址信息(MAC地址,IP地址和端口号)执行哈希算法,通过算法的结果,NIC Team决定由哪块物理网卡发送数据包。这种方式无法控制流量的走向,如果有大量数据是流向一个目标地址,那么只会通过一块物理网卡来发送。
Hyper-V端口:正如名字显示的,用于Hyper-V的模式,与无法控制的地址哈希相比,这种方式效率更高,数据会通过绑定虚拟网卡的不同物理网卡传输,同时这种绑定是基于每个虚拟网卡,而不是每台虚拟机的。如果是使用Hyper-V外部虚拟交换机建议选择这种方式。
动态:这种方式是在Windows Server 2012 R2中新引入的方式,也是最优化的方式,数据会被平分到所有的成员网卡上,最大效率的利用带宽。
创建一个windows2012 NIC Teaming的方法很简单,下面举个例子:
1、首先需要启用NIC
2、使用Get-NetAdapter命令(2008里没这个命令)来获知网卡的MAC信息,然后查看mac地址最后一个数字的大小来定那两个卡绑定,列如30和20绑定,还列如1C和2C绑定;
3、在组任务中选择新建组(选择静态成组和地址哈希这个选择项),或者在右面可用网卡中选择相应的网卡,然后右键选择加入到新组。 为组设置相应的名字并选择好模式后,即可成功建立起NIC Teaming。另外如果模式选择交换机独立,那么聚合的时间会稍微长一些,需要耐心等待一下。
4、最后查看一下配置结果。