生产环境:

硬件设备:普通电脑承担Linux服务器

操作系统:CentOS6.8

问题描述:7月16日发现无法访问Linux服务器,当时分析有可能出现两种情况:

1.普通电脑硬件故障,很有可能是长时间运行导致硬件故障,严重的来说是硬件烧坏了;2.Linux系统运行当中出现问题。

通过种种原因分析排除了4种情况:

1.如果是断电了,但其他服务器运行正常;

2.如果是断网了,但其他服务器可以正常访问;

3.如果是web服务导致无法访问,但一般情况也来远程连接,可是无法远程连接;

4.通过理论上和长时间运行证明Linux系统运行是稳定的,1年之间无需重新启动系统。

7月30日,请门卫重新启动电源后,还是发现无法访问和远程连接Linux服务器。

7月31日,迫不及待了,不能等了,问题在哪,什么原因,心理好纠结。今天上午抽时间跑到单位,进入中心机房发现显示器屏幕显示如下图:普通电脑运行Linux系统负载过重会导致宕机_第1张图片

    出现以上这种原因,是7月30日请门卫重启了一下电源导致重启电脑,原因是放假前需要使用键盘而拔下了,但可以在BIOS上进行设置,避免上述情况出现:

    进入到 Standard CMOS Setup(标准系统参数设置)里面有个Halt on(暂停执行),它有几个选择,其中All But Keyborad是让BIOS检测到除了键盘之外的任何错误使系统暂停,等候处理。选择这个后,进入系统时,就不可以不用插键盘啦。

   说明:如果是有许多专业服务器,我们并不需要每台服务器配备显示器、键盘和鼠标,有时候仅初始化配置需要用一下就可以了,一般配一个推车(有显示器、鼠标和键盘),大公司都是批量配置、维护和升级。

   但是导致无法访问和远程连接Linux服务器,并不是没有接入键盘的原因导致的。远程连接Linux服务器看系统日志,进一步分析原因:

[root@sky9896~]# last >>last.txt  #显示用户登录的信息,并写入到last.txt文件

[root@sky9896~]# sz last.txt    #sz上传到客户端电脑分析用户登录情况

root     pts/2        115.151.215.151  Sun Jul 31 12:28   still logged in  

root     pts/0        115.151.215.151  Sun Jul 31 11:26 - 11:38  (00:11)   

root     pts/0        115.151.215.151  Sun Jul 31 10:59 - 11:24  (00:25)   

reboot   system boot  2.6.32-642.el6.xSun Jul 31 09:53 - 12:56  (03:02)   

root     tty1                          Sun Jul 31 09:50 -down   (00:02)   

reboot   system boot  2.6.32-642.el6.xSun Jul 31 09:47 - 09:52  (00:04)   

sky      pts/1        117.40.239.12    Fri Jul 8 08:11 - 08:13  (00:01)   

sky      pts/0        117.40.239.12    Thu Jun 30 08:25 - 11:10  (02:45)   

root     pts/0        218.65.68.126    Wed Jun 29 23:08 - 23:09  (00:00)   

root     pts/1        218.65.68.126    Wed Jun 29 23:06 - 23:08  (00:01)   

root     pts/1        218.65.68.126    Wed Jun 29 23:02 - 23:05  (00:02)   

reboot   system boot  2.6.32-642.el6.xWed Jun 29 23:00 - 09:52 (31+10:51) 

root     pts/1        218.65.68.126    Wed Jun 29 21:07 - down   (01:52)   

reboot   system boot  2.6.32-642.el6.xWed Jun 29 21:07 - 22:59  (01:52)   

root     pts/0        218.65.68.126    Wed Jun 29 20:27 - down   (00:38)   

sky      pts/0        218.65.68.126    Wed Jun 29 17:24 - 19:19  (01:54)   

sky      pts/1        218.65.68.126    Tue Jun 28 17:08 - 17:47  (00:39)   

reboot   system boot  2.6.32-642.el6.xTue Jun 28 15:04 - 21:06 (1+06:01)  

root     pts/0        117.40.239.12    Tue Jun 28 15:03 - down   (00:00)   

root     pts/0        117.40.239.12    Tue Jun 28 10:47 - 11:25  (00:37)   

root     pts/1        117.40.239.12    Tue Jun 28 10:09 - 10:47  (00:38)   

reboot   system boot  2.6.32-642.el6.xTue Jun 28 10:07 - 15:04  (04:56)   

…………………………………………………………………………………………..

解释:说明7月8日——7月31日之间,没有任何用户可以访问Linux服务器。

[root@sky9896~]# last reboot >> last_reboot.txt

#最近重启系统的记录

[root@sky9896~]# sz last_reboot.txt

