Chinaunix

标题: 如何修复软RAID5 [打印本页]

作者: coagent8    时间: 2008-11-20 09:55
标题: 如何修复软RAID5
小弟有一台服务器的 软 RAID 5 挂了,大哥大姐们请帮我看看。

情况是这样的,一台装 SuSE 10.3 的服务器(组装),上面有三颗 320G SATA 硬盘,在安装 SUSE 时设置了软 RAID 5,三颗硬盘分别设置设 1G,组合成 3G 做 SWAP 分区,其他的划为根分区。

昨天同事将键盘和鼠标拆下借用了一下,另一同事想用服务器,发现不能操作,就热启动了一下机器,结果就进不了系统。

我用 mdadm -D /dev/md0 显示的信息是:
active sync /dev/sda3
active sync /dev/sdb1
spare rebuilding /dev/sdc2

我的操作系统也是在 RAID5 环境中安装的,现在系统进不了。提示无法激活 /dev/md0 分区。

请问如何修复?
作者: luo118    时间: 2008-11-20 10:04
cat /proc/mdstat
fdisk -l

cat /etc/mdadm.conf

这些信息发上来,

三颗硬盘分别设置设 1G,组合成 3G 做 SWAP 分区,其他的划为根分区。

不是RAID 5 吧,你说的做法有点像RAID 0 的....
如像是RAID 0 有一个硬盘有问题,就这样的了,
如果是 RAID 5 有一个硬盘有问题,不会影响另个两个硬盘系统的运作。
作者: coagent8    时间: 2008-11-20 10:32
谢谢楼上的回复!

cat /proc/mdstat 返回的结果如下:
Personalities: [raid6] [raid5] [raid4] [raid0] [raid1]
md0: inactive sda3[0] sdc2[3] sdb2[1]
         929287424 blocks super 1.0
unused devices: <none>

fdisk -l 执行后返回:sh: fdisk: command not found

我想因为我的系统也在 RAID5,所以现在内核是没有完全加载的,所以会报找不到这个命令。

cat /etc/mdadm.conf 返回的结果如下:
DEVICE partitions
ARRAY /dev/md0 level=raid5 num-devices=3 spares=1 name=0 UUID=e04580f5:feab3ecc:633557ce:5310f44
作者: coagent8    时间: 2008-11-20 10:47
我用 mdadm -D /dev/md0 命令查看的结果如下:

mdadm -D /dev/md0
/dev/md0:
Version: 01.00.03
Creation Time: Sat Nov 24 19:17:53 2007
Raid Leve: raid5
Used Dev Size: 308359424 (294.07 GiB 315.76 GB)
Raid Devices: 3
Total Devices: 3
Preferred Minor: 0
Persistence: Superblock is persistent

Update Time: Wed Nov 19 09:57:10 2008
State: active, degraded, Not Started
Active Devices: 2
Working Devices: 3
Failed Devices: 0
Spare Devices: 1

Layout: left-symmetric
Chunk Size: 128K

Name: 0
UUID: e04580f5:feab3ecc:633557ce:5310f440
Events: 8502297

Number Major Minor RaidDevice State
0      8     3     0          active sync /dev/sda3
1      8     18    1          active sync /dev/sdb2
3      8     34    2          spare rebuilding /dev/sdc2
作者: lasama    时间: 2008-11-20 11:03
系统不是告诉你么

spare rebuilding /dev/sdc2


在重建数据
可能是硬盘有逻辑坏道了,需要rebuilding数据,你让它开着等上一夜的,看会不会rebuilding完,一般来说,这个速度和数据量有关,数据越大,rebuilding的时间越长
作者: coagent8    时间: 2008-11-20 11:19
我这里没有显示任何进度,怎么知道它是在自动rebuilding?

