分析和排查系统故障
一、分析日志文件
1、主要日志文件
Linux操作系统本身和大部分服务器程序的日志文件都默认放在目录/var/log/下
内核及系统日志:这种日志数据由系统服务rsyslog统一管理,根据其主配置文件 /etc/rsyslog.conf中的设置决定将内核消息及各种系统程序消息记录到什么位置。
用户日志:这种日志数据用于记录Linux操作系统用户登录及退出系统的相关信息,包括用户名、登录的终端、登录时间、来源主机、正在使用的进程操作等。
程序日志:有些应用程序会选择由自己独立管理一份日志文件,用于记录本程序运行过程中的各种事件信息。
常见的一些日志文件
/var/log/messages:记录Linux内核消息及各种应用程序的公共日志信息,包括启动、I/O 错误、网络错误、程序故障等。对于未使用独立日志文件的应用程序或服务,一般都可以从该日志文件中获得相关的事件记录信息。
/var/log/cron:记录crond计划任务产生的事件信息。
/var/log/dmesg:记录Linux操作系统在引导过程中的各种事件信息。
/var/log/maillog:记录进入或发出系统的电子邮件活动。
/var/log/lastlog:记录每个用户最近的登录事件。
/var/log/secure:记录用户认证相关的安全事件信息。
/var/log/wtmp:记录每个用户登录、注销及系统启动和停机事件。
/var/log/btmp:记录失败的、错误的登录尝试及验证事件。
2、日志文件分析
1、内核及系统日志
查看系统默认的日志设置
优先级别(数字等级越小, 优先级越高,消息越重要)
0 EMERG (紧急):会导致主机系统不可用的情况。
1 ALERT (警告):必须马上采取措施解决的问题。
2 CRIT (严重):比较严重的情况。
3 ERR (错误):运行出现错误。
4 WARNING (提醒):可能影响系统功能,需要提醒用户的重要事件。
5 NOTICE (注意):不会影响正常功能,但是需要注意的事件。
6 INFO (信息):一般信息。
7 DEBUG (调试):程序或系统调试信息等。
查看/var/log/messages文件的内容(公共日志信息)
日志消息组成
时间标签:消息发出的日期和时间。
主机名:生成消息的计算机的名称。
子系统名称:发出消息的应用程序的名称。
消息:消息的具体内容。
2、用户日志
(1)查询当前登录的用户情况:users、who、w命令
users命令:输出当前登录的用户名称,每个显示的用户名对应一个登录会话
who命令:报告当前登录到系统中的每个用户的信息
W命令:显示当前系统中的每个用户及其所运行的进程信息
(2)查询用户登录的历史记录:ast、lastb命令
ast命令:查询成功登录到系统的用户记录,最近的登录情况将显示在最前面
lastb命令:查询登录失败的用户记录,如登录的用户名错误、密码不正确等情况
或者(用户认证相关的安全事件信息)
二、排除系统启动类故障
1、MBR扇区故障
1、备份MBR扇区数据
将第一块硬盘(sda) 的MBR扇区备份到第二块硬盘的sdb1分区中(挂载到/backup目录)
2、模拟MBR扇区故障
当出现“Operating system not found”的提示信息,表示无法找到可用的操作系统,因此无法启动主机
3、从备份文件中恢复MBR扇区数据
选择"Rescue a CentOS Linux system"选项
2、GRUB引导故障
在提示符后输入对应的引导命令,然后执行"boot”命令即可正常引导Linux操作系统
grub> insmod xfs
grub> linux16 /vmlinuz-3.10.0-514.el7.x86_64 root=/dev/mapper/cl-root ro crash kernel=autord.Ivm.lv=cl/root rd.lvm.1v=cl/swap rhgb quiet LANG=en_US.UTF-8
grub> initrd16 /initramfs-3.10.0-514.e17.x86_64.img
grub> boot
3、遗忘root用户的密码
进入急救模式重设root用户密码
sh-4.2# chroot /mnt/sysimage
bash-4.1# passwd root
三、排除文件系统类故障
1、修复文件系统
修复一般的文件系统错误
2、磁盘资源耗尽故障
修复i结点耗尽故障:将该分区中占用大量i结点的细小文件,进行转移或者删除即可
3、检测硬盘坏道
现象
读取磁盘中的数据时,磁盘设备发出异常声响。
访问磁盘中的某个文件时,反复读取且出错,提示文件损坏。
对于新建立的分区无法完成格式化。
系统使用该磁盘时频繁死机。
查看硬盘设备/dev/sdb中的坏道情况