Chinaunix首页 | 论坛 | 博客
  • 博客访问: 157998
  • 博文数量: 89
  • 博客积分: 1485
  • 博客等级: 上尉
  • 技术积分: 950
  • 用 户 组: 普通用户
  • 注册时间: 2005-08-31 09:20
文章分类

全部博文(89)

文章存档

2017年(1)

2013年(3)

2010年(1)

2009年(3)

2008年(10)

2007年(31)

2006年(34)

2005年(6)

我的朋友

分类:

2005-12-28 16:04:53

11-2日,linuxredhat as3.0)网站服务器瘫痪,无法正常启动

故障现象:linux网站服务器无法启动,通过光盘引导后,发现网站中的一个5g的分区存放了6g的日志,同时在磁盘管理工具中看到该分区的大小为16t,log目录删除后,重启启动无法启动,对linux进行了重新安装,对其他分区进行了保留,只对/进行了格式化,安装后,发现存放网站数据的分区找不到了

故障解决:

思路1、首先使用df 查看系统可以识别的系统分区,发现有cciss/c0d0p3cciss/c0d0p6cciss/c0d0p7三个分区没有找到,通过使用fdisk /dev/cciss/c0d0可以看到这三个分区中存在数据,分区大小为5g 10g 5g,利用率为61% 1%  1%.

2、对分区进行加载,可是提示错误

  mount  /dev/cciss/c0dop3  /opt

提示需要制定分区格式,从此可以判断分区信息存在了破坏,因为原分区格式为ext3,无需制定格式即可加载。

mount  -t ext2 /dev/cciss/c0dop3  /opt

 

提示分区不存在或者superblock错误。

3、对系统进行了重装,到了硬盘管理的步骤,看到这三个分区的格式为linux native ,而其他分区都可以识别为ext3.

(经过试验,对一个正常的服务器的linux进行重新安装,其他分区为此不便,在安装过程中redhat可识别出分区类型ext3,安装完系统后可以自动加载;redflag识别为linux native ,安装完系统后,手工可以加载。)

进行系统后,分区还是无法加载,排除系统可能存在的软件故障。

4、判断可能是分区由于被数据撑爆,造成superblock损坏,或者分区表纪录有问题,所以对其执行了fsck

fsck –yc /dev/cciss/c0d0p3

提示superblock bad ,使用备份superblock.

然后进行分区检测,出现很多inodesize非常巨大,实际大小应改为0,进行重置,(这与客户反映情况一致,说明磁盘分区信息出现了错误),这样修复后发现分区转变为了ext2分区格式,mount –t ext2  /dev/cciss/c0d0p3 /opt 成功,可以看到了分区下面的数据

同样对c0d0p6的数据进行了恢复。

但是在执行c0dop7的时候,提示superblocak错误,

Group descriptors look bad... trying backup blocks...
fsck.ext2: Invalid argument while checking ext3 journal for /var

 

(实际上再进行fsck之前可以对分区的数据做一个镜像,这样可以减少数据修复丢失的风险 dd if=/dev/ida/c0d0p7 of=/big/var.bak.dd

然后对c0d0p7分区使用mke2fs -S /dev/ida/c0d0p7进行分区文件系统重建

然后使用fsck –yc /dev/cciss/c0d0p7

mount –t ext2 /dev/cciss/c0dop7 /opt2

这样就找到了原来的数据

 

阅读(2976) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~