这里显示的是 spare rebuilding,不是rebuilding,应该不同吧。
作者: coagent8    时间: 2008-11-20 11:34
我想如果应该还在硬盘上,现在问题是如何rebuilding,是软 RAID,且系统就在 RAID 上,现在内核都未完全加载,怎么弄呢?
作者: luo118    时间: 2008-11-20 18:13
原帖由 coagent8 于 2008-11-20 11:34 发表
我想如果应该还在硬盘上,现在问题是如何rebuilding,是软 RAID,且系统就在 RAID 上,现在内核都未完全加载,怎么弄呢?


Number Major Minor RaidDevice State
0      8     3     0          active sync /dev/sda3
1      8     18    1          active sync /dev/sdb2
3      8     34    2          spare rebuilding /dev/sdc2

/dev/sdc2 你可以关机,拆下这个硬盘,使系统起来正常工作。

也可以换一个好的硬盘上去, 因为你的/dev/sdc2 硬盘, 320G 来算,今早到现在如是不是有问题的,已经spare rebuilding  完了。
作者: lasama    时间: 2008-11-20 18:16
小弟有一台服务器的 软 RAID 5 挂了,大哥大姐们请帮我看看。

情况是这样的,一台装 SuSE 10.3 的服务器(组装),上面有三颗 320G SATA 硬盘,在安装 SUSE 时设置了软 RAID 5,三颗硬盘分别设置设 1G,组合成 3G 做 SWAP 分区,其他的划为根分区。

你这个描述我看不明白
既然做了RAID5了,怎么还会“三颗硬盘分别设置设 1G,组合成 3G 做 SWAP 分区”,这是RAID0吧?
其他所有的容量做根分区?这样设置就有问题,所有的东西都放在/下面,/一旦坏了,所以的数据都丢掉了

你现在能从grub进安全模式么?
如果可以,登陆进去把你的系统分区,就是fdisk -l的结果贴出来看一下
作者: luo118    时间: 2008-11-20 18:18
为了安全起见,你把硬盘标记为 fail,以重启看看,这样就不用拆硬盘了,如果要换再拆硬盘吧!

mdadm --manage /dev/md0 --fail /dev/sdc2
作者: coagent8    时间: 2008-11-20 18:30
标题: 回复 #8 luo118 的帖子
luo118,你在 8 楼说的,我们今天机器开着,一直未自动 rebuiding。openSuSE 10.3 系统本身就在 raid 上,现在系统启动不到正常模式,启动到一个 $ 的命令提示符。 所以它应该不会自动 rebuilding 的。
作者: coagent8    时间: 2008-11-20 18:35
原帖由 lasama 于 2008-11-20 18:16 发表
小弟有一台服务器的 软 RAID 5 挂了,大哥大姐们请帮我看看。

情况是这样的,一台装 SuSE 10.3 的服务器(组装),上面有三颗 320G SATA 硬盘,在安装 SUSE 时设置了软 RAID 5,三颗硬盘分别设置设 1G,组合 ...


我现在启动系统,是在一个 $ 的命令提示符,执行 fdisk -l 命令后出现下面的提示:
sh: fdisk: command not found
作者: coagent8    时间: 2008-11-20 18:37
原帖由 luo118 于 2008-11-20 18:18 发表
为了安全起见,你把硬盘标记为 fail,以重启看看,这样就不用拆硬盘了,如果要换再拆硬盘吧!

mdadm --manage /dev/md0 --fail /dev/sdc2


mdadm --manage /dev/md0 --fail /dev/sdc2 命令执行的结果如下:

mdadm: set device faulty failed for /dev/sdc2: No such device

无法设置这颗硬盘为无效,下一步该怎么办呢?
作者: coagent8    时间: 2008-11-20 18:43
我也试过将 /dev/sdc2 这颗硬盘从物理上拆下来,结果系统还是启动不了。
作者: coagent8    时间: 2008-11-20 18:51
我找到一张 Ubuntu 的 Live CD,用它启动后,使用 fdisk -l 看到的信息如下:

Disk /dev/sda: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xd2d8d2d8

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1         262     2104483+  82  Linux swap / Solaris
/dev/sda2   *         263         524     2104515   83  Linux
/dev/sda3             525       38913   308359642+  fd  Linux raid autodetect

