系统故障分析与排查.docx

上传人:b****7 文档编号:9543909 上传时间:2023-02-05 格式:DOCX 页数:22 大小:1.13MB
下载 相关 举报
系统故障分析与排查.docx_第1页
第1页 / 共22页
系统故障分析与排查.docx_第2页
第2页 / 共22页
系统故障分析与排查.docx_第3页
第3页 / 共22页
系统故障分析与排查.docx_第4页
第4页 / 共22页
系统故障分析与排查.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

系统故障分析与排查.docx

《系统故障分析与排查.docx》由会员分享,可在线阅读,更多相关《系统故障分析与排查.docx(22页珍藏版)》请在冰豆网上搜索。

系统故障分析与排查.docx

系统故障分析与排查

系统故障分析与排查

9.1、日志分析及管理

9.1.1、主要日志文件

在Linux系统中,日志数据主要包括以下三种类型:

Ø核及系统日志:

这种日志数据由系统服务syslog统一管理,根据其主配置文件/etc/syslog.conf中的设置决定将核消息及各种系统程序消息记录到什么位置。

Ø用户日志:

这种日志数据用于记录Linux系统用户登录及退出系统的相关信息,包括用户名、登录的终端、登录时间、来源主机、正在使用的进程操作等

Ø程序日志:

Linux系统本身和大部分服务器程序的日志文件默认情况下都放置在目录/var/log/中

一些常见的日志文件:

Ø/var/log/messages:

记录Linux核消息及各种应用程序的公共日志信息,包括启动、IO错误、网络错误、程序故障等。

对于未使用独立日志文件的应用程序或服务,一般都可以从该日志文件中获得相关的事件记录信息。

Ø/var/log/cron:

记录crond计划任务产生的事件信息。

Ø/var/log/dmesg:

记录Linux系统在引导过程中的各种事件信息

Ø/var/log/maillog:

记录进入或发出系统的电子活动

Ø/var/log/lastlog:

最近几次成功登录事件和最后一次不成功登录事件。

Ø/var/log/rpmpkgs:

记录系统中安装的各rpm包列表信息

Ø/var/log/secure:

记录用户登录认证过程中的事件信息

Ø/var/log/wtmp:

记录每个用户登录、注销及系统启动和停机事件

Ø/var/run/utmp:

记录当前登录的每个用户的详细信息

9.1.2、日志文件的分析

1、核及系统日志

核及系统日志功能主要有默认安装的sysklogd-1.4.1-44.e15软件包提供,该软件包安装了klogd、syslogd两个程序,并通过syslog服务进行控制。

根据日志消息的重要程度不同,将其分为不同的优先级别(数字等级越小,优先级越高,消息越重要)

Ø0EMERG(紧急):

会导致主机系统不可用的情况

Ø1ALERT(警告):

必须马上采取措施解决问题

Ø2CRIT(严重):

比较严重的情况

Ø3ERR(错误):

运行出现错误

Ø4WARNING(提醒):

可能影响系统功能,需要提醒用户的重要事件

Ø5NOTICE(注意):

不会影响系统的正常功能,但是需要注意的事件

Ø6INFO(信息):

一般信息

Ø7DEBUG(调试):

程序或系统调试信息等

日志的每一行表示一条消息,每个消息均由四个字段的固定格式组成:

Ø时间标签:

消息发出的日期和时间

Ø主机名:

生成消息的计算机的名称

Ø子系统名称:

发出消息的应用程序的名称

Ø消息:

消息的具体容

2、用户日志

在wtmp、utmp、lastlog等日志中,保存了系统用户登录、退出等相关事件的事件消息。

但是这些文件都是二进制的,不能直接用tail、cat、less等文本查看工具浏览,需要使用who,w,users,last,ac等用户查询命令来获取日志信息。

1)、who命令

该命令用于查看utmp文件并报告当前登录的用户信息。

Who默认输出包括用户名、终端类型、登录日期及远程主机。

2)w命令

该命令用于查询utmp文件并显示当前系统中的每个用户及其所运行的进程信息

3)Users命令

该命令用单独的一行打印出当前登录系统的用户,每个显示的用户名对应一个登录会话。

如果一个用户不止一个登录会话,那他的用户名将显示与其相同的次数

4)、last命令

用于查询WTMP文件,显示出自该文件被创建以来登录过的所有用户记录,最近登录的将显示在最前面

5)ac命令

用于查询查询wtmp文件中的用户登录和退出情况,报告用户连接的总时间(小时),使用用户命令作为参数,再结合-d选项可以按每天进行统计,未指定用户名时,可以使用-p选项进行分别统计。

3、程序日志

9.1.3、日志管理策略

建立集中管理的日志服务器:

服务器A:

(IP:

192.168.1.1),用于集中保存日志记录

