Linux 系统故障排查思路简析
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 系统故障排查思路简析的主要内容,如果未能解决你的问题,请参考以下文章