Disk /dev/sdb: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xb3dc8fff

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         262     2104483+  82  Linux swap / Solaris
/dev/sdb2             263       38913   310464157+  fd  Linux raid autodetect

Disk /dev/sdc: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xb3dc8ffe

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1         262     2104483+  82  Linux swap / Solaris
/dev/sdc2             263       38913   310464157+  fd  Linux raid autodetect

[ 本帖最后由 coagent8 于 2008-11-20 18:56 编辑 ]
作者: luo118    时间: 2008-11-20 19:32
有D系统会 自动 rebuiding的,状态可以在通常会在这里可以看到
cat /proc/mdstat
作者: luo118    时间: 2008-11-20 19:45
原帖由 coagent8 于 2008-11-20 18:51 发表
我找到一张 Ubuntu 的 Live CD,用它启动后,使用 fdisk -l 看到的信息如下:

Disk /dev/sda: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * ...


按你的提供的
fdisk -l

cat /proc/mdstat 返回的结果如下:
Personalities: [raid6] [raid5] [raid4] [raid0] [raid1]
md0: inactive sda3[0] sdc2[3] sdb2[1]
         929287424 blocks super 1.0
unused devices: <none>

我想因为我的系统也在 RAID5,所以现在内核是没有完全加载的,所以会报找不到这个命令。

cat /etc/mdadm.conf 返回的结果如下:
DEVICE partitions
ARRAY /dev/md0 level=raid5 num-devices=3 spares=1 name=0 UUID=e04580f5:feab3ecc:633557ce:5310f44


来分析, 你的不是RAID 5 是 RAID 6
你的 sda3[0] sdc2[3] sdb2[1] 做了RAID5
你的 sda1 sdb1 sdc1 做了RAID1
这就是RAID6 有些人称为 RAID5+1

/dev/sda2 应就是做了引导/boot

朋友你的RAID5 做错了,现在是 RAID 6  还好你的数据是在 RAID 5上, swap 做了RAID 1
作者: luo118    时间: 2008-11-20 19:46
常试如下方面,
swapoff /dev/md0;
如果打提不存在,那运行这些吧
swapoff /dev/sda1
swapoff /dev/sdb1
swapoff /dev/sdc1

vi /etc/fstab 找到 swap 这行注解他,
vi /etc/mdadm.conf, #所有东西注解它。
之后重启看看,

[ 本帖最后由 luo118 于 2008-11-20 21:54 编辑 ]
作者: luo118    时间: 2008-11-20 19:48
如果还不行,把开机的提示信息传上来,
df 的信息也传上来,

其实sda 盘就可以启动系统了,
如果真的不行
sdb sdc 都不接,用sda 启动。

重要的不行,要把错误信息贴上来给我
作者: kns1024wh    时间: 2008-11-20 22:29
1、查询状态
cat /proc/mdstat
fdisk -l
cat /etc/mdadm.conf
2、重建数据
spare rebuilding /dev/sdc2
作者: coagent8    时间: 2008-11-21 09:57
原帖由 luo118 于 2008-11-20 19:32 发表
有D系统会 自动 rebuiding的,状态可以在通常会在这里可以看到
cat /proc/mdstat


我这里没有自动 rebuilding,

cat /proc/mdstat 命令结果如下:

Personalities: [raid6] [raid5] [raid4] [raid0] [raid1]
md0:  inactive sda3[0] sdc2[3] sdb2[1]
          929287424 blocks super 1.0

unused devices: <none>
作者: coagent8    时间: 2008-11-21 10:23
原帖由 luo118 于 2008-11-20 19:46 发表
常试如下方面,
swapoff /dev/md0;
如果打提不存在,那运行这些吧
swapoff /dev/sda1
swapoff /dev/sdb1
swapoff /dev/sdc1

vi /etc/fstab 找到 swap 这行注解他,
vi /etc/mdadm.conf, #所有东西注解它 ...