reboot   system boot 2.6.32-642.el6.x Sun Jul 31 09:53 -13:11  (03:17)   

reboot   system boot 2.6.32-642.el6.x Sun Jul 31 09:47 -09:52  (00:04)   

reboot   system boot 2.6.32-642.el6.x Wed Jun 29 23:00 -09:52 (31+10:51) 

reboot   system boot 2.6.32-642.el6.x Wed Jun 29 21:07 -22:59  (01:52)   

reboot   system boot 2.6.32-642.el6.x Tue Jun 28 15:04 -21:06 (1+06:01)  

.....................................................................................................................................

解释:6月30日——7月30之间,系统管理员没有对系统做reboot操作,同时在这里可以证明,与没有接入键盘导致外界无法连接是没有任何关联的。

[root@sky9896 ~]#cat  /var/log/boot.log   #该文件记录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息

G               Welcome to CentOS

Starting udev:G                                          [  OK  ]

Setting hostnamesky9896:                                 [  OK  ]

Checkingfilesystems

/dev/sda2: clean,186576/3219456 files, 5377035/12861440 blocks

/dev/sda1: clean,50/25688 files, 83291/102400 blocks

/dev/sda5: clean,32097/11911168 files, 1235336/47643904 blocks [  OK  ]

Remounting rootfilesystem in read-write mode:            [  OK  ]

Mounting localfilesystems:                               [  OK  ]

Enabling/etc/fstab swaps:                                 [  OK  ]

Enteringnon-interactive startup

ip6tables:Applying firewall rules:                       [  OK  ]

iptables: Applyingfirewall rules:                        [  OK  ]

Bringing uploopback interface:                            [ OK  ]

Bringing upinterface eth0:  Determining if ipaddress 117.40.239.9 is already in use for device eth0...

                                                          [  OK  ]

Bringing upinterface eth1.back:  Device eth1 doesnot seem to be present, delaying initialization.

                                                          [FAILED]

Startingauditd:                                          [  OK  ]

Startingportreserve:                                      [  OK  ]

Starting systemlogger:                                   [  OK  ]

Starting systemmessage bus:                              [  OK  ]

InitializingOpenCT smart card terminals:                 [  OK  ]

Startingcups:                                            [  OK  ]

Mountingfilesystems:                                      [  OK  ]

Starting HALdaemon:                                      [  OK  ]

Retrigger failedudev events                              [  OK  ]

Starting PC/SCsmart card daemon (pcscd):                  [ OK  ]

insmod: errorinserting '/etc/safedog/KernelSafedog/sddev.ko': -1 Invalid module format

Startingsnmpd:                                           [  OK  ]

Startingsnmptrapd:                                        [  OK  ]

Startingsshd:                                            [  OK  ]

Startingxinetd:                                          [  OK  ]

ntpdate:Synchronizing with time server:                   [FAILED]

Startingntpd:                                            [  OK  ]

Starting vsftpdfor vsftpd:                               [  OK  ]

Startingmysqld:                                          [  OK  ]

Startingsendmail:                                         [  OK  ]

Startingsm-client:                                        [  OK  ]

Startinghttpd:                                           [  OK  ]

Startingcrond:                                           [  OK  ]

Starting atd:                                             [  OK  ]

Starting jexecservicesUsing CATALINA_BASE:  /usr/local/tomcat

UsingCATALINA_HOME:   /usr/local/tomcat

UsingCATALINA_TMPDIR: /usr/local/tomcat/temp

UsingJRE_HOME:        /usr

UsingCLASSPATH:      /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

Tomcat started.

/etc/rc3.d/S99local:line 9: /usr/local/apache2/bin/apachectl: No such file or directory

/etc/rc3.d/S99local:line 10: /applicaction/nginx/sbin/nginx: No such file or directory

[root@sky9896~]# cat  /var/log/cron   #只产生7月31日的数据

[root@sky9896~]# cat  /var/log/maillog   #只产生7月31日的数据

   通过上述数据分析得知:7月8日—7月30日该时间段,Linux服务器岩机了,没有产生运行日志文件,可是为什么7月8日之前的相关运行日志文件找不到,为什么?难道自动覆盖了吗?请看到该文章的专业技术人员帮忙解答,先谢谢了。

   下面是远程连接产生的另外一个问题:这种情况出现过两次 

回家远程连接Linux服务器操作一段时间后,出现无法连接的情况:

wKiom1edlD_Cyv1mAAAO_UVsldE033.jpg-wh_50

连接N次,无法连接,隔了20分钟以上,又可以正常远程连接。

有些作者解释,估计是以下原因:

1.  SSH连接数大多;

2.  没有正常退出SSH;

3.  SSH配置和验文件;

通过实现Linux服务器分析,以上原因都不可能,最终隔了20分钟以上,又可以远程连接。