需要恢复RAIDarrays的帮助

长话短说,我负责有两个RAIDarrays(/ dev / md0和/ dev / md2)的媒体服务器。 我还有很多东西要学习软件RAID和LVM等。我们在/ dev / md0中有一个驱动器故障,没关系,我换了坏的驱动器,重新组装了RAIDarrays(昨天晚上大部分时间完成了),今天早上我进来了,能够挂载/ dev / md0,没有数据丢失。

我一点都不知道,有些东西在/ dev / md2中被破坏了。 现在/ dev / md0是两年前我的同事设置的,大约六个月前我设置了/ dev / md2。 总是使用戴尔和惠普服务器内置的硬件控制器完成RAID,这是我第一次不得不处理软件RAID。 我遵循[url] http://www.gagme.com/greg/linux/raid-lvm.php[/url]上的指示,我认为这是最好的主意,因为LVM会让我能够增长RAIDarrays在将来(我刚才了解到mdadm可以做同样的事情)。 这直到今天都没有问题。 修复/ dev / md0之后重新启动机器后,无法挂载/ dev / lmv-raid / lvm0(表示无法find文件或目录)。 它几乎看起来像逻辑卷消失了。 我不明白这会造成什么后果。 第二个arrays中没有驱动器坏了,我没有碰到第二个arrays。 没有什么应该与arrays坏了。 但看起来有些不对劲。

现在/ dev / md2正在运行,并处于清理状态,但我无法安装它。 恐怕数据不见了 可怕的是,在我看来,没有任何解释。 我假设我无法安装/ dev / md2,因为RAIDarrays期望被LVM控制。 也许我不太了解系统,但如果我有一个干净的数组不应该数据仍然在arrays中? 任何想法如何我可以去恢复数据? 我想要做的最后一件事就是回到我的老板那里告诉他,在修复一个数组的过程中,另一个数组奇迹般地破碎了,所有的数据都消失了。 我已经看了多个网站,但是因为我不知道究竟是什么打破了这一切,所以我不知道我是否真的丢失了数据,或者是否有其他东西丢失。

任何意见,将不胜感激,我一直在这个早上一直在挣扎,是完全损失。

这里是一些更多的信息:

[root@viamao ~]# mdadm --detail /dev/md2 /dev/md2: Version : 00.90.01 Creation Time : Tue Jun 9 11:32:06 2009 Raid Level : raid5 Array Size : 4395415488 (4191.79 GiB 4500.91 GB) Device Size : 1465138496 (1397.26 GiB 1500.30 GB) Raid Devices : 4 Total Devices : 4 Preferred Minor : 2 Persistence : Superblock is persistent Update Time : Tue Jun 9 15:54:39 2009 State : clean Active Devices : 4 Working Devices : 4 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 64K Number Major Minor RaidDevice State 0 8 128 0 active sync /dev/sdi 1 8 144 1 active sync /dev/sdj 2 8 160 2 active sync /dev/sdk 3 8 176 3 active sync /dev/sdl UUID : 88bbe155:b6d852b1:3ad8a77d:5eba3ee2 Events : 0.36 [root@viamao archive2]# mount -t ext3 /dev/md2 /share/archive2 mount: wrong fs type, bad option, bad superblock on /dev/md2, or too many mounted file systems [root@viamao archive2]# mount /dev/hda3 on / type ext3 (rw) none on /proc type proc (rw) none on /sys type sysfs (rw) none on /dev/pts type devpts (rw,gid=5,mode=620) usbfs on /proc/bus/usb type usbfs (rw) /dev/hda1 on /boot type ext3 (rw) none on /dev/shm type tmpfs (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw) /dev/md0 on /share/archive1 type ext3 (rw) [root@viamao share]# cat /proc/mdstat Personalities : [raid5] md2 : active raid5 sdl[3] sdk[2] sdj[1] sdi[0] 4395415488 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU] md0 : active raid5 sda[0] sdh[7] sdg[6] sdf[5] sde[4] sdd[3] sdc[2] sdb[1] 5128021248 blocks level 5, 64k chunk, algorithm 2 [8/8] [UUUUUUUU] unused devices: <none> 

还有什么我可以告诉你,可以帮助吗? 我有一个活动的RAIDarrays,我不能挂载,认为这与事实,这曾经是在LVM,但现在当我试图挂载/ dev / lvm-raid / lvm0它告诉我的事实设备无法find。 lvdisplay不给我任何东西pvdisplay只显示我的操作系统所在的驱动器。 vgdisplay也不会产生任何结果。

思考? 我在这里感到非常茫然。

Linux中的文件系统层(从物理驱动器到文件系统的顺序相反):

  1. 物理设备
    • 的/ dev / SDI
    • 的/ dev / SDJ
    • 的/ dev / SDK
    • 的/ dev / SDL
  2. 每个驱动器上的特殊md分区types(使用时)

    • 这可能或可能不存在。 虽然build议您只需在每个驱动器上创build单个分区,并跨越整个驱动器的大小,但可以直接使用设备名称来指定整个驱动器。 请注意,这可能会导致一些分区工具对他们正在处理的内容感到困惑(因为分区表只是“消失”),所以我不推荐它。

    在你的情况下,整个驱动器是指定的,所以没有看到分区。 你不必担心这一点。

  3. md驱动(使用时)

    • 的/ dev / MD2

    来自detail和/proc输出报告,arrays在所有驱动器上运行,并且没有驱动器处于故障状态。 这意味着arrays是健康的!

  4. LVM(使用时)

    • 以root身份login时将以下内容input到shell中:

    pvscan && vgscan && lvscan

    如果有任何卷被发现,他们应该在这里。 请注意,卷扫描过程由文件控制,该文件可以select某些设备在执行扫描时忽略它。 你要确保你明确扫描/ dev / md2。 每个LVM卷都印有一个GUID; 如果丢失或损坏,可能会导致您看到的一些问题。 这里的目标是确认您的LVM卷。 一旦健康,你就会保持健康。

  5. 文件系统

    我想你知道这里的演习。

从这里你应该能够恢复你的文件系统。

通常LVM是在MD之上完成的。 也许你使用命令行设置LVM而不是你的发行版的工具? 如果是这样,也许启动脚本不知道LVM。

首先做一个'vgscan',看看它是否出现。 如果是这样,这只是一个解开脚本的问题。

在这个问题上你可能会遇到困难,主要是因为任何一个好的系统pipe理员对于数据丢失都是超级偏执的,包括指导其他人可能导致数据丢失的情况。

从你提供的内容中,我将总结一下我所看到的,也许你可以从哪里开始。

  • / dev / md2是带有(4)1.5TB驱动器的RAID 5设备
  • 整个底层驱动器正在被RAID模块使用 – 驱动器上没有分区
  • 您的/ dev / md2设备现在正在报告正常/开心状态

首先发布pvdisplayvgscan的结果

你在/ etc / lvm / backup /中有一个“lvm-raid”文件吗?

在这种情况下,我会做的第一件事,如果可能的话:两个磁盘形成/ dev / md2(与DD或类似的东西)的确切副本。 这可能需要很长时间,但是如果您在尝试修复这些问题时进一步提醒,可以返回到开始的位置。

你可以尝试以下

pvdisplay / dev / md2

并提供结果。 这将明确告诉pvdisplay尝试读取LVM信息的md2设备。