上面这些命令我统统执行不了,提示 command not found,因为内核未加载,执行不了。
作者: luo118    时间: 2008-11-21 10:33
标题: 回复 #22 coagent8 的帖子
你是进了单用户模式下吗?
你重启一下,什么都不要动,看看启动到那里停止了,在停止处的上行文很定有很多错误信息了,贴上来比我看看。
作者: luo118    时间: 2008-11-21 10:35
df 的信息也发上来,
作者: luo118    时间: 2008-11-21 10:38
可以参考的方法
使用
/dev/sda  硬盘启动,
修改一下grub.conf 和 vi /etc/fstab 找到 swap 这行注解他,
vi /etc/mdadm.conf, #所有东西注解它

/dev/sdb/ 数据还是用的,就留着吧,有什么损失可以接到其它机上COPY 数据。

/dev/sdc/ 这硬盘的数据已经没有了,
作者: luo118    时间: 2008-11-21 10:50
原帖由 coagent8 于 2008-11-20 18:37 发表


mdadm --manage /dev/md0 --fail /dev/sdc2 命令执行的结果如下:

mdadm: set device faulty failed for /dev/sdc2: No such device

无法设置这颗硬盘为无效,下一步该怎么办呢?


从你发上来的信息来看 /dev/sdc2 是存在,为什么会找不到呢?

试一下 成个md0 停掉看看
mdadm --stop /dev/md0

不行回答下面问题
lz 你是用什么方式进去的,可以说一下吗?  使用cd 或是单用户? 在系统启动一半时候系统提示输入root 密码进入了修复模式?


lz  请你贴一下

df  信息
/etc/fstab 信息也贴上来,
作者: coagent8    时间: 2008-11-21 11:29
原帖由 luo118 于 2008-11-20 19:48 发表
如果还不行,把开机的提示信息传上来,
df 的信息也传上来,

其实sda 盘就可以启动系统了,
如果真的不行
sdb sdc 都不接,用sda 启动。

重要的不行,要把错误信息贴上来给我


试过,不行。
作者: coagent8    时间: 2008-11-21 11:40
我用的不是grub做启动,现在我重启系统,什么也没动,屏幕出现的信息,可以看到的有以下:

hub 6-0:1.0: USB hub found
hub 6-0:1.0: 2 ports detected
md: raid0 personality registered for level 0
md: raid1 personality registered for level 1
md: md0 stopped
md: bind<sdb2>


md: bind<sdc2>
md: bind<sda3>
md: md0: raid array is not clean -- starting background reconstruction
raid5: device sda3 operational as raid disk 0
raid5: device sdb2 operational as raid disk 1
raid5: cannot start dirty degraded array for md0
RAID5 conf printout:
-- rd:3 wd:2
disk 0, o:1, dev:sda3
disk 1, o:1, dev:sdb2
disk 2, o:1, dev:sdc2
raid5: failed to run raid set md0
md: pers->run() failed...
mdadm: failed to RUN_ARRAY /dev/md0: Input/output error

mdadm: device /dev/md0 already active -- cannot assemble it
Trying manual resume from /dev/sda1
Invoking userspace resume from /dev/sda1
resume: Could not stat configuration file
resume: libgcrypt version: 1.2.4
Trying manual resume from /dev/sda1
Attempting manual resumee from /dev/sda1
Waiting fro device /dev/md0 to appear: ok
/devmd0: unknown volume type
invalid root filesystem -- exiting to /bin/sh
sh: no jbocontrol in this shell

df 命令执行不了:
sh: df: command not found

mdadm --stop /dev/md0 可以停掉 /dev/md0,我尝试下面的方法:

mdadm --stop /dev/md0
mdadm --assemble --update=resync /dev/md0 /dev/sda3 /dev/sdb1 /dev/sdc2
然后再 cat /proc/mdstat,出来的结果还是 inactive.
作者: luo118    时间: 2008-11-21 12:06
原帖由 coagent8 于 2008-11-21 11:40 发表
我用的不是grub做启动,现在我重启系统,什么也没动,屏幕出现的信息,可以看到的有以下:

