第九章系统故障分析与排查1如何判断一个文件是否存在?如何进行整数变量的四则运算?if语句从结构上分为哪几类?for、while、until在循环流程上有何区别?2课程回顾熟悉常见的日志文件及分析方法会解决常见的启动登录类故障会解决常见的软件包安装类故障会解决常见的文件系统、磁盘类故障熟悉常见的系统性能监控方法3技能展示4本章结构日志分析及管理主要日志文件修复文件系统日志文件分析磁盘资源耗尽故障日志管理策略系统启动类故障排除文件系统、磁盘类故障排除MBR扇区故障/etc/inittab文件丢失rpm数据库损坏缺少*.so类文件软件包类故障排除检测硬盘坏道无法卸载已挂载设备查看CPU负载查看系统性能状况查看内存使用情况GRUB引导故障/etc/fstab文件丢失遗忘root用户的密码磁盘I/O性能监控系统故障分析与排查日志的功能用于记录系统、程序运行中发生的各种事件通过阅读日志,有助于诊断和解决系统故障日志文件的分类内核及系统日志由系统服务syslog统一进行管理,日志格式基本相似用户日志记录系统用户登录及退出系统的相关信息程序日志由各种应用程序独立管理的日志文件,记录格式不统一5日志分析及管理日志保存位置默认位于:/var/log目录下主要日志文件介绍内核及公共消息日志:/var/log/messages计划任务日志:/var/log/cron系统引导日志:/var/log/dmesg邮件系统日志:/var/log/maillog用户登录日志:/var/log/lastlog、/var/log/secure、/var/log/wtmp、/var/run/utmp……6日志分析及管理由系统服务syslogd统一管理软件包:sysklogd-1.4.1-39.2主要程序:/sbin/klogd、/sbin/syslogd配置文件:/etc/syslog.conf7内核及系统日志[root@localhost~]#grep-v^#/etc/syslog.conf|grep-v^$*.info;mail.none;authpriv.none;cron.none/var/log/messagesauthpriv.*/var/log/securemail.*-/var/log/maillogcron.*/var/log/cron……设备类别.日志级别消息发送位置日志消息的级别0EMERG(紧急):会导致主机系统不可用的情况1ALERT(警告):必须马上采取措施解决的问题2CRIT(严重):比较严重的情况3ERR(错误):运行出现错误4WARNING(提醒):可能会影响系统功能的事件5NOTICE(注意):不会影响系统但值得注意6INFO(信息):一般信息7DEBUG(调试):程序或系统调试信息等8内核及系统日志数字越小,表示优先级越高、问题越严重日志记录的一般格式9内核及系统日志[root@localhost~]#tail-5/var/log/messagesSep1411:22:44localhostkernel:sdb:cachedataunavailableSep1411:22:44localhostkernel:sdb:assumingdrivecache:writethroughSep1411:22:44localhostkernel:sdb:sdb1Sep1411:23:37localhostkernel:VFS:Can'tfindext3filesystemondevsdb1.Sep1416:54:48localhostNetworkManager:informationstarting...时间标签主机名子系统名消息字段保存了用户登录、退出系统等相关信息/var/log/lastlog:最近的用户登录事件/var/log/wtmp:用户登录、注销及系统开、关机事件/var/run/utmp:当前登录的每个用户的详细信息/var/log/secure:与用户验证相关的安全性事件分析工具who、w、user、last、ac10用户日志分析由相应的应用程序独立进行管理Web服务:/var/log/httpd/access_log、error_log代理服务:/var/log/squid/access.log、cache.log、squid.out、store.logFTP服务:/var/log/xferlog……分析工具文本查看、grep过滤检索、Webmin管理套件中查看awk、sed等文本过滤、格式化编辑工具Webalizer、Awstats等专用日志分析工具11程序日志分析及时作好备份和归档延长日志保存期限控制日志访问权限日志中可能会包含各类敏感信息,如账户、口令等集中管理日志便于日志信息的统一收集、整理和分析杜绝日志信息的意外丢失、恶意篡改或删除12日志管理策略应用示例:调整syslogd服务设置,建立集中管理的日志服务器将客户机B中crond服务产生的日志消息,自动发送到服务器A的/var/log/cron文件中13日志管理策略[root@localhost~]#vi/etc/sysconfig/syslogSYSLOGD_OPTIONS=-r-x-m0[root@localhost~]#vi/etc/syslog.confcron.*@173.17.17.3服务器A客户机B故障原因病毒、木马等造成的破坏不正确的分区操作、磁盘读写误操作故障现象找不到引导程序,启动中断无法加载操作系统,开机后黑屏解决思路应提前作好备份文件以RHEL5安装光盘引导进入急救模式从备份文件中恢复14修复MBR扇区故障应用示例:1.备份MBR扇区数据ddif=/dev/sdaof=/backup/sda.mbr.bakbs=512count=12.模拟MBR被破坏的故障ddif=/dev/zeroof=/dev/sdabs=512count=13.RHEL5光盘引导,进入急救模式boot:linuxrescue4.从备份文件中恢复MBR扇区ddif=/tempdir/sda.mbr.bakof=/dev/sdabs=512count=115修复MBR扇区故障故障原因MBR中的GRUB引导程序遭到破坏grub.conf文件丢失、引导配置有误故障现象系统引导停滞,显示“grub”提示符解决思路尝试手动输入引导命令进入急救模式,从备份中恢复grub.conf向MBR扇区中重建grub程序16修复GRUB引导故障应用示例1:在“grub”提示符后,手动输入引导命令成功进入系统后,恢复或重建grub.conf配置文件17修复GRUB引导故障grubroot(hd0,0)grubkernel/vmlinuz-2.6.18-8.el5roroot=/dev/VolGroup00/LogVol00rhgbquietgrubinitrd/initrd-2.6.18-8.el5.imggrubboot[root@localhost~]#cd/boot/grub/[root@localhost~]#cpgrub.conf.bakgrub.conf从备份文件恢复应用示例2:进入急救模式,从备份文件中恢复grub.conf文件向MBR扇区中重建GRUB程序18修复GRUB引导故障sh-3.1#chroot/mnt/sysimagesh-3.1#cd/boot/grub/sh-3.1#cpgrub.conf.bakgrub.confsh-3.1#grub-install/dev/sda故障原因inittab文件被误删除,或者存在配置错误故障现象启动中提示“...INIT:Noinittabfilefound”系统停滞,无法完成初始化解决思路进入急救模式,从备份文件中恢复或者,在急救模式中重新安装initscripts软件包rpm-ivh--replacepkgsinitscripts-8.45.14.EL.i386.rpm19/etc/inittab文件丢失故障原因fstab文件被误删除,或者存在配置错误故障现象启动中提示“.../etc/fstab:Nosuchfileordirectory”系统启动失败,或文件系统不能正常访问解决思路进入急救模式,手动查找并挂载根分区查找逻辑卷:lvmvgscan激活指定的逻辑卷:lvmvgchange-ay/dev/VolGroup00恢复或重建fstab配置文件20/etc/fstab文件丢失故障原因遗忘root用户的密码故障现象无法进行需要root权限的管理操作若没有其他可用帐号,将无法登录系统解决思路引导进入单用户模式,然后重设密码grubkernel...single或s或1或进入急救模式,然后重设密码21遗忘root用户的密码请思考:Linux系统中最常用的公共日志文件是什么?负责管理内核日志的系统服务是什么?如何进入单用户模式?使用RHEL5光盘引导时,如何进入修复模式?如何向MBR中重建GRUB程序?22小结故障原因非正常关机、误删除运行中的程序文件RPM数据文件被误写或删除故障现象不能正常查询rpm包信息无法安装、升级或卸载软件包等解决思路重建RPM数据库rpm--rebuilddb或rpm--initdb23软件包类故障——rpm数据库损坏故障原因软件正常运行所需要的依赖包没有安装系统找不到依赖包的*.so共享链接库故障现象无法正常编译、安装或运行软件报错提示“缺少....so文件”解决思路确认已安装能提供相应*.so共享库的软件包添加库文件搜索路径,并更新缓存24软件包类故障——缺少*.so类文件[root@localhost~]#vi/etc/ld.so.conf……/usr/local/mysql/lib/mysql[root@localhost~]#ldconfig故障原因非正常关机、突然断电、设备读写失误等文件系统的超级块(super-block)信息被破坏故障现象无法向分区中读取或写入数据启动后提示“Giverootpasswordformaintenance”解决思路根据提示输入root口令,进入修复状态使用fsck命令进行修复25修复损坏的文件系统应用示例:模拟对/dev/sdb1分区的破坏操作ddif=/dev/zeroof=/dev/sdb1bs=512count=4检查是否能挂载该分区报错:mount:youmustspecifythefilesystemtype对/dev/sdb1分区进行修复fsck-ytext3/dev/sdb1再次挂载该分区26修复损坏的文件系统故障原因磁盘空间已被大量的数据占满,空间耗尽虽然还有可用空间,但文件数i节点耗尽故障现象无法写入新的文件,提示“…:设备上没有空间”部分程序无法运行,甚至系统无法启动解决思路清理磁盘空间,删除无用、冗余的文件转移或删除占用大量i节点的琐碎文件进入单用户模式、急救模式进行修复为用户设置磁盘配额27磁盘资源耗尽故障故障原因需要卸载的设备正在被使用故障现象无法卸载设备,提示“...deviceisbusy”解决思路将工作目录切换到挂载点以外退出正在使用该设备的程序或使用fuser命令找出相关进程,并终止该进程28无法卸载已挂载的设备[root@localhostmnt]#fuser-mv/media/cdromUSERPIDACCESSCOMMAND/media/cdrom:root3297..c..bash[root@localhostmnt]#fuser-k/media/cdrom故障原因磁盘设备中存在坏道(逻辑的