天天看點

Linux 系統故障排查思路簡析

處理linux系統故障的思路:

    1.重視錯誤提示資訊。

    2.查閱日志檔案 。message (系統日志) 服務的日志 error(應用日志)

    3.分析,定位問題。

    4.解決問題。

    忘記root密碼?

        重置:centos5或者6    啟動加載grub引導菜單時 按esc 找到目前系統引導選項。

        按方向鍵找到需要的系統引導核心,按 “e“ 進入編輯狀态。

        然後通過方向鍵選中帶有kernel指令的行 繼續按"e" 在行尾價格空格添加‘single’ 修改完成後

        按Enter鍵進入上一級菜單。然後按"b".進入單使用者模式, passwd   輸入2次相同的密碼。

        然後重新啟動系統 (reboot   或是  init 3)

        重置centos7 下的密碼:

            同樣進入 kernel行尾添加 init=/bin/sh

            ctrl +x   啟動shell引導,進入單使用者模式。

            挂載根分區:

            mount  -o remount,rw /

            如果系統開啟了 selinux 需要在根分區建立 autorelabel檔案 (touch /.autorelabel)

            passwd  輸入2次一樣的密碼

            重新啟動:  exec  /sbin/init    

    linux 啟動不了?

    援救模式啟動系統。

        模拟故障: 修改 /etc/fstab  # \mv /etc/fstab /etc/fstab.bak

        啟動系統:出現錯誤;

        Starting system logger: Can't open or create /var/run/syslogd.pid.  Can't write pid .

        解決方法: 在光驅中放入系統盤。用系統盤重新開機啟動。

            進入修複模式:Rescue installed system

            啟動到shell最終進入   bash-4.1#    指令提示符下:

            可以檢視系統分區情況: # fdisk -l

            檢視根分區的具體位置: tune2fs -l /dev/sda2 | more

            (/dev/sda2這個參數根據具體分區情況 查找到/ 目錄 因為fstab在根目錄下)

            找到根分區後挂載根分區。然後重構 fstab檔案  

            重新啟動系統。看是否讀取fstab成功。

    檔案系統受損(一般在頻繁讀寫的時候出現斷電。容易造成檔案系統錯誤)

        如何檢視檔案體統類型:

        1. file -s /dev/sda2

        2.  mount

        3.  df -T /dev/sda2

        4.  more /etc/fstab

    如果系統不能修複就需要手動修複了:

     1.解除安裝 分區 umount

     2.  修複  fsck.ext4 -y /dev/sda5

Linxu網絡問題?

     1.網絡硬體異常。(網線,網卡,路由器,交換機)

     2.檢查網卡是否正常工作(網卡配置檔案是否正确)

     3.檢查DNS設定  /etc/resolv.conf    /etc/hosts(域名解析服務沖突)

     4.服務是否正常打開。可以通過telnet或者netstat指令檢視服務是否正常。

     5.通路權限是否打開,從本機iptalbes 防火牆,linux核心強制通路控制政策selinux。

     6.區域網路主機之間聯接是否正常,可以通過ping自身ip。ping區域網路其它主機IP,ping網關

        位址确定區域網路連接配接正常。

    檢視網絡路由資訊。動态監測 : 

    mtr  域名或ip

    traceroute 域名或ip

    檢查服務是否正常:例如sshd 服務:

     # telnet  192.168.1.123 22

    (成功進入telnet後 。如何退出? ctrl + ]   進入telnet> quit 退出 

    檢查區域網路主機之間聯機是否正常:

        ping  ip   | telnet ip port

    錯誤解析: 一般操作檔案系統時。例如 執行 mkdir 時 出現:“Read-only file system“

        可能是檔案系統資料塊出現不一緻導緻的,也有可能是磁盤故障造成的。

        對于簡單的錯誤,檔案系統一般可自行修複,當遇到緻命錯誤無法修複時,檔案系統為了保證資料一緻性和安全,會暫時屏蔽檔案系統的寫操作,将檔案系統變為隻讀,進而出現了上面的“Read-only file system”現象。

        解決: fsck指令修複

        解除安裝 分區。umount

        可以檢視 檔案所占用的pid  :  fuser  /

        執行 fsck   (fsck會自動識别檔案系統類型)

    檔案權限問題:

        # su - swa

        su: warning: cannot change directory to /home/swa: Permission denied

        su: /bin/bash: Permission denied

        檢視 /home/下的權限:

           # ls -al

        drwxr-xr-x.  3 root root 4096 Jan 29 04:03 .

        drw-rw-rw-. 24 root root 4096 Jan 29 01:41 ..

        drwx------   2 swa  swa  4096 Jan 29 04:03 swa 

        這裡發現 。。  目錄沒有x (執行權限)

        # chmod  755 .. (修改權限)

        成功切換登入。

        還可以通過 stat  檢視 權限

         stat ..

          File: `..'

          Size: 4096            Blocks: 8          IO Block: 4096   directory

        Device: 802h/2050d      Inode: 1046530     Links: 3

        Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)

        Access: 2017-01-29 04:03:28.585978590 +0800

        Modify: 2017-01-29 04:03:08.505176624 +0800

        Change: 2017-01-29 04:03:08.505176624 +0800

    服務啟動問題: 啟動不了服務:

        可以檢視 磁盤空間時候寫滿。或者 innode 是否寫滿。

        服務啟動的時候,會寫入日志。如果磁盤滿了,日志檔案寫入不了。服務啟動不了。

本文轉自 swallow_zys  51CTO部落格,原文連結:http://blog.51cto.com/12042068/1897993,如需轉載請自行聯系原作者