hub 6-0:1.0: USB hub found
hub 6-0:1.0: 2 ports detected
md: raid0 personality registered for level 0
md ...
md: pers->run() failed...
mdadm: failed to RUN_ARRAY /dev/md0: Input/output error


mdadm: device /dev/md0 already active -- cannot assemble it
Trying manual resume from /dev/sda1
Invoking userspace resume from /dev/sda1
resume: Could not stat configuration file
resume: libgcrypt version: 1.2.4
Trying manual resume from /dev/sda1
Attempting manual resumee from /dev/sda1
Waiting fro device /dev/md0 to appear: ok
/dev/md0: unknown volume type
invalid root filesystem -- exiting to /bin/sh

sh: no jbocontrol in this shell

mdadm --stop /dev/md0 可以停掉 /dev/md0,我尝试下面的方法:

mdadm --stop /dev/md0
mdadm --assemble --update=resync /dev/md0 /dev/sda3 /dev/sdb1 /dev/sdc2  #这做法没有错,但是md0 有错误了,跟本上没有起效。

作者: luo118    时间: 2008-11-21 12:10
你可以尝试如下方法.
mdadm --stop /dev/md0
mdadm --manage /dev/md0 --remove /dev/sdb2;
mdadm --manage /dev/md0 --remove /dev/sdc2;

mdadm --manage /dev/md0 --add /dev/sdb2;
mdadm --manage /dev/md0 --add /dev/sdc2;
看看有没有起效,
如没有再试试
mdadm --assemble --update=resync /dev/md0 /dev/sda3 /dev/sdb1 /dev/sdc2
作者: luo118    时间: 2008-11-21 12:13
如果还是没有效果
那就要 整个 RAID 5 拆掉,重新建立过了, 重建是选取sda 为基准盘,所有数据会保留。

重要的数据,先备份出来,以防万一。
作者: luo118    时间: 2008-11-21 12:15
删除后,重建参考
mdadm --create --verbose /dev/md0 --level=raid5 --raid-devices=3 /dev/sda /dev/sdb /dev/sdc
作者: luo118    时间: 2008-11-21 12:16
成功完成后
保存RAID 的信息到 /etc/mdadm.conf中,开机启时候可以自动激活
mdadm --detail --scan > /etc/mdadm.conf
作者: coagent8    时间: 2008-11-21 12:28
谢谢楼上  luo118 的耐心解答,我现在先不操作,下午拿整机去数据恢复公司将重要数据安全恢复到其他硬盘上,然后再试试你说的方法。
作者: luo118    时间: 2008-11-21 12:47
原帖由 coagent8 于 2008-11-21 12:28 发表
谢谢楼上  luo118 的耐心解答,我现在先不操作,下午拿整机去数据恢复公司将重要数据安全恢复到其他硬盘上,然后再试试你说的方法。


sda 硬盘中没有数据吗?
其实你接多一个硬盘下去,就可以把数据 copy 出来了啊!
没有必要拿到数据恢复公司,只是小事来的,

也可以拆下sda 硬盘,放到另一台机mount 机来,copy 数据即可以。
作者: shitou251314    时间: 2008-11-21 13:34
你不是已经用了Ubuntu的live cd了吗, 直接挂上硬盘把数据拿出来就行了
作者: coagent8    时间: 2008-11-21 16:50
原帖由 kns1024wh 于 2008-11-20 22:29 发表
1、查询状态
cat /proc/mdstat
fdisk -l
cat /etc/mdadm.conf
2、重建数据
spare rebuilding /dev/sdc2


spare rebuilding /dev/sdc2,这个命令不存在啊。
作者: coagent8    时间: 2008-11-21 16:51
原帖由 luo118 于 2008-11-21 12:47 发表


