从哪里开始诊断Debiannetworking连接丢失?

我们有许多Xen虚拟服务器,都运行着Debian 6 64bit。 我们偶尔会遇到间歇性问题,服务器会在networking上停止响应。 发生这种情况时,我们无法ping通服务器,并且我们的应用程序日志表明无法连接到networking上的其他服务器。

现在已经发生了几个不同的不相关的服务器,唯一的共同因素是VPS主机和相关的基础设施,操作系统和我们的操作系统设置。 我跟随主持人,但真的需要到底了。

目前我还没有太多的工作要做。 我能find的与事件相关的唯一os日志条目是syslog中的一行:

Nov 21 19:36:10 xxxxxx ntpd[2460]: xxxx:4f8:xxx:xxx:1:2:3:4 interface xxxx:7e00::xxxx:91ff:xxxx:1bd4 -> (null) 

但是我认为这是networking连接死亡的结果,而不是其原因。

来自工作服务器的MTR报告显示没有用处。

那么, 我应该怎么去试着了解这里发生了什么呢? 是否有任何networking特定的日志,我不知道应该检查?

谢谢!

我认为你不能访问你的VPS主机,而且你只能从VM内部进行debugging。 所以这是我会做的。

我会试着找出破坏发生的地方 – 虚拟机和主机之间,虚拟机和网关之间,还是在你的提供者networking中的某个地方。

设置一个脚本,将ping你的第一跳 – 即你的网关。 如果在同一广播域内有其他虚拟机,则可以ping它们而不是GW。 你可以运行screen / tmux并在里面ping:

 $ ping IP_OF_GW_OR_OTHER_VM | tee -a mytest.log 

当中断发生时,如果网关仍然活着,并且ping通,那么就会出现问题。 在这种情况下,做一个traceroute,然后ping 2-3次,直到找出中断发生的地方。 如果网关立即不可用,那么可能会设置一个cron,在发生中断时将networking信息快照:

 ping -c 3 gateway if [ $? -ne 0 ]; then ifconfig eth0 2>&1 >> /tmp/ifconfig-$(date +"%Y-%m-%d_%H:%M").log ethtool eth0 >> /tmp/ethtool-$(date +"%Y-%m-%d_%H:%M").log fi 

如果您觉得自己也需要这些信息,则可以使用正常运行时间(获取当前负载)lsof或netstat等附加信息来扩展脚本。

有时客人的客户端掉线或无法续租,所以在停电时收集的任何信息都可以帮助您。