此次出事的服务器是测试环境的一服务器系统版本为centos5.3,表现的现象是IO非常忙,重起时间也需要半个小时以上,之前对于磁盘没有太多关心,因此事到临头一下子不知道从何查起。
首先是iostat -x 5 %wa在20%左右,列表的%util几首都在100%以上
物理上看4块磁盘做了raid,都亮绿灯。
决定先使用iotop来查看是否有可疑进程,虽然很慢,只能忍受,同时也建议iotop还是必须提前安装好才好,如果linux内核高于2.6.18-128.el5那就很方便。
yum install iotop
如果版本低于2.6.18-128.el5,运行iotop会出现一堆报错信息,需要升级内核
yum -y upgrade kernel kernel-devel
在实际解决问题过程中,由于升级过程非常慢,在晚上执行了,次日回来后发现io忙状况已经消失。莫非centos5.3 linux2.6.18-128.el5有某个bug?总之问题就这样神奇的消失了。
当然这时iotop能使用了,没有可疑的进程。
如果真是磁盘有问题,想要用fsck做检测和修复有什么办法呢?
使用单用户模式
怎么进入?
升级内核后在本机启动(在ssh文本模式看不到),在进入bios界面的后一步进入版本选择(默认选中升级
后的内核版本),如果没有按下enter键会倒数秒后进入新版本。
由于单用户模式,是Readonly的状态,因此可以umount /,可以重置root密码等操作操作,下面做两个案例:
linux root密码忘了怎么办?
在显示linux版本界面时,e进入编辑启动项,a进入修改内核参数,c进入grub命令行状态
按e进入,有三个选项
root
kernel ..
initrd ..
移到kernel项,继续按e进入,可编辑状态,在最后加上" single"按ESC不保存,按Enter保存回到选项界面,
在选中kernel项按b,就启动单用户的模式进入
需要指出的是,加上的" single"只对本次启动不效,下次进入kernel时不会保存上次的修改.
passwd root重置密码
init 6 重启
(此种办法不能远程ssh的方式)
centos可参照界面:http://hepeace.blog.51cto.com/4387185/1308295
linux想检测并修复根目录下的分区
df -l
比如查看到
/dev/mapper/vg1 / 90%
...
进入单用户模式
umount /
e2fsck -a /dev/mapper/vg1
init 6
Linux Rescue
另外一种场景,可能你的系统无法启动因为某个文件或配置被破坏,这时可以使用急救模式,手头准备好一张linux安装盘,通常都会有rescue选项(过程略)
进入linux rescue模式后到bash shell状态下,再进入chroot /mnt/sysimage可以修复系统出错文件等工作,
但是无法umount /
因此无法在linux rescue模式下对根目录所在文件系统进行fsck作磁盘检查和修复
Linux检测磁盘的方法
hdparm
语法:hdparm [-CfghiIqtTvyYZ][-a <快取分区>][-A <0或1>][-c ][-d <0或1>][-k <0或1>][-K <0或1>][-m <分区数>][-n <0或1>][-p ][-P <分区数>][-r <0或1>][-S <时间>][-u <0或1>][-W <0或1>][-X <传输模式>][设备]
补充说明:hdparm可检测,显示与设定IDE或SCSI硬盘的参数。测试各硬盘读取速度判断硬盘故障
hdparm -t /dev/hda (IDE硬盘)
hdparm -t /dev/sda (SATA、SCSI、硬RAID卡阵列)
hdparm -t /dev/md0 (软RAID设备)
测试结果在空载情况下应 >40M/s ,在负载情况下平均应 > 20M/s 为正常,如测试结果极低则需要进一步使用硬盘专用检测工具测试是否为硬盘故障。
badblocks
功能说明:检查磁盘装置中损坏的区块。
语 法:badblocks [-svw][-b <区块大小>][-o <输出文件>][磁盘装置][磁盘区块数][启始区块]
补充说明:执行指令时须指定所要检查的磁盘装置,及此装置的磁盘区块数。
参 数:
-b<区块大小> 指定磁盘的区块大小,单位为字节。
-o<输出文件> 将检查的结果写入指定的输出文件。
-s 在检查时显示进度。
-v 执行时显示详细的信息。
-w 在检查时,执行写入测试。
[磁盘装置] 指定要检查的磁盘装置。
[磁盘区块数] 指定磁盘装置的区块总数。
[启始区块] 指定要从哪个区块开始检查。
例:badblocks /dev/sda -sv
fsck或e2fsck
可自动检查并修复,但必须是umount的状态下
相关推荐
【标题】"CentOS5.3-5.8_32x64位DVD镜像下载种子"涉及的是Linux操作系统中的一个发行版本——CentOS,具体是5.x系列的多个版本。CentOS是一款基于Red Hat Enterprise Linux源代码再编译的开源操作系统,它提供了与...
CentOS 5.3 是一个基于 Red Hat Enterprise Linux (RHEL) 的开源操作系统,它为用户提供了一个稳定、安全且高度可定制的服务器环境。这个版本在2009年发布,作为CentOS系列的一个重要里程碑,它带来了许多改进和更新...
centos5.3_64镜像包,安装包,ISO镜像
以下是在CentOS 5.3版本上挂载NTFS驱动器的详细步骤: 1. **安装内核补丁**: 在进行NTFS挂载之前,首先需要确保你的系统内核支持NTFS。通过运行`uname -a`命令来查看当前系统的内核版本。例如,如果你的内核版本...
LINUX操作系统_CentOS5.3_超详细的安装图文教程.doc
阿里云服务器centos+apache+php5.3+mysql+Zend Guard Loader+memcached+ftp环境搭建笔记
### CentOS 5.3 管理指南知识点详解 #### 一、课程介绍与目标 - **课程背景:** - 本课程旨在为学员提供一套全面的基础工具、技能及实践,以帮助他们掌握配置、保护及维护 Linux 服务器的能力。 - **目标受众:*...
在CentOS 5.3系统下配置vsftpd(Very Secure FTP Daemon)以创建并管理新的FTP用户是一项关键的IT技能,尤其对于那些负责维护服务器和确保数据安全的专业人士而言。下面将详细介绍如何在CentOS 5.3环境中通过vsftpd...
CentOS 5.3 配置 DNS 详解 CentOS 5.3 配置 DNS 需要安装相应的软件包,包括 bind、bind-libs、bind-chroot、bind-utils 和 caching-nameserver。这些软件包可以使用 rpm 命令进行安装。安装完成后,需要配置 DNS ...
至于提供的资源,"CentOS5.3 Linux 编译安装 mysql-6.0.10-alpha 视频教程.avi" 可能是一个详细的视频指南,可以帮助你更直观地了解每个步骤。"访问脚本之家.html" 和 "服务器常用软件.html" 可能包含更多关于服务器...
资料用截图显示出centos5.3的安装步骤
本文将详细介绍在CentOS 5.3上安装JDK 1.5的完整步骤,这对于系统管理员和开发者来说是一项基础任务。 首先,我们需要下载JDK的安装包。在CentOS 5.3的时代,Sun Microsystems是Java的主要供应商,但现在Oracle已经...
### CentOS 5.3 操作系统应用打包知识点详解 #### 一、背景介绍与目标概述 ...通过上述步骤,您可以轻松地为您的团队或客户提供一个高度定制化的 CentOS 5.3 镜像,极大地提高了部署效率并减少了手动配置的工作量。
### CentOS 5.3 下安装 Oracle 10G 超详细教程 #### 一、前期准备 在开始安装过程之前,确保以下准备工作已完成: - **操作系统**: CentOS 5.3 i386 版本。 - **Oracle 10G 完整版**:下载并准备好安装文件。 - **...
### Centos5.3安装Oracle 10g的详细步骤 #### 一、环境准备 在开始安装Oracle 10g之前,确保满足以下硬件和软件条件: - **操作系统**:CentOS 5.3 - **物理内存**:至少1GB - **硬盘空间**:1.5GB至3.5GB,根据...
【CentOS 5.3安装ispCP步骤】 1. **基础配置** 在开始安装前,确保服务器的基础配置正确。例如,服务器IP地址应为192.168.0.200,子网掩码为255.255.255.0,网关为192.168.0.1,DNS服务器可设置为61.128.192.68和...
在 CentOS 5.3 中,lm_sensors 是一个用于监控硬件温度、电压和风扇速度的开源工具。要安装并配置 lm_sensors 来监控 CPU 温度,你需要遵循以下步骤: 1. **检查 lm_sensors 是否已安装** 在开始之前,首先确认...
perl-DBD-MySQL-3.0007-2.el5.i386.rpm perl-DBI-1.52-2.el5.i386.rpm 在新系统CentOS5.3上安装mysql报如下错误 error: Failed dependencies: perl(DBI) is needed by mysql-5.0.77-4.el5_5.4.i386 会需要这两个包.