sda 硬盘中没有数据吗?
其实你接多一个硬盘下去,就可以把数据 copy 出来了啊!
没有必要拿到数据恢复公司,只是小事来的,

也可以拆下sda 硬盘,放到另一台机mount 机来,copy 数据即可以。


raid 分区挂载不了,尝试过挂载到另外一台机的硬盘上的。
作者: coagent8    时间: 2008-11-21 19:15
原帖由 luo118 于 2008-11-21 12:15 发表
删除后,重建参考
mdadm --create --verbose /dev/md0 --level=raid5 --raid-devices=3 /dev/sda /dev/sdb /dev/sdc


在另外一台机器,安装好一个 openSuSE,将这三块硬盘挂上去,执行上面的后,看到 Rebuilding Status 进度了,直到 100% 完成。

原帖由 luo118 于 2008-11-21 12:16 发表
成功完成后
保存RAID 的信息到 /etc/mdadm.conf中,开机启时候可以自动激活
mdadm --detail --scan > /etc/mdadm.conf


现重启后,mdadm --detail /dev/md0 得到的结果如下:

Version: 00.90.03
Creation Time: Fri Nov 21 17:13:55 2008
Raild Level: raid5
Array Size: 616719104 (588.15 GiB 631.52 GB)
Used Dev Size: 308359552 (294.07 GiB 315.76 GB)
Raid Devices: 3
Total Devices: 3
Perferred Minor: 0
Persistence: Superblock is persistent

Update Time: Fri Nov 21 19:04:08 2008
State: clean
Active Devices: 3
Working Devices: 3
Failed Devices: 0
Spare Devices: 0

Layout: left-symmetric
Chunk Size: 64K

UUID: 81c02d5e:5a6ad7bb:7d60da0b:44c4ae30
Events: 0.126

Number Major Minor RaidDevice State
0      8     51    0          active sync /dev/sdd3
1      8     18    1          active sync /dev/sdb2
2      8     34    2          active sync /dev/sdc2


然后我想尝试挂载 /dev/md0 到某个目录,比如  mount -t xfs /dev/md0 /data/,返回的结果是:
mount: wrong fs type, bad option, bad superblock on /dev/md0,
            missing codepage or helper program, or other error
            In some cases useful info is found in syslog - try dmesg | tail or so


请问我里面的数据,现在还在吗?我应该如何得到它呢?

[ 本帖最后由 coagent8 于 2008-11-21 19:26 编辑 ]
作者: coagent8    时间: 2008-11-21 20:09
/etc/mdadm.conf 信息如下:
ARRAY /dev/md0 level=raid5 num-devices=3 UUID=81c02d5e:5a6ad7bb:7d60da0b:44c4ae30

/proc/mdstat 信息如下:
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdd3[0] sdc2[2] sdb2[1]
      616719104 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]
      
unused devices: <none>


df 命令执行结果如下:
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda2            308236544   2641040 305595504   1% /
udev                   2010308       116   2010192   1% /dev


/etc/fstab 文件信息如下:
/dev/disk/by-id/scsi-SATA_ST3320620NS_5QF60HX4-part1 swap                 swap       defaults              0 0
/dev/disk/by-id/scsi-SATA_ST3320620NS_5QF60HX4-part2 /                    xfs        defaults              1 1
/dev/disk/by-id/scsi-SATA_ST3320620AS_9QF5DVPX-part1 swap                 swap       defaults              0 0
/dev/disk/by-id/scsi-SATA_ST3320620AS_9QF5AY1D-part1 swap                 swap       defaults              0 0
/dev/disk/by-id/scsi-SATA_ST3320620AS_9QF55ZQT-part1 swap                 swap       defaults              0 0
proc                 /proc                proc       defaults              0 0
sysfs                /sys                 sysfs      noauto                0 0
debugfs              /sys/kernel/debug    debugfs    noauto                0 0
usbfs                /proc/bus/usb        usbfs      noauto                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0
作者: glkgdj    时间: 2008-11-24 10:14
如果有重要数据的话,别乱实验,乱搞一通最后恐怕数据彻底报废了,先备份完再实验吧。软raid的恢复是比较麻烦的事情,跟硬件RAID原理有很大不同的
作者: luo118    时间: 2008-11-24 10:38
你运行了
mdadm --create --verbose /dev/md0 --level=raid5 --raid-devices=3 /dev/sda /dev/sdb /dev/sdc
在另外一台机器,安装好一个 openSuSE,将这三块硬盘挂上去,执行上面的后,看到 Rebuilding Status 进度了,直到 100% 完成。
以后mount 唔起来对吧!


