当前位置: 首页 > 系统与网络 > 正文

[分享]Windows 8 及以上版本 开启多网卡链路聚合

这个内容 网上已经有类似教程。这是个大杂烩。但是在Windows Bug 10中,几乎无法成功创建。

微软官方英文版教程
https://technet.microsoft.com/en-us/itpro/powershell/windows/nic-teaming/new-netlbfoteam

Windows Server 2012参考
http://yupeizhi.blog.51cto.com/3157367/1678255

Windows 8/10 桌面版创建过程如下:

使用管理员权限运行PowerShell

命令:Get-NetAdapter
用于获取所有网卡信息,这里需要使用到 name 字段的信息。

命令:New-NetLbfoTeam “NIC TEAMING” -teamingMode SwitchIndependent
创建名为 NIC TEAMING 的聚合组。当提示 TeamMembers[0]: 键入需要加入聚合的网卡名称,通过 Get-NetAdapter 命令获取。添加一个回车一次,当不再添加时候直接回车。此命令无需交换机支持端口聚合功能。
除了SwitchIndependent,还可选LoadBalancingAlgorithm模式。即负载均衡模式。
如果交换机支持端口链路聚合,teamingMode 模式可选 Static/LACP。即-teamingMode Static或者 -teamingMode LACP。

不同模式介绍:
①Switch Independent
交换机上不需要做配置
②Static
交换机和系统上都需要配置,创建端口聚合
③LACP
交换机需支持LACP功能并开启
④LoadBalancingAlgorithm
负载均衡模式

关于Switch Independent ==》

成组模式:
Switch-independent(交换机独立):
  这是配置时的默认值,此模式不要求交换机参与组合配置,由于独立模式下的交换机不知道网卡是主机上组合一部分,teaming组中的网卡可以连接到不同的交换机。

而且在连接不同交换机时采用的是主备模式,只有在连接在同一交换机时才可以实现负载均衡聚合。

1)Switch-independent / Address Hash distribution
  这种配置方式会通过选用的地址哈希来分发送数据包到所有活动的NIC成员上,因为在路由的时候,一个IP地址只能关联一个MAC地址,所以这种方式在接收入站通信时,只能通过一个TEAM 成员来接收。这也意味着入站通信不会超过TEAM 中一个成员的带宽。最适合用在如下的情况里:
  需要考虑在不同的物理交换机上做Team;需要用 活动/备用 (active/standby)模式;Team VM;在服务器上跑的工作流有大量出站负载,少量入站负载,例如IIS。
2)Switch Independent / Hyper-V Port distribution
这种方式会基于Hyper-V 交换机的端口号来在所有活动的Team 成员(NIC)上分发流量。每个Hyper-V端口的带宽不会大于一个TEAM 成员(NIC)的带宽。
  由于Hyper-V 端口号是和Team NIC 绑定的,所以同一个VM上的入站和出站流量都用的是同一个Team NIC。
  这种配置方式最适合用在如下的情况里(同时):
  VM的数量远大于Team 成员的数量,可以接受VM的带宽被限制在一个TEAM NIC成员的可用带宽之内。

Switch-dependent(交换机依赖):
  此模式要求teaming组中的网卡连接到同一交换机(或者以级联多交换机方式实现的对外显示为单一物理交换机),根据交换机所支持的模式分为如下两种:

  1、静态成组(IEEE 802.3ad draft v1):此模式配置交换机和主机之间需要哪种链接组合形式,由于这是一个静态配置的解决方案没有任何附加协议,所以就不会因为交换机或主机因为电缆的插入错误或其它错误而导致组合的形成。此种模式中,网卡可以工作于不同的速度,就是说可以用不通速度的网卡建立组合, 但同样要求交换机完全支持IEEE 802.3ad 标准,一般情况下,服务器级别的交换机通常支持此模式。

  2、LACA动态组合(IEEE 802.1ax, LACP):LACA动态组合是到同一台交换机的链路聚合,只不过不是静态配置的,而是动态构成(也就是自动协商)的。它是通过一种智能的链路协商协议LACP (Link Aggregation Control Protocol)来实现的。LACP原本用于交换机和交换机之间的链路聚合,启用了LACP协议的2台交换机会相互发送LACP的协商报文,当发现2者之间有多条可用的链路的时候,自动将这些链路组合成一条带宽更大的逻辑链路,从而利用负载均衡来实现加宽交换机间链路带宽的目的。

1)Switch Dependent / Address Hash distribution
  这种配置方式会通过选用的地址哈希来分发送数据包到所有活动的NIC成员上。和所有switch dependent configurations 一样,交换机来决定如何在TEAM NIC上分发入站通信。
  这种配置方式最适合用在如下的情况里(同时):
  在可以保证使用相同交换机上做TEAM时,达到最大性能;在Hyper-V 交换机下做Teaming,VM的带宽需要大于一个TEAM NIC 的可用带宽

2)Switch Dependent / Hyper-V Port distribution
  这种方式会基于Hyper-V 交换机的端口号来在所有活动的Team 成员(NIC)上分发流量。每个Hyper-V端口的带宽不会大于一个TEAM 成员(NIC)的带宽。和所有switch dependent configurations 一样,交换机来决定如何在TEAM NIC上分发入站通信。
  这种配置方式最适合用在如下的情况里 (同时):
  VM的数量远大于TEAM NIC 的数量;需要用使用特定协议(如LACP) 而对TEAM方式有要求;限制VM的带宽不能大于TEAM 成员中一个NIC的带宽。

创建完成后 网络连接 里边会出现
图来自51CTO

删除网卡组
命令:
Remove-NetLbfoTeam -Name “NIC TEAMING”

删除全部网卡绑定
Get-NetLbfoTeam | Remove-NetLbfoTeam

Windows BUG 10 可能会遇到如下问题
PS C:\WINDOWS\system32> New-NetLbfoTeam “NIC TEAMING” -teamingMode SwitchIndependent

位于命令管道位置 1 的 cmdlet New-NetLbfoTeam
请为以下参数提供值:
TeamMembers[0]: 以太网
TeamMembers[1]: 以太网 2
TeamMembers[2]:
New-NetLbfoTeam : 参数错误。
所在位置 行:1 字符: 1
+ New-NetLbfoTeam “NIC TEAMING” -teamingMode SwitchIndependent
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (MSFT_NetLbfoTeam:root/StandardCimv2/MSFT_NetLbfoTeam) [New-NetLbfoTeam
],CimException
+ FullyQualifiedErrorId : Windows System Error 87,New-NetLbfoTeam

暂时无解。
看了下有很多人在WIN10下遇到这个问题,传送门:https://social.technet.microsoft.com/Forums/en-US/936e8936-810c-434f-9e06-525daafa50b8/teaming-not-possible-in-win10pro-insider-builds-10565-and-10576-error-87?forum=WindowsInsiderPreview

参考文章:
http://bianshao.blog.51cto.com/290828/1538228
https://blog.minirplus.com/4940/

本文固定链接: http://blog.ich8.com/post/6195 | 霸王硬上弓's Blog

avatar
该日志由 霸王硬上弓 于2017年03月17日发表在 系统与网络 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: [分享]Windows 8 及以上版本 开启多网卡链路聚合 | 霸王硬上弓's Blog

[分享]Windows 8 及以上版本 开启多网卡链路聚合:等您坐沙发呢!

发表评论

您必须 [ 登录 ] 才能发表留言!