networking并不是我的专长,我已经尽了我的努力去尝试和隔离这个问题,我希望能够指出如何进一步缩小这个问题的可能性。
服务器:运行Limetech Unraid 5.0.6的文件服务器(内核为3.9.11p的基于Slackware的操作系统)
这台服务器已经可靠地运行了大约2年,唯一最近的硬件更改是RAM升级(我已经使用了一个内存工具来validationRAM工作正常)
初始情况:访问networking共享的networking上的其他计算机每3-5分钟会间歇性断开10-20秒。
调查使用重复的pingtesting,我能够确定networking上的所有其他设备保持其连接,只是在短时间内丢失的文件服务器。
对文件服务器进行Ping或从文件服务器进行ping操作,从间隔30秒到间隔15分钟以上的半随机时间间隔内,最多会失败8秒,平均约为3-5分钟。
重新启动服务器似乎使问题消失了几个小时。
ifconfig显示大约在连接出现故障的同时丢弃的RX数据包的小数字(3-7)
系统日志不会在启动或故障期间报告任何exception情况。
ethtool表明该链接保持100%的时间
我不是networking工程师,但似乎这个问题是特定于此设备(其他设备连接到相同的基础设施没有问题)。
这可能是NIC本身的硬件问题吗? 或者是与操作系统或networkingconfiguration? 这可能是由用户软件引起的?
任何build议如何确定根本原因将不胜感激。
日志/故障排除输出:
从Windows笔记本Ping到Unraid服务器:
Reply from xxx100: bytes=32 time=3ms TTL=64 Reply from xxx100: bytes=32 time=7ms TTL=64 Reply from xxx100: bytes=32 time=3ms TTL=64 Reply from xxx100: bytes=32 time=3ms TTL=64 Reply from xxx100: bytes=32 time=4ms TTL=64 Reply from xxx100: bytes=32 time=3ms TTL=64 Request timed out. Request timed out. Request timed out. Reply from xxx200: Destination host unreachable. Request timed out. Reply from xxx100: bytes=32 time=2ms TTL=64 Reply from xxx100: bytes=32 time=1ms TTL=64 Reply from xxx100: bytes=32 time=4ms TTL=64 Reply from xxx100: bytes=32 time=2ms TTL=64 Reply from xxx100: bytes=32 time=2ms TTL=64
ifconfig -a
eth0 Link encap:Ethernet HWaddr 94:de:80:03:2e:3c inet addr:xxx100 Bcast:xxx255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:35866080 errors:0 dropped:2107 overruns:0 frame:0 TX packets:35139719 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1597778360 (1.4 GiB) TX bytes:1548836243 (1.4 GiB) Interrupt:49 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:1583 errors:0 dropped:0 overruns:0 frame:0 TX packets:1583 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:158298 (154.5 KiB) TX bytes:158298 (154.5 KiB)
netstat -i
Kernel Interface table Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 0 35866360 0 2107 0 35139884 0 0 0 BMRU lo 65536 0 1583 0 0 0 1583 0 0 0 LRU
dmesg | grep r8168
r8168 Gigabit Ethernet driver 8.037.00-NAPI loaded r8168 0000:02:00.0: irq 49 for MSI/MSI-X r8168: This product is covered by one or more of the following patents: US6,570,884, US6,115,776, and US6,327,625. r8168 Copyright (C) 2013 Realtek NIC software team <[email protected]>
cat / var / log / syslog | grep eth
Jan 10 03:04:03 ServerName logger: /etc/rc.d/rc.inet1: List of interfaces: 'eth0' Jan 10 03:04:03 ServerName kernel: eth%%d: 0xf8560000, 94:de:80:03:2e:3c, IRQ 49 Jan 10 03:04:03 ServerName logger: /etc/rc.d/rc.inet1: Polling for DHCP server on interface eth0: Jan 10 03:04:03 ServerName logger: /etc/rc.d/rc.inet1: /sbin/dhcpcd -t 10 -h ServerName -L eth0 Jan 10 03:04:03 ServerName dhcpcd[1203]: eth0: waiting for carrier Jan 10 03:04:08 ServerName kernel: r8168: eth0: link up Jan 10 03:04:08 ServerName dhcpcd[1203]: eth0: carrier acquired Jan 10 03:04:08 ServerName dhcpcd[1203]: eth0: broadcasting for a lease Jan 10 03:04:11 ServerName dhcpcd[1203]: eth0: offered xxx100 from xxx1 Jan 10 03:04:11 ServerName dhcpcd[1203]: eth0: acknowledged xxx100 from xxx1 Jan 10 03:04:12 ServerName dhcpcd[1203]: eth0: checking for xxx100 Jan 10 03:04:16 ServerName dhcpcd[1203]: eth0: leased xxx100 for 86400 seconds Jan 10 03:04:31 ServerName logger: # * SSL.Connection objects, wrapping the methods of Python's portable Jan 10 03:04:36 ServerName avahi-daemon[7491]: Joining mDNS multicast group on interface eth0.IPv4 with address xxx100. Jan 10 03:04:36 ServerName avahi-daemon[7491]: New relevant interface eth0.IPv4 for mDNS. Jan 10 03:04:36 ServerName avahi-daemon[7491]: Registering new address record for xxx100 on eth0.IPv4. Jan 10 03:05:08 ServerName ntpd[1258]: Listen normally on 2 eth0 xxx100 UDP 123 Jan 10 15:04:17 ServerName dhcpcd[1203]: eth0: renewing lease of xxx100 Jan 10 15:04:17 ServerName dhcpcd[1203]: eth0: acknowledged xxx100 from xxx1 Jan 10 15:04:17 ServerName dhcpcd[1203]: eth0: leased xxx100 for 86400 seconds Jan 11 03:04:18 ServerName dhcpcd[1203]: eth0: renewing lease of xxx100 Jan 11 03:04:18 ServerName dhcpcd[1203]: eth0: acknowledged xxx100 from xxx1 Jan 11 03:04:18 ServerName dhcpcd[1203]: eth0: leased xxx100 for 86400 seconds Jan 11 15:04:18 ServerName dhcpcd[1203]: eth0: renewing lease of xxx100 Jan 11 15:04:18 ServerName dhcpcd[1203]: eth0: acknowledged xxx100 from xxx1 Jan 11 15:04:18 ServerName dhcpcd[1203]: eth0: leased xxx100 for 86400 seconds
是的,这是select输出 – 我已经详细查看了系统日志和dmesg,如果需要可以提供更多的信息,但是我相信没有任何价值。 阻止的原因是什么? 我对提供关于在公共互联网上build立的networking的许多信息是有点偏执的,清理掉是非常耗时的。
问题解决了 – 这不是Unraid服务器,而是出乎意料的是,一个浪涌保护器。
在我的networking设置中,我有一个高端浪涌保护器,将内部networking与外界隔离开来,所以如果发生雷击/功率浪涌,我的昂贵设备将得到保护。
至于为什么一切都显示它是文件服务器,这是一个长长的故事,但简短的答案是:
当我隔离networking硬件,以确保它是文件服务器的问题,我从来没有想过隔离这个特定的组件(我几乎认为它是networking硬件)。
我不知道为什么会造成这个问题,但很明显是这样。 现在我只是简单地将它从networking中删除,这对于系统来说并不重要。