1 mdadm --create --verbose /dev/md0 --level=raid5 --raid-devices=3 /dev/sda /dev/sdb /dev/sdc  你硬盘位置上没有改动,这指命,如果没有你的数据就没有了,因为你做错了,因为你现在是新的主机,不是原来的那个 /dev/sda 不是原来那个了。

现重启后,mdadm --detail /dev/md0 得到的结果如下:

Version: 00.90.03
Creation Time: Fri Nov 21 17:13:55 2008
Raild Level: raid5
Array Size: 616719104 (588.15 GiB 631.52 GB)
Used Dev Size: 308359552 (294.07 GiB 315.76 GB)
Raid Devices: 3
Total Devices: 3
Perferred Minor: 0
Persistence: Superblock is persistent

Update Time: Fri Nov 21 19:04:08 2008
State: clean
Active Devices: 3
Working Devices: 3
Failed Devices: 0
Spare Devices: 0

Layout: left-symmetric
Chunk Size: 64K

UUID: 81c02d5e:5a6ad7bb:7d60da0b:44c4ae30
Events: 0.126

Number Major Minor RaidDevice State
0      8     51    0          active sync /dev/sdd3
1      8     18    1          active sync /dev/sdb2
2      8     34    2          active sync /dev/sdc2


etc/mdadm.conf 信息如下:
ARRAY /dev/md0 level=raid5 num-devices=3 UUID=81c02d5e:5a6ad7bb:7d60da0b:44c4ae30

/proc/mdstat 信息如下:
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdd3[0] sdc2[2] sdb2[1]
      616719104 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]
      
unused devices: <none>

作者: luo118    时间: 2008-11-24 10:40
/etc/fstab 文件信息如下:
/dev/disk/by-id/scsi-SATA_ST3320620NS_5QF60HX4-part1 swap                 swap       defaults              0 0
/dev/disk/by-id/scsi-SATA_ST3320620NS_5QF60HX4-part2 /                    xfs        defaults              1 1
/dev/disk/by-id/scsi-SATA_ST3320620AS_9QF5DVPX-part1 swap                 swap       defaults              0 0
/dev/disk/by-id/scsi-SATA_ST3320620AS_9QF5AY1D-part1 swap                 swap       defaults              0 0
/dev/disk/by-id/scsi-SATA_ST3320620AS_9QF55ZQT-part1 swap                 swap       defaults              0 0
proc                 /proc                proc       defaults              0 0
sysfs                /sys                 sysfs      noauto                0 0
debugfs              /sys/kernel/debug    debugfs    noauto                0 0
usbfs                /proc/bus/usb        usbfs      noauto                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0


这是在新的 系统上的吧!如果是也和df 信息对不上,
如果不是,有点不对,这里应时 /dev/md0 吧!
作者: luo118    时间: 2008-11-24 10:47
原帖由 coagent8 于 2008-11-21 20:09 发表
/etc/mdadm.conf 信息如下:
ARRAY /dev/md0 level=raid5 num-devices=3 UUID=81c02d5e:5a6ad7bb:7d60da0b:44c4ae30

/proc/mdstat 信息如下:
Personalities :   
md0 : active raid5 sdd3[0] sdc2[2] s ...


还少一个 fdisk -l  信息,贴个来。

