长话短说,我负责有两个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中的文件系统层(从物理驱动器到文件系统的顺序相反):
每个驱动器上的特殊md分区types(使用时)
在你的情况下,整个驱动器是指定的,所以没有看到分区。 你不必担心这一点。
md驱动(使用时)
来自detail和/proc输出报告,arrays在所有驱动器上运行,并且没有驱动器处于故障状态。 这意味着arrays是健康的!
LVM(使用时)
pvscan && vgscan && lvscan
如果有任何卷被发现,他们应该在这里。 请注意,卷扫描过程由文件控制,该文件可以select某些设备在执行扫描时忽略它。 你要确保你明确扫描/ dev / md2。 每个LVM卷都印有一个GUID; 如果丢失或损坏,可能会导致您看到的一些问题。 这里的目标是确认您的LVM卷。 一旦健康,你就会保持健康。
文件系统
我想你知道这里的演习。
从这里你应该能够恢复你的文件系统。
通常LVM是在MD之上完成的。 也许你使用命令行设置LVM而不是你的发行版的工具? 如果是这样,也许启动脚本不知道LVM。
首先做一个'vgscan',看看它是否出现。 如果是这样,这只是一个解开脚本的问题。
在这个问题上你可能会遇到困难,主要是因为任何一个好的系统pipe理员对于数据丢失都是超级偏执的,包括指导其他人可能导致数据丢失的情况。
从你提供的内容中,我将总结一下我所看到的,也许你可以从哪里开始。
首先发布pvdisplay和vgscan的结果
你在/ etc / lvm / backup /中有一个“lvm-raid”文件吗?
在这种情况下,我会做的第一件事,如果可能的话:两个磁盘形成/ dev / md2(与DD或类似的东西)的确切副本。 这可能需要很长时间,但是如果您在尝试修复这些问题时进一步提醒,可以返回到开始的位置。
你可以尝试以下
pvdisplay / dev / md2
并提供结果。 这将明确告诉pvdisplay尝试读取LVM信息的md2设备。