我可以相信SMB3中的负载平衡能够在这里做正确的事情吗?如果没有,我可以应用某种类似于tcp / ip路由成本的加权吗?
从技术角度谈论它,通过FSCTL_QUERY_NETWORK_INTERFACE_INFO API在服务器计算机的网络接口通信细节之后详细说明了恶魔.该协商实际上在[MS-SMB2]: Server Message Block (SMB) Protocol Versions 2 and 3规范的4.8节中作为示例显示.不幸的是,规范中包含与网络连接选择相关的逻辑的部分只是说“客户端选择任何一个网络接口对来建立新连接……”.接口选择协议中有一些细微差别(微软已经从规范中省略了,但我想有人可能会认为这种行为超出了规范).例如,This article描述了如何将“不可路由”(读取:APIPA和链路本地地址)用于SMB多通道.
除了上面文章中描述的“不可路由”地址之外,这确实让我想知道产品中是否存在隐含的假设,即客户端/服务器对上的任意网络接口都能够进行通信. (这很可能只是等待在一些奇怪的情况下开采的故障,其中流量过滤/策略使得该假设不真实.)我猜测可能有一些偏好与同一子网中的接口最初的接口频道创建于. (如果微软公布这种行为肯定会很好!)(我看到I’m not the only one who has been thinking about this,至少……)
您可以从计算机执行Get-SmbMultichannelConnection,以查看在长时间运行的复制操作期间是否正在创建服务器之间的SMB多通道连接.如果要查看“未选择”路径,请添加-IncludeNotSelected参数.
您可以使用New-SmbMultichannelConstraint cmdlet向右外排除来自SMB多通道的连接,但这不是加权通道优先级本身 – 它只是排除(这不是您正在寻找的).
暂且不说:我假设你在W2K12中使用了内置的NIC组合功能.您可能希望使用您的交换机检查所选的LACP哈希算法(在Windows服务器中称为“负载平衡模式”)是否最佳.我已经看到一些关于改变该模式的讨论,它提供了不同交换机的更高吞吐量.