将客户机B的(IP地址设为192.168.1.100)cond服务产生的日志记录,统一保存到服务器A中的/var/log/cron文件中

1、设置日志服务器A

编辑/etc/sysconfig/syslog,将SYSLOGD_OPTIONS变量的容改为“-r-x–m0”即可

重启syslog服务

2、设置客户机B

在客户机b中需要修改/etc/syslog.conf配置文件,设置将cron计划任务的日志消息写入到服务器A的/var/log/cron中。

指定写入日志的主机地址时,采用192.168.1.1的格式即可

3、验证日志集中管理功能

在客户机B中执行crontab–e编写一条计划任务,保存并退出,回到主机A中查看日志文件

9.2、系统启动类故障排除

9.12.1、MBR扇区故障:

MBR引导记录位于硬盘的第一个扇区(512字节)

1、备份MBR扇区数据

2、模拟MBR扇区故障

3、从备份文件中恢复MBR扇区数据

由于MBR扇区被破坏后,无法再从该硬盘启动系统,所以需要使用其他硬盘中的操作系统进行引导,或直接使用安装光盘进行引导。

无论使用哪种方式,目的都是相同的:

获得一个可以执行命令的Shell环境,以便从备份文件中恢复MBR扇区中的数据。

以使用光盘恢复为例,当出现安装向导boot:

提示符时,在后面输入“linuxrescue”并回车,将以急救模式引导光盘中的Linux系统,之后依次按回车键接收默认的语言、键盘格式。

提示是否配置网卡时一般选择“NO”,然后系统会自动查找硬盘中的Linux分区并尝试将其挂到/mnt/sysimage目录,选择continue确认并继续。

接下来要特别注意:

当出现是否初始化磁盘的警告窗口时,一定要选择NO,以免对硬盘数据造成进一步损坏。

最后选择OK确认后将进入到代“sh-3.1#”提示符的bashshell环境,只要执行相应的命令挂载保存有备份文件的硬盘分区(sdb1),并将数据恢复到硬盘/dev/sda中即可。

然后执行reboot重启系统

9.2.2、GRUB引导故障

当/boot/grup/grub.conf配置文件丢失、或者关键配置出现错误,或者MBR记录中的引导程序遭到破坏时,linux主机启动后可能只会出现“grub>”的提示符,无法完成进一步的系统启动过程。

如果在该提示下可以进行编辑,通过输入对应的引导命令,(可参考/boot/grub/grub.conf).再执行boot命令也可以引导Linux系统。

如:

在此手动输入引导命令启动Linux系统

grub>root(hd0,0)

grub>kernel/vmlinuz-2.6.18-164.el5roroot=LABEL=/rhgbquiet

grub>initrd/initrd-2.6.18-164.el5.img

grub>boot

查看grub.conf启动菜单配置文件的主要容

由于在grub>环境中较复杂,所以可以使用linux系统光盘来修复,具体方法一直到挂载分区都跟修复MBR分区差不多,进入急救模式后会找到硬盘中的linux根分区,并将其挂载到关盘目录结构中的/mnt/sysimage文件夹中。

进入sh-3.1#的shell环境后,执行“chroot/mnt/sysimage”命令可以将目录结构切换到待修复的linux系统中,然后重新建立新的grub.conf配置文件即可。

如果是MBR扇区中的引导程序出现损坏,可能在重建grub.conf配置文件后仍然无法成功启动系统,这时候可以在救援模式的shell环境中重新安装grub。

9.2.3、/etc/inittab文件丢失

/etc/inittab文件丢失后会出现INIT:

Noinittabfilefound的错误提示信息

进入急救模式,重新安装intitscripts软件包

9.2.4、/etc/fstab文件丢失

/etc/fstab文件丢失后,启动时将会出现如下错误提示信息:

同样进入急救模式,但由于缺少fstab文件,光盘系统将无法找到待修复的linux分区,因此必须通过手动的方式查找并挂载跟分区,然后重建fstab配置文件。

9.2.5、遗忘root用户的密码

当忘记root用户密码时,将无法登录linux,如果有其他具有root权限的用户(UID为),或者拥有修改root账号密码权限的用户,则可以使用这些用户登录系统,然后重新设置root用户的密码

大多数时候具有root权限的用户只有一个,因此需要通过其他途径来重设root用户账号的密码。

较简单的是在开机时通过修改GRUB引导参数进入单用户模式,另一途径是通过安装光盘进入急救模式。

1、通过单用户模式重设root账号的密码

(1)、重新启动主机,在出现GRUB菜单时按上下箭头键取消倒计时,并定位到要进入的操作系统选项,按“e”键进入编辑模式

(2)、定位到以kernel开头的一行并按“e”键

