|簡體中文

比思論壇

 找回密碼
 按這成為會員
搜索



查看: 967|回復: 7
打印 上一主題 下一主題

Linux系统故障分析方法个人总结

[複製鏈接]

989

主題

1

好友

5295

積分

教授

Rank: 8Rank: 8

  • TA的每日心情

    2024-11-3 15:50
  • 簽到天數: 1258 天

    [LV.10]以壇為家III

    推廣值
    2
    貢獻值
    378
    金錢
    1523
    威望
    5295
    主題
    989

    回文勇士 文明人 中學生 高中生 簽到勳章 簽到達人 男生勳章 大學生 文章勇士 附件高人 附件達人 文章達人 教授

    樓主
    發表於 2013-7-5 20:58:13
    前做过一两年的Linux系统技术支持的工作,帮助客户解决了上百个Linux系统的故障问题,涉及到了Linux大部分方面的问题,期间形成了自己的一套分析解决Linux系统故障问题的方法,特此总结出来分享给大家,希望可以帮助到从事相关行业的朋友们。



    1.查看经验文档

    首先去查看历史经验文档,这是最快、最高效的解决方法。当然了,前提是别人或者你自己有整理过类似问题清单、经验总结这样的文档。

    如果遇到的问题正好有详细的记录,那么恭喜你,你可以快速解决这个问题了。如果没有,那也不要紧,条条大路通罗马嘛,后面还有很多方法。

    顺便说一句,问题解决之后要及时写一下总结文档,于己于人都有好处。

    2.检查系统运行情况

    这一环节主要是使用一些工具来检查CPU、内存、网络、磁盘IO、进程等等系统的运行情况,当然了,工具有很多,除了很多开源软件之外,其实Linux本身自带了很多系统检查的命令,用这些命令也基本足够了。像netstat、find、awk、iostat、strace、ping、traceroute、ifconfig、top、free、ps等命令,都是很强大的。

    在这里举一个之前遇到的一个案例,问题现象是这样的:在Linux系统上运行了一个应用(C语言编写的),但是运行一段时间之后发现系统内存消耗很快,大概3、5天就把系统的32GB内存消耗差不多了,有的甚至开始使用swap了,内存不够之后系统运行就非常缓慢,甚至出现ssh不上的情况,只能强制重启。这个应该算是非常严重的一个问题了,当时用了很久时间才得以解决。具体的分析过程是这样的:首先就是通过上面的那些Linux命令来查看系统CPU、内存、进程等情况,然后编写了一个shell监控脚本每隔5分钟记录一次,记录一段时间之后再去分析产生的记录日志。通过分析,确认是应用本身的问题,应用因为程序错误导致申请的内存未被释放。最终按照客户的要求,应用那边去修改自己的程序错误,Linux系统这边也要做一些限制以避免类似情况再次出现,就这样双管齐下将这个问题解决了。

    3.分析日志

    日志的重要性不言而喻,如果没有日志,我们在分析问题的时候跟一个瞎子差不多。很多问题其实从日志的错误信息中都是可以找到答案的。

    接着上面的那个内存不断消耗的案例来讲,其实在解决这个问题的过程中,日志也起到了非常重要的作用,在系统的日志文件中就已经明确记录了C应用产生的大量段错误。这其实是提供了强有力的证据,来向客户证明这个问题是应用厂商引起的,而不是Linux系统的问题。虽然最终两边都做了修改来解决这个问题,但是对于高可靠的系统而言,客户的这个要求并不过分。

    4.对比

    这里指的是对比故障系统和正常系统之间的异同,通过分析两者的异同点来判断出故障系统的问题原因。个人觉得这个方法在解决故障的时候是最合适的方法,可以将正常系统上的配置、环境移植到故障系统中,继而缩小排查范围,往往可以达到事半功倍的效果。

    5.运用排除法

    这个方法不用多说,大家平常用的都挺多的,主要目的是能缩小范围,减少分析故障所用的时间。

    举个以前处理过的一个故障作为例子吧。故障现象是这样的:一台Linux服务器

    的网络(IP为10.71.1.105,网关为10.71.1.1)断断续续,连通30秒之后就会断掉30秒,很有规律,但是其他服务器的网络都是OK的。上面提到的各种办法用尽都没能解决,后来就用排除法进行定位分析:

    首先,查看连接同一个交换机的其他服务器的网络,一切正常,排除了交换机侧的网络问题。

    然后,重接网线到其他交换机,重新配置IP(改为10.71.5.235)、网关(改为10.71.5.1),一切正常,这就排除了硬件故障,也排除了网卡驱动的故障。

    剩下的就只有网卡配置的问题了,下面就从这个地方入手。接下来将网线重新接回原来的交换机,IP、网关配置也该回原来的(IP为10.71.1.105,网关为10.71.1.1),也就是相当于还原回故障状态。此时,将网卡的IP改为同一网段的其它IP(改为10.71.1.221),改完之后网络也是正常的,进一步断定是网卡的IP配置问题。但是从配置来看,也只是一个IP地址不一样而已,难道是这个IP地址(10.71.1.105)有问题?接着就主要分析这个IP去了,偶然的机会试着ping了一下原来的那个故障IP,居然是通的!至此您应该明白问题原因了吧?IP冲突了,修改一下吧。

    总结一下吧,这个问题虽然解决的有点幸运成分(偶然ping了一下才知道问题原因的),但是主要还是运用排除方法是正确的,将范围缩小到只有那个IP地址了,我想或早或晚都会ping它一下的吧。

    6.求助

    如果所有办法都想过也试过了,仍然解决不了问题,那么就去求助吧。主要有几种途径来求助:Google(个人建议:搜索技术类信息最好用Google,并且最好搜索英语的,毕竟国外技术先进很多)搜索现成的答案、找人帮助分析解决、发帖寻求答案等等。

    结束语

    运用上面这些方法去解决Linux系统问题的话,基本上99%的问题都能搞定的,剩下搞不定的1%我也没辙,如果谁有好的方法或者建议都请不吝赐教。

    个人觉得,其实方法这种东西都是相通的,最主要的是在平常工作中多总结、多思考,并且能够举一反三,这样才能够在工作中高效完成任务。

    0

    主題

    0

    好友

    251

    積分

    小學生

    Rank: 2

  • TA的每日心情
    擦汗
    2017-1-30 14:32
  • 簽到天數: 149 天

    [LV.7]常住居民III

    推廣值
    0
    貢獻值
    0
    金錢
    1061
    威望
    251
    主題
    0
    沙發
    發表於 2013-7-13 19:08:09
    sf 好文章就要顶!

    0

    主題

    0

    好友

    363

    積分

    中學生

    Rank: 3Rank: 3

  • TA的每日心情
    奮斗
    2024-10-30 23:38
  • 簽到天數: 807 天

    [LV.10]以壇為家III

    推廣值
    0
    貢獻值
    0
    金錢
    2048
    威望
    363
    主題
    0
    板凳
    發表於 2013-8-21 09:22:02
    这个很给力 不错哦

    18

    主題

    2

    好友

    316

    積分

    中學生

    Rank: 3Rank: 3

  • TA的每日心情
    奮斗
    2021-9-22 23:51
  • 簽到天數: 294 天

    [LV.8]以壇為家I

    推廣值
    0
    貢獻值
    4
    金錢
    121
    威望
    316
    主題
    18

    回文勇士 簽到勳章 簽到達人 男生勳章

    地板
    發表於 2013-8-21 21:29:00
    請善用帖子右下角舉報鍵,來檢舉有害網站/垃圾/宣傳帖,每個舉報會有金錢增加。
    看看啊就

    0

    主題

    0

    好友

    3161

    積分

    大學生

    Rank: 6Rank: 6

  • TA的每日心情
    開心
    8 小時前
  • 簽到天數: 1709 天

    [LV.Master]伴壇終老

    推廣值
    0
    貢獻值
    0
    金錢
    5
    威望
    3161
    主題
    0
    5#
    發表於 2014-3-5 14:29:00
    查看经验文档

    9

    主題

    0

    好友

    900

    積分

    高中生

    Rank: 4

  • TA的每日心情
    開心
    2021-11-4 09:01
  • 簽到天數: 118 天

    [LV.6]常住居民II

    推廣值
    0
    貢獻值
    0
    金錢
    2183
    威望
    900
    主題
    9
    6#
    發表於 2014-3-12 17:06:25
    学习学习
    重要聲明:本論壇是以即時上載留言的方式運作,比思論壇對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,讀者及用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,讀者及用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本論壇受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者及用戶發現有留言出現問題,請聯絡我們比思論壇有權刪除任何留言及拒絕任何人士上載留言 (刪除前或不會作事先警告及通知 ),同時亦有不刪除留言的權利,如有任何爭議,管理員擁有最終的詮釋權。用戶切勿撰寫粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。

    手機版| 廣告聯繫

    GMT+8, 2024-11-11 17:51 , Processed in 0.015607 second(s), 16 queries , Gzip On, Memcache On.

    Powered by Discuz! X2.5

    © 2001-2012 Comsenz Inc.

    回頂部