我在租用的专用服务器上运行 debian squeeze,最近一段时间,该服务器经常无法通过任何外部服务访问。
在此停机期间,crontabs 等运行正常,我在任何日志文件中都找不到任何崩溃或相关迹象。
为了重新获得控制权,我只需通过提供商的 Web 界面重新启动它即可。
关于这个话题:Linux 网络崩溃:找出原因的最佳步骤?我向我的提供商提出了这个问题,但他们没有发现他们的NIC或网卡有任何问题,另外他们完全更换了我的服务器硬件(HDD除外)。
我怎样才能更接近导致这些停机的根源?
遗憾的是,当外部无法访问服务器时,我无法访问服务器进行任何测试。
当服务器无法访问时,“arp -na”返回“at < incomplete > at on eth0”。 (我创建了一个简单的 crontab 来检查此状态)在系统日志中我找不到与此问题相关的任何信息。
puck:/home# route -n
Kernel-IP-Routentabelle
Ziel Router Genmask Flags Metric Ref Use Iface
xx.xx.xxx.xxx 0.0.0.0 255.255.255.192 U 0 0 0 eth0
0.0.0.0 xx.xx.xxx.xxx 0.0.0.0 UG 0 0 0 eth0
puck:/home# arp -na
? (xx.xx.xxx.xxx) auf 00:00:5e:00:01:01 [ether] auf eth0
puck:/home# ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Advertised pause frame use: Symmetric Receive-only
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 1
Transceiver: external
Auto-negotiation: on
Supports Wake-on: g
Wake-on: g
Current message level: 0x000000ff (255)
Link detected: yes
我的接口:
auto lo
iface lo inet loopback
# ethernet interface
auto eth0
iface eth0 inet static
address xxx.xxx.xxx.xxx
network xxx.xxx.xxx.yyy
netmask 255.255.255.yyy
broadcast xxx.xxx.xxx.255
gateway xxx.xxx.zzz.zzz
# virtual interfaces
auto eth0:1
iface eth0:1 inet static
address xxx.xxx.xxx.xxx
netmask 255.255.255.255
auto eth0:2
iface eth0:2 inet static
address xxx.xxx.xxx.xxx
netmask 255.255.255.255
auto eth0:3
iface eth0:3 inet static
address xxx.xxx.xxx.xxx
netmask 255.255.255.255
答案1
尝试添加更多每分钟运行一次的 cron 作业并记录:
- 事实上,作业运行 [日期>>日志]
- arp表的内容,ip配置[arp -n >> log; ip a >> log]
- 网络接口的状态 [ethtool -i eth>>log]
- 日志消息也不会伤害你 [dmesg -c >>log]
- 对路由器进行 ping 的结果,对来自同一子网的几个“邻居”主机进行 ping 操作。
- 强制同步以达到良好的效果
这应该可以帮助您确定是否是整台机器冻结,或者仅仅是网络问题,如果是,它们从哪里开始。
这可能是 IP 地址冲突,还是同一网段中的 MAC 地址重复?