我刚刚使用 Supermicro X8DAH+-F 主板搭建了一台服务器,运行 Ubuntu 10.04 Server 64 位。它有 Intel 82576 双端口控制器(一个端口被禁用)。由于这是一台服务器,因此远程访问必不可少。
服务器连接到交换机(DLink),交换机连接到运行DD-WRT(Netgear WNR3500v2/U/L)的路由器。
eth1 Link encap:Ethernet HWaddr 00:25:90:03:c9:b9
inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7655 errors:0 dropped:0 overruns:0 frame:0
TX packets:5772 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:7179394 (7.1 MB) TX bytes:919727 (919.7 KB)
Memory:fbc60000-fbc80000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:637 errors:0 dropped:0 overruns:0 frame:0
TX packets:637 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:96955 (96.9 KB) TX bytes:96955 (96.9 KB)
我快抓狂了。该服务器会随机断开所有连接。如果我通过 SSH 登录,会话将在登录后 0 分钟(立即)到 30 分钟内断开。一旦连接断开,服务需要几分钟才能恢复。
我决定对服务器和路由器进行 24 小时的 ping 测试。我注意到这些断开连接发生在 NIC 和路由器之间数据包丢失率较高的随机时段。
服务器没有因 I/O 进程或 CPU 进程而超载,并且只有我一个人使用它。
我尝试过的方法均无济于事。
- 交换电缆
- 更换路由器
- 交换路由器上的端口
- 删除网络管理器(Ubuntu)
- 禁用所有防火墙
- 禁用 iptables。
- 手动重新启动所有服务。
我正在考虑购买 PCIe NIC,但我想问一下以防我忽略了什么。
答案1
您可能需要验证的一件事是网络上没有其他机器/设备“窃取”服务器 IP。除非您可以在网络设备中找到该信息,否则始终可以选择在该本地网络上的某个合适的服务器上运行 arpwatch 守护程序。
答案2
由于两个板载网卡都丢失了数据包,而且您进行了很多测试,剩下的唯一办法就是一边考虑一边尝试单独的独立卡。这将解答您的问题。