你现在mount 不起提示为,bad superblock,
1 硬盘superblock 已坏(通知硬盘坏道引这问题较多),
2 你的分区格式和现在mount的格式不对,
3 由于你原来是sda, 已不是原来那个,引起同步不能识别,(如果你数据备份好,重新格式化一即可以。)
作者: luo118    时间: 2008-11-24 10:49
如果没有备份数据,接回原盘,
可以选取
part gpart disktest 工具,恢复简个硬盘的分区结构后找会数据。
作者: luo118    时间: 2008-11-26 12:28
你数据已恢复,格式化就可以。
作者: glkgdj    时间: 2008-11-26 21:35
看样子还没恢复
作者: glkgdj    时间: 2008-11-26 21:37
这个情况好象目前能恢复的公司并不多
作者: loveradmin    时间: 2008-11-27 09:53
linux系统里面出错
有时候会提示你!
作者: wheel    时间: 2010-06-02 18:28
本帖最后由 wheel 于 2010-06-02 18:35 编辑

[root@tank ~]# mdadm -D /dev/md0
mdadm: md device /dev/md0 does not appear to be active.
[root@tank ~]# cat /proc/mdstat
Personalities : [raid5]
md0 : inactive sdb1[0] sde1[3] sdd1[2] sdc1[1]
      1953534976 blocks
unused devices: <none>
[root@tank ~]# cat /etc/mdadm.conf

# mdadm.conf written out by anaconda
DEVICE partitions
MAILADDR root
ARRAY /dev/md0 super-minor=0
[root@tank ~]# fdisk -l

Disk /dev/sda: 160.0 GB, 160040803840 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       19203   154248066   83  Linux
/dev/sda2           19204       19457     2040255   82  Linux swap

Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1       60801   488384001   fd  Linux raid autodetect

Disk /dev/sdc: 500.1 GB, 500106780160 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1   *           1       60801   488384001   fd  Linux raid autodetect

Disk /dev/sdd: 500.1 GB, 500106780160 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdd1   *           1       60801   488384001   fd  Linux raid autodetect

Disk /dev/sde: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sde1   *           1       60801   488384001   fd  Linux raid autodetect
[root@tank ~]#
作者: wheel    时间: 2010-06-02 18:41
fsck.ext3 /dev/md0
e2fsck 1.35 (28-Feb-2004)
fsck.ext3: Filesystem revision too high while trying to open /dev/md0
The filesystem revision is apparently too high for this version of e2fsck.
(Or the filesystem superblock is corrupt)


The superblock could not be read or does not describe a correct ext2
filesystem.  If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>
作者: wheel    时间: 2010-06-02 18:42
fdisk  -l /dev/md0

Disk /dev/md0: 1500.3 GB, 1500315451392 bytes
2 heads, 4 sectors/track, 366287952 cylinders
Units = cylinders of 8 * 512 = 4096 bytes

Disk /dev/md0 doesn't contain a valid partition table
作者: wheel    时间: 2010-06-02 18:51
mdadm --detail /dev/md0 /dev/md0:
        Version : 00.90.01
  Creation Time : Wed Jun  2 17:36:35 2010
     Raid Level : raid5
     Array Size : 1465151808 (1397.28 GiB 1500.32 GB)
    Device Size : 488383936 (465.76 GiB 500.11 GB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Wed Jun  2 17:36:35 2010
          State : clean, degraded, recovering
Active Devices : 3
Working Devices : 4
Failed Devices : 0
  Spare Devices : 1

         Layout : left-symmetric
     Chunk Size : 64K

Rebuild Status : 5% complete

           UUID : 477120db:0d0a7539:e2c6496e:e5199ac3
         Events : 0.1818436

    Number   Major   Minor   RaidDevice State
       0       8       65        0      active sync   /dev/sde1
       1       8       49        1      active sync   /dev/sdd1
       2       8       33        2      active sync   /dev/sdc1
       3       0        0        -      removed

       4       8       17        3      spare rebuilding   /dev/sdb1
[root@tank ~]#
作者: aimi2010    时间: 2010-06-24 18:45
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2