当有冗余适配器可用时,Windows 如何选择使用哪个网络适配器?

当有冗余适配器可用时,Windows 如何选择使用哪个网络适配器?

我有以下配置:两台 Windows Server 2008 非虚拟机(一台数据库服务器和一台应用程序服务器)通过两个网络适配器连接到同一网络,一个快速网络适配器(1 Gbps)和一个慢速网络适配器(100 Mbps)。它们具有不同的 IP,但共享相同的配置。

网络安装示意图

应用程序服务器从数据库或文件共享中向另一台服务器请求数据。它使用机器名称连接到共享:\\DataServer01\<FileName>。DNS 服务器中关联的第一个 IP\\DataServer01是 192.168.1.19(由 1 Gbps 适配器使用)。我希望每次都使用它,并且只有快速的那个发生故障时才使用慢速的那个。

有时应用服务器会以最大速度从共享下载文件,但有时传输仍然使用应用服务器端的快速 192.168.1.22,但数据库服务器端使用较慢的 192.168.1.18,导致速度限制在≈11 MB/s。

我没有精确的指标,但从我所看到的情况来看,我想象它有一半的时间无法随机地使用默认连接。

如果我指定\\192.168.1.19\<FileName>而不是\\DataServer01\<FileName>,则一切都运行良好并以最大速度运行。

如何诊断发生了什么?是否有强制 Windows 在从共享发送文件时选择随机网络适配器的策略?是否有设置来检查 DNS 服务器(Windows Server 2008 的角色)?

答案1

正如devicenull所说,这是一个名称解析的问题。

我怀疑您正在使用 NetBIOS 名称解析。如果网络上没有运行 WINS 服务器,则此名称解析通过网络广播进行。

服务器上的哪个卡碰巧首先回复此广播,那么它将被使用,直到名称解析缓存条目过期(我认为是 10 或 15 分钟),然后将有另一个广播。

您可以在这里阅读更多相关信息: http://www.techrepublic.com/article/how-netbios-name-resolution-really-works/5034239

答案2

首先,如果第二个连接无法处理主连接的负载,那么它实际上并不是多余的。当主卡在推送 500mbit/sec 的流量时发生故障,会发生什么?您的辅助卡将无法跟上它。你为什么要这样做?也许其他技术会更好地为您服务。

您在此处看到的问题可能是因为您使用的是主机名而不是 IP 地址。哪个卡首先在网络上注册,就会被分配主机名。这将是随机的(这取决于计算机开启的时间、卡出现的时间等)。

这里没有真正聪明的解决方案。除非你能说服计算机始终首先在主适配器上宣布其主机名,否则你将无法按你的意愿完成这项工作。千兆以太网适配器每个价格约为 13 美元,为什么不再买两个并停止使用 100mbit 适配器呢。

答案3

首先,您的适配器不是冗余的。您有两个独立的适配器,这与冗余完全不同。您需要在适配器上设置分组。它们应该来自同一供应商,使用该供应商的协作工具。他们应该也可以具有相同的速度,它可能以不同的速度工作,但是有理由不推荐这种设置。

一旦它们组合在一起,您就可以指定具有故障转移冗余的主服务器。您当前的设置不具备容错能力,您可以通过拔下正在使用的 NIC 来快速测试这一点(像这样的测试是设置服务器的一部分,您认为您拥有的任何未经测试的功能都应被视为不起作用:冗余、备份解决方案、性能,一切)。

相关内容