我正在尝试从RAID5arrays中恢复数据。 我的4个磁盘中有2个意外失败。 我可以通过强制启动数组。
mdadm --assemble --scan --force
该arrays启动ckean但降级
root@omv:~# mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Wed Apr 18 22:03:46 2012 Raid Level : raid5 Array Size : 8790795264 (8383.56 GiB 9001.77 GB) Used Dev Size : 2930265088 (2794.52 GiB 3000.59 GB) Raid Devices : 4 Total Devices : 3 Persistence : Superblock is persistent Update Time : Mon Aug 25 23:50:44 2014 State : clean, degraded Active Devices : 3 Working Devices : 3 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 512K Name : omv:data (local to host omv) UUID : 157604ce:9206dd99:c8d249be Events : 21524 Number Major Minor RaidDevice State 4 8 16 0 active sync /dev/sdb 1 0 0 1 removed 2 8 32 2 active sync /dev/sdc 3 8 48 3 active sync /dev/sdd
我继续以只读模式来堆砌文件系统。 读取错误最终导致设备从arrays中丢弃。 有没有办法我可以强迫它不要被丢弃。 我想能够复制我所能做的。
[ 190.250032] end_request: I/O error, dev sdc, sector 1234525616 [ 190.250082] raid5:md0: read error not correctable (sector 1234525616 on sdc). [ 190.250086] raid5: Disk failure on sdc, disabling device. [ 190.250088] raid5: Operation continuing on 2 devices. [ 190.250195] ata5: EH complete [ 190.366679] Buffer I/O error on device md0, logical block 462946358 [ 190.366723] lost page write due to I/O error on md0 [ 192.873263] ata5.00: exception Emask 0x0 SAct 0xf SErr 0x0 action 0x0 [ 192.873308] ata5.00: irq_stat 0x40000008 [ 192.873348] ata5.00: failed command: READ FPDMA QUEUED [ 192.873392] ata5.00: cmd 60/10:00:00:dc:3c/00:00:57:00:00/40 tag 0 ncq 8192 in [ 192.873394] res 41/40:10:00:dc:3c/00:00:57:00:00/00 Emask 0x409 (media error) <F> [ 192.873476] ata5.00: status: { DRDY ERR } [ 192.873514] ata5.00: error: { UNC }
您应该使用像dd_rescue
这样的工具拍摄所有RAID成员驱动器的dd_rescue
,然后用这些映像组装一个RAID卷。
这样你就不会给失败的硬盘带来额外的压力,而且你有最好的机会恢复数据。
问题是,ext2 / 3/4文件系统不知道底层设备上的任何东西。 如果在某些 RAID设备上出现坏块,将导致2个不同的独立结果:
我有一个意见,这在“专业系统pipe理员”界被认为是大多数的异端。 根据这个意见,
问题是,底层raid机制也不知道磁盘上的坏块。 它会尝试甚至对坏块进行同步。
如果你有一个突袭,最简单的解决办法是得到一个新的硬盘。 这个也可以用于其他任务,但不能用于突袭。 Ext2 / 3/4文件系统有很好的坏块处理。
如果你想进一步作为一个突袭成员设备,这是可能的,虽然不是那么简单。 在这种情况下,您可以做一些棘手的基于lvm的解决scheme – 其中一些解决scheme可以处理和pipe理卷,即使是在坏块的磁盘上也是如此。 我build议你尝试使用设备映射器的坏块重定位模块。