在下图的行尾输入”single”de的启动参数,其中single也可以换成字母“s”或者数字“1”也可以表示进入单用户模式。

(3)回车确认后,按“b”键将系统引导到单用户模式,不需要密码即可直接进入Shell环境。

(4)在单用户模式的Shell环境中,直接执行“passwdroot”命令重设root用户的密码即可。

2、通过急救模式重设root用户密码

使用安装光盘进入急救模式的Shell环境,则只需切换到待修复的Linux系统的根目录环境,直接执行“passwdroot”命令重设root用户的密码即可;

或者修改“/etc/shadow”文件,将root用户的密码字段清空,重启,正常进入系统后再修改密码。

设置grub菜单密码(明文)

设置grub菜单密码(密文)

将上面生成密文复制到grub密码字段后

设置核密码,将上面的密码字段放在title后面即可

[rootlocalhostgrub]#vimgrub.conf

default=0

timeout=5

splashimage=(hd0,0)/grub/splash.xpm.gz

hiddenmenu

titleRedHatEnterpriseLinuxServer(2.6.18-164.el5)

password=root

root(hd0,0)

kernel/vmlinuz-2.6.18-164.el5roroot=LABEL=/rhgbquiet

initrd/initrd-2.6.18-164.el5.img

 

9.3、软件包类故障排除

9.3.1、rpm数据库损坏

模拟rpm数据损坏故障,并验证错误信息

清除损坏的rpm数据文件,并重建rpm数据库信息

9.3.2、缺少*.so文件

配置文件/etc/ld.so.conf记录了动态库的默认搜索路径。

当需要添加新的库文件搜索路径时,则必须在该文件中进行修改,修改完成后执行ldconfig命令,重新读取新的配置信息

当安装程序时,如果提示缺少“*.so”文件,应首先使用find命令查找系统中是否存在对应的文件,如不存在则表示提供该库的依赖软件并没有安装,需要先获取相应的软件包并安装行。

若在系统中已经存在对应的“*.so”文件,则可以通过上述修改ld.so.conf文件的方法来解决库文件搜索问题。

9.4、文件系统、磁盘类故障排除

9.4.1、修复文件系统

通过使用fsck命令修复位于出现超级块错误的分区中的ext3文件系统

9.4.2、磁盘资源耗尽故障

1、模拟i节点耗尽故障

(1)以一个2M的ext3文件系统为例,/dev/sdb2,将其挂载到aa下,使用带-i的df命令确认该分区i节点的使用情况

(2)编写一个循环创建空文件的脚本程序,运行该脚本直至耗尽sdb2分区中的i节点

(3)I节点耗尽后,再次创建新的文件时,将报错

2、修复i节点耗尽故障

将占用大量i节点的小文件删除即可

9.4.3、无法卸载已挂载的设备

使用fuser命令可以找出正在使用某个设备或文件/目录的用户、进程等相关信息。

通过“-m”选项可以指定相应的文件或目录,“-v”选项可以显示详细信息。

如果使用“-k”选项还可以强制关闭正在使用该文件或目录的进程

如:

9.4.4、检测硬盘坏道

可以使用mkfs结合-c选项在格式化时进行检测,也可以使用badblocks命令,结合-s(显示进度),-v选项进行检测,

9.5、查看系统性能状况

9.5.1、查看cpu负载

1.使用uptime命令查看cpu负载

在上面分配到每个cpu的负载值不大于3的情况下,表明系统的性能还是比较不错,如果每个cpu的负载值超过5,则说明系统性能可能存在较严重的问题。

由于uptime最多只能记录15分钟的cpu平均负载,如果要得到整天的cup负载,可以编写相应的Shell脚本进行记录

如:

2、查看/proc/loadavg文件

通过该文件,可以查看到从系统启动后到当前时刻的累计cpu负载情况,输出信息依次为:

1分钟平均负载、5分钟平均负载、15分钟平均负载、正在运行的进程数/进程总数、最近运行的进程PID号。

9.5.2、查看存使用情况

使用vmstat命令查看系统虚拟存储使用情况的工具,同时也会输出存使用信息

使用free命令

9.5.3、磁盘I/O性能监控

使用iostat命令可以查看系统中磁盘的I/O性能统计信息。

该命令工具有sysstat软件包提供,需要从系统安装光盘中安装。

该命令结合-d选项只输出磁盘数据,结合-k/-m选项用于以KB/MB为单位输出统计信息,结合-t选项可以同时输出时间,最后还可以直接指定刷新信息的时间间隔(秒)

如:

以KB为单位输出磁盘的I/O新年统计数据,同时显示当前的时间值,并且每5秒刷新一次(按ctrl+c终止)

另外,sysstat软件包还提供了一个mpstat命令工具,用于统计进程负载,可以辅助管理员对主机中的进程状况进行了解

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1