1、日志分析及管理

1)类型

内核及系统日志:由系统服务syslog管理,主配置文件"/etc/syslog.conf"

用户日志:记录用户登录及退出等信息

程序日志:日志格式可能会存在极大差异

注:日志文件默认路径/var/log/

2)日志文件分析

普通日志文件使用tail、more、less、cat等查看,而二进制格式的日志文件需使用命令

①内核及系统日志:配置文件"/etc/syslog.conf",通过syslog服务进行控制

格式:时间标签、主机名、应用程序名、消息

②用户日志:使用who、w、users、last、lastb等命令查看

③程序日志:由程序自己维护,如httpd:access_log和error_log

3)日志管理策略,建立集中管理的日志服务器

①配置日志服务器

vi /etc/sysconfig/syslog

SYSLOGD_OPTIONS="-r -x -m 0"

service syslog restart

②配置客户机

vi /etc/syslog.conf

cron.*                         @173.17.17.3

service syslog restart

注:在/etc/syslog.conf中第1列表示哪此日志需要记录,第2列表示日志存储位置

2、系统启动类故障排除

1)MBR扇区故障

主引导扇区第一个扇区(512字节),主要包括系统引导程序(446字节)及硬盘分区表(64字节)

备份MBR扇区数据

mkdir /backup

mount /dev/sdb1 /backup

dd if=/dev/sda of=/backup/sda.mbr.bak bs=512 count=1

模拟MBR扇区故障

dd if=/dev/zero of=/dev/sda bs=512 count=1

恢复MBR扇区数据

输入linux rescue进行急救模式

mkdir /tmpdir

mount /dev/sdb1 /tmpdir

dd if=/tmpdir/sda.mbr.bak of=/dev/sda bs=512 count=1

注:如果没有备份MBR,比较难恢复,可使用“诺顿磁盘医生”之类能够按分区位置查找修复的磁盘工具

    实际上MBR主要由三部分组成:主引导程序446Byte、硬盘分区64Byte、硬盘有效标志2Byte

2)grub引导故障

配置文件"/boot/grub/grub.conf

①模拟故障dd if=/dev/zero of=/dev/sda bs=446 count=1

②进入救援模式

chroot /mnt/sysimage

grub-install /dev/sda

exit

exit

注:①在急救模式下会自动将硬盘中的分区挂载到/mnt/sysimage目录

②在急救模式下会提示是否初始化磁盘的警告,一定要选择NO,否则硬盘数据会全部丢失

③(hd0,0) 对应为 /dev/sda1

④GRand Unified Bootloader极好的统一引导器,是大多数Linux系统默认使用的引导程序

3)/etc/inittab文件丢失

①模拟故障,将/etc/inittab文件删除

②进入救援模式

mount /dev/hdc  /media

cd /media/Server

rpm  -ivh  --replacepkgs  initscripts-8.45.14.EL.i386.rpm

4)/etc/fstab文件丢失

5)遗忘root用户的密码

①通过单用户模式重设密码

②通过急救模式重设密码

进入急救模式,切换到待修复Linux系统的根目录环境,执行passwd root重设root密码;或者修改 "/etc/shadow"文件,将root用户的密码字段清空

3、软件包类故障排除

1)rpm数据库损坏

echo “something” >> /var/lib/rpm/__db.001

rm -rf /var/lib/rpm/__db.00*

rpm --rebuilddb或--initdb

2)缺少*.so类文件

vi /etc/ld.so.conf

/usr/local/mysql/lib/mysql

ldconfig

注:etc/ld.so.conf文件记录动态链接库的默认搜索路径

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

1)修复文件系统

  超级块(super-block)是文件系统的核心,记录文件系统的类型、大小、空闲磁盘块等信息

dd if=/dev/zero of=/dev/sdb1 bs=512 count=4

mount /dev/sdb1 /data

fsck -y -t ext3 /dev/sdb1

mount /dev/sdb1 /data

2)磁盘资源耗尽故障

mkdir /data

mount /dev/sdb1 /data

df -i /data

vi killinode.sh

df -i /data

rm -rf /data/file*

注:①i节点作为文件的索引节点,决定了该磁盘中文件数据的存储位置和存储数量

    ②当创建文件系统后,分区中的i节点数,即文件数量也就固定了

    ③当根分区/的磁盘空间耗尽时,可能导致程序无法运行,甚至系统无法启动,因为无法建立临时文件

3)无法卸载已挂载的设备

fuser –mv 正在使用的文件或目录

-m指定相应的文件或目录

-v可以显示详细信息

-k强制关闭正在使用的进程,需要指定挂载点,如fuser –k /mnt/iso

4)检测硬盘坏道badblocks

-s显示进度信息

-v显示详情

注:①检查坏道之前,应尽量先卸载该分区,退出正在访问设备的其他程序

5、查看系统性能状况

1)查看CPU

uptime:当前系统时间、主机运行时间、登录的用户数、最近1、5、15分钟内CPU平均负载

cat /proc/loadavg

cat /proc/cpuinfo

2)查看内存

vmstat:vmstat是一个查看虚拟内存(Virtual Memory)使用状况的工具

free -m:显示系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer

3)查看磁盘

rpm -ivh /mnt/iso/Server/sysstat-7.0.2-1.el5.i386.rpm

iostat  //查看磁盘I/O性能统计信息

iostat 2 10   //每2秒抓一个包,总共抓10个包

mpstat   //查看与进程相关的统计数据