天天看点

【Linux运维】第九章(1):分析日志文件与故障排查

第九章:分析日志文件与故障排查
一、日志文件的概述;
二、分析日志文件;
三、常见linux启动故障;

一、日志文件的概述;
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					##设置明文密码
           
课堂练习
一、MBR扇区故障:
1.关机添加一块硬盘,开机之后进行分区,分区完成挂载到/benet目录下;
2.dd if=/dev/sda of=/benet/sda.bat bs=512 count=1		##备份sda磁盘中的MBR扇区到新添加的硬盘中
3.dd if=/dev/zero of=/dev/sda bs=512 count=1	##模拟MBR扇区故障
4.重启主机发现Operating system not found报错信息,
5.重启主机调bios到光盘启动,进入急救模式;
6.fdisk -l ##查看主机磁盘信息,可以查看到sdb磁盘的信息,但是无sda磁盘的信息,因为MBR扇区包含的分区表已经被损坏
7.mkdir benet	##在光盘环境中创建一个挂载点
8.mount /dev/sdb1 /benet		##将备份的MBR扇区所在的磁盘分区挂载到挂载点中
9.dd if=/benet/sda.bat of=/dev/sda bs=512 count=1		##进行恢复备份的MBR扇区文件到磁盘中
10.reboot		##恢复完成后重启主机
调整bios为硬盘启动
11.主机成功启动,MBR扇区恢复成功;

二、GRUB引导故障:
1.cp /boot/grub/grub.conf /tmp/		##复制系统中的grub.conf启动文件做备份;
2.rm -rf /boot/grub/grub.conf		##删除系统中的启动文件模拟故障;
3.重启主机,发现故障;
4.放入光盘,重启主机,调bios到光盘启动,进入光盘救援模式;
5.chroot /mnt/sysimage		##光盘模式默认是光盘的目录结构,由于系统的分区表没有损坏,那么救援模式将linux主机的目录架构挂载到了/mnt/sysimage下,需要使用此命令切换到待修复的linux系统;
6.cp /tmp/grub.conf /boot/grub/	##将备份的grub.conf文件恢复到/boot目录下
7.exit		##退出待修复的系统模式
8.reboot		##重启验证是否修复成功
9.调整bios,为硬盘启动,测试启动是否成功;

三、修改root密码:
reboot-->按下键-->e-->下键选择kernel-->e-->输入空格1-->回车-->b-->进入单用户模式:passwd  root修改密码-->init 3
           

继续阅读