分析日志文件与故障排查

一、日志文件的概述

1.概念:记录系统和应用程序的运行信息,用于排查和诊断系统的故障;

2.linux系统中日志记录的范围:加载内核、init进程启动、启动/etc/rc.d/rc3.d/S

开头的服务、用户登录、系统程序运行;

3.日志分类:

内核及系统日志:通常由rsyslog进行管理;

用户日志:记录用户的行为;

程序日志:通常独立管理,不交给rsyslog;

二、分析日志文件;

1.常见的日志文件:

/var/log/messages:启动过程日志文件,通常有硬件加载信息,也称为公共志;

/var/log/dmesg:启动过程日志文件,通常有硬件加载信息,对解决硬件故障有帮

助;

/var/log/secure:用户登录认证日志文件;

2.rsyslog服务:管理内核、系统、用户的日志

vi /etc/rsyslog.conf ##编写日志的规则(rules)

语法:设备.优先级 日志存放位置

设备(程序):auth(认证,与security相同)、cron(计划任务)、kern(内

核)、mail(邮件)、user(用户)、local1-local17 (用户自定义存放位置)

优先级:严重级别从低到高,1.debug调试 2.info信息 3.notice提醒 4.warn注意

5.error错误 6.crit严重 7.alert警告 8.emerg紧急,等于panic恐慌

特殊符号:*代表所有的设备或优先级,;表示隔开多个区域

3.查看/var/log/messages文件;

tail /var/log/messages ##查看尾部的文件内容

日志格式 时间 主机名 程序(或设备) 日志内容

4.用户日志分析:

查询当前系统的登陆状况: users ##每个用户对应一个终端

查询登陆系统的详细信息: who ##包括用户、终端、日期

查询当前系统中的每个用户和其所运行的进程: w ##包括用户、终端、进程

查询最近成功登陆系统的用户: last

查询最近登陆失败的用户:lastb

5.程序日志文件分析:

并无使用rsyslog服务来管理程序日志,由程序自己维护日志;

三、linux系统常见启动故障

1.MBR扇区故障

MBR扇区概述:位于物理硬盘的第一个扇区(512B),又称为主引导扇区,前

446个字节是主引导记录(GRUB引导), 后64个字节包含了整个硬盘的分区

表,还有2个字节大小的分区标志;

故障原因:病毒木马等的破坏,不正确分区,磁盘读写误操作等;

故障现象:找不到引导,启动中断,无法加载操作系统,开机后黑屏;

解决思路:应先做好sda中的备份,然后使用系统光盘进救援模式进行恢复;

a.备份:因为MBR扇区存放了整块硬盘的分区信息,所以必须新添加一块硬盘

进行挂载,然后dd MBR中的数据到挂 载点(dd if=/dev/sda of=/benet

/sda.bat bs=512 count=1);

b.若出现此故障,则开机屏幕会显示Operating system not found,在测试环

境中可以模拟故障(dd if=/dev/zero of=/dev/sda bs=512 count=1);

c.需使用系统光盘,调整bois启动,进入急救模式后(注:在急救模式中,使用的

是光盘的linux目录结构),所以找 不到MBR扇区所在磁盘的任何分区信

息,需要在光盘下新建挂载点,然后将备份数据所在的硬盘挂载到挂载点,在

进行数据恢复(dd 挂载点下备份内容到MBR所在位置);

2.grub引导故障:

GRUB引导概述:GRUB大多为linux默认的引导程序,主配置文件/boot/grub

/grub.conf;

故障原因:主配置文件grub.conf文件丢失;

故障现象:引导停滞,无法启动系统,出现grub>字段;

解决思路:

a.备份:将grub引导程序的主配置文件/boot/grub/grub.conf备份到别的存储位

置;

b.模拟故障:将主机的/boot/grub/grub.conf文件删除,重启主机;

c.修复1:手动在grub>字段后输入grub信息 ,进入系统后进行修补grub.conf文件;

d.修复2:进入光盘救援模式;

chroot /mnt/sysimage ##光盘模式默认是光盘的目录结构,由于系统的分

区表没有损坏,那么救援模式将linux

主机的目录架构挂载到了/mnt/sysimage下,需要使用此命令切换到待修复的linux系统;

cp grub.conf备份文件位置 /boot/grub/ ##将备份的grub.conf文件恢复到/boot

目录下

exit ##退出待修复的系统模式

reboot ##重启验证是否修复成功

e.若通过以上步骤无法修复grub引导问题,那么需要进入光盘救援模式,重新

安装grub引导程序,若grub.conf配置文件内部字段被损坏,可以执行重新安装引

导,若此文件丢失则无法安装123;

chroot /mnt/sysimage

grub-install /dev/sda ##重新安装grub引导程序到sda分区中

exit ##退出待修复的系统模式

reboot

3.遗忘root的密码:

解决思路:两种方案

a.进入单用户模式进行修改root密码:开机到秒数时按下键--选择grub行按e键--

将光标移动到kernel行按e键--输入

空格1然后回车--将光标移动到kernel行按b键--进入单用户模式;passwd 更改

root的密码;

b.进入光盘救援模式进行修改root密码:

chroot /mnt/sysimage ##切换到待修复linux系统的的模式下;

passwd ##更改root的密码

exit ##退出待修复linux系统的模式

reboot ##重启主机,登陆验证

4.文件系统故障:

故障原因:非正常关机、突然断电、设备读写失误等(文件系统的超级块super-

block信息被损坏);

故障现象:无法向分区中读取或写入数据,启动后显示Give root password for

maintenance;

解决思路:

a.模拟故障:dd if=/dev/zero of=/dev/sdb1 bs=512b count=4 ##将sdb1分

区的文件系统破坏掉

b.测试挂载:出现mount: you must specify the filesystem type;

c.修复文件系统:fsck -y -t ext4 /dev/sdb1 ##修复文件系统

d.再次测试挂载:mount /dev/sdb1 /benet

5.磁盘资源耗尽故障:

故障原因:磁盘空间已被大量的数据占满,空间耗尽,有可用空间,但文件数i节

点(磁盘中的文件的指针,当Linux系 统要查找某个文件时,它会先搜索inode

table找到这个文件的属性及数据存放地点,然后再查找数据存放的Block进 而将

数据取出)耗尽;

故障现象:无法写入新的文件,提示设备上没有空间,部分程序无法运行,甚至系

统无法启动;解决思路:

a.清理磁盘空间、删除无用的占用i节点的小文件;

b.为用户设置磁盘限额;

注:df -i ##查看磁盘分区的i节点使用情况

6.磁盘坏道的检测:

故障原因:磁盘设备中存在逻辑的或者物理的坏道情况

故障现象:读取磁盘中的数据时,磁盘设备发出声响、访问磁盘中的文件时,反

复读取且出错,提示文件损坏、新建立的 分区无法格式化;

解决思路:

a.检测磁盘时候存在坏道情况(badblocks -sv /dev/sdb);

b.修复硬盘或者更换新的硬盘

四、扩展:为grub引导菜单设置密码;

grub-md5-crypt ##生成MD5加密的字符串

将密码加密串写入配置文件/boot/grub/grub.conf 配置文件

在hiddenmenu 和 title之间增加加密信息,如下

password --md5 加密字符串 ##设置密文密码

password=123123 ##设置明文密码

发表评论

后才能评论