首页 > 代码库 > Linux 系统故障排查思路简析

Linux 系统故障排查思路简析

  
处理linux系统故障的思路:
    1.重视错误提示信息。
    2.查阅日志文件 。message (系统日志) 服务的日志 error(应用日志)
    3.分析,定位问题。
    4.解决问题。
    忘记root密码?
        重置:centos5或者6    启动加载grub引导菜单时 按esc 找到当前系统引导选项。
        按方向键找到需要的系统引导内核,按 “e“ 进入编辑状态。
        然后通过方向键选中带有kernel指令的行 继续按"e" 在行尾价格空格添加‘single’ 修改完成后
        按回车键进入上一级菜单。然后按"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 是否写满。
        服务启动的时候,会写入日志。如果磁盘满了,日志文件写入不了。服务启动不了。

本文出自 “赵雁生的linux之旅” 博客,请务必保留此出处http://12042068.blog.51cto.com/12032068/1897993

Linux 系统故障排查思路简析