龙空技术网

记录一次服务器“卡死”故障的解决过程

监控那些事儿 5307

前言:

现时兄弟们对“ubuntu重启一直点在走”都比较注重,同学们都需要学习一些“ubuntu重启一直点在走”的相关内容。那么小编在网上搜集了一些有关“ubuntu重启一直点在走””的相关内容,希望朋友们能喜欢,你们快快来了解一下吧!

晚上8点多突然收到zabbix报警,服务器负载高,IO负载高。看到报警信息马上就猜到,老问题又出现了上次的方法没能解决问题,故障回顾

故障背景:

系统:ubuntu 14.04

服务器:kvm虚拟机

故障现象:

1.系统存在大量僵死进程,kill -9杀不掉

2.系统IO负载很高

3.执行命令时,终端会卡死

4.reboot无法正常重启服务器,只能杀虚拟机进程

5.系统日志里有以下信息 INFO: task jbd2/vda1-8:775 blocked for more than 120 seconds.

上次出现这个问题是3天前,当时网上查阅资料说是将内存脏页数据刷入磁盘时出现了问题,导致系统阻塞了很多其他进程,从而产生大量僵死进程,按照网上方法,修改调整内核参数:

vm.dirty_ratio = 10vm.dirty_background_ratio = 5

-------------------------------回顾到此结束--------------------------------

登陆服务器一看,果然还是这个问题,很显然上次的内核参数调整没能解决问题,接下来继续分析,通过一番检查有以下突破性新发现:

1.操作时使用tab补全命令会导致终端卡死,不使用tab则可以正常执行命令

2.一个核心的cpu 100%花在了IO等待上

第一个发现让我想起了一次以前处理故障的经历,/tmp目录满了,导致一使用tab补全命令就卡死,跟今天现象一样,马上检查/tmp分区使用情况,du命令发现/tmp分区是挂载在一个单独100G的硬盘上,只使用了60M,排除空间问题。接着尝试touch /tmp/test测试分区的读写,问题出现了,终端卡死,/tmp分区无法读写,找到了问题突破口

为什么这个分区会无法读写呢,继续排查,mount -l /tmp强制卸载分区然后重新挂载,问题依旧,/tmp无法读写。接着登陆虚拟机控制台,查看块独立硬盘的信息,发现这块独立硬盘用的VirtIO模式,其他硬盘都是IDE模式,很可能问题出在这里。于是新增了一个IDE的硬盘,替换了VirtIO硬盘,然后后重新挂载格式化并重新挂载到/tmp,故障处理告一段落,处理完到今天5天了,问题没在出现,基本可以确定问题是出在虚拟硬盘的模式了。更深一层,为什么virtIO有问题IDE就没问题,要后面继续研究了

总结:

故障第一次出现时没有足够重视,没有深入分析,直接搬用网上”解决方案“,导致故障第二次出现。网上资料很多,也很有用,但要结合实际情况取舍,遇到问题要能独立思考并结合自己以前的经验多分析,提高自己分析问题能力的同时让自己的知识更加融会贯通

标签: #ubuntu重启一直点在走 #ubuntu安装卡住了 #虚拟机ubuntu卡住了怎么办 #虚拟机中游戏老是卡死 #ubuntu双系统报警