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 //查看与进程相关的统计数据