监视两台Windows 2003服务器之间的networking可靠性

我们已经分发了两个Windows 2003 x64服​​务器上部署的caching软件( NCache ,具体)。 该软件被configuration为运行多个高速caching,全部处于“复制”模式(这是典型的主动 – 被动故障转移群集 – 即客户端与一台服务器交谈,并且该服务器将所有数据复制到第二个盒子,以便如果第一台机器曾经脱机,第二台机器将接pipe。注意,这不是Windows群集 – 所有的复制和故障转移都由NCache处理)。

一切正常工作好几个月,但几个星期前,我们开始在NCache日志中看到与复制有关的exception。 例外每几天发生一次,似乎并不可预测。 NCache支持基本上说“检查你的networking”。 我们做了什么 我们发现并解决了一个问题(细节太长,无法解释,主要问题是第二台服务器上的networking驱动程序和服务器所连接的交换机都报告了大量的networking冲突)。

那是一周前。 networking修好后,例外就消失了,我们认为一切都好。 但是今天我们再次得到了完全相同的复制exception。 唯一的区别是,盒子上的networking驱动程序和交换机都不报告任何错误。 我在Windows Server 2003服务器之间看到了问题: Monitornetworking丢失了 ,但是不要以为我们可以在这些盒子上运行wireshark-它们的networkingstream量在白天平均大约是100Mbit,而且都是NCachestream量,这只是不现实在等待呃逆发生的同时将其全部捕获。 还有什么我们可以做的,以确定它是否仍然是networking?

networking故障排除可能很困难,findnetworking问题的根本原因可能需要很多工作。 如果您无法在服务器上安装并运行Wireshark,则可以将其安装在另一台计算机上,并设置您的交换机(如果支持的话)以将服务器交换机端口镜像到Wireshark机器所连接的端口。 每个传输服务器交换端口的数据包的副本将被复制到此端口。 您可以configurationWireshark将捕获数据以设定的时间间隔(时间或大小)保存到多个文件,您可以configuration它以限制捕获的每个数据包的数量。 您不太可能需要捕获每个数据包才能看到发生了什么,您可能只需捕获足够的数据包即可查看第1层到第3层发生了什么。

不要忽视再看物理层。 清除交换机上的计数器,然后在出现问题时检查交换机端口是否有碰撞,错误,丢弃等。 查看相关交换机端口的使用情况,并查看交换机的CPU和内存使用情况。

还要查看每个服务器中NIC的perfmon计数器,具体而言是出站队列长度,数据包出站错误和数据包接收错误计数器。