我的 Linux 服务器开始出现一些奇怪的现象......
首先,该机器的利用率很低。它是一台数据库服务器,负载很低。我将把 vmstat 放在下面并放在顶部...
- 我正在运行 centos 5.4
- 该服务器已运行数周
- 它有防火墙,所以不太可能被黑客入侵(chkrootkit 同意)。
- 负载确实很低。
- 我的服务器使用千兆交换机。
- 我在任何其他服务器上都没有遇到这个问题。
- 我已经在另一台机器上设置了远程系统日志,但它没有显示任何相应的错误。
因此,当我通过 ssh(putty)连接到该盒子时,如果我有一段时间没有登录,putty 会立即抛出“网络连接重置”错误。
它会随机将我踢出(或网络掉线)
稳定的 ping 流显示现在出现中断。
--- vdbsrv1 ping statistics ---
80620 packets transmitted, 80619 received, 0% packet loss, time 23838ms
rtt min/avg/max/mdev = 0.234/0.273/1.741/0.043 ms, ipg/ewma 0.295/0.297 ms
SQL 查询(“选择 1”)大约需要 5 秒钟,即使 SQL 报告的执行时间约为 0.04 秒,所以剩下的 4.96 秒是个谜
有人有主意吗?
top - 11:49:28 up 12 days, 17:05, 4 users, load average: 0.00, 0.03, 0.01
Tasks: 150 total, 1 running, 149 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.2%us, 0.0%sy, 0.0%ni, 99.3%id, 0.5%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 8174028k total, 8074924k used, 99104k free, 4558300k buffers
Swap: 19464184k total, 4k used, 19464180k free, 2306952k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 15 0 10348 692 576 S 0.0 0.0 0:02.13 init
root@dbsrv1# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 4 98980 4558300 2306992 0 0 1 13 3 2 0 0 99 0 0
答案1
您至少需要做几件事来调试这个:
使用 CLI ssh 客户端(而不是 putty)对服务器运行“ssh -v”。查看是否有任何问题,以及 ssh 会话报告了哪些错误。
使用 wireshark 或 tcpdump 捕获会话的数据包。您可能会收到 RST。
根据 David 的询问,您是否尝试过从其他客户端访问服务器?如果没有,那么可能是客户端出现了网络问题。
如果您要通过防火墙,防火墙将有自己的会话超时,正如 Kyle 上面建议的那样——如果这是问题所在,那么“keepalive”设置是一个很好的解决方法。如果问题发生在新会话中,pcap 将是最便捷的解决问题的方法。
答案2
不确定我是否完全理解:
“因此,当我通过 ssh(putty)连接到该盒子时,如果我有一段时间没有登录,putty 会立即抛出‘网络连接重置’错误。”
所以如果您尚未登录,然后开始新的登录,您会立即被踢出吗?
如果不是这种情况,并且如果您一直处于不活动状态,它就会超时。您可以在 putty 中设置 keepalive。
您也可以查看/var/log
ssh 日志,看看其中是否有任何信息。
答案3
这个很奇怪...
该 Web 服务器是来自 VMware 服务器的另一个 Web 服务器的克隆。
原机器已关闭。复制到新服务器。新机器启动,赋予新名称,赋予新 IP 旧机器重新启动。
这种场景的问题是两者的 MAC 地址相同,这导致非常奇怪的网络行为。