如何挂载 RAID6 中被踢掉的盘

159 天前
 leang521
前文在 https://www.v2ex.com/t/1045372#reply14

目前使用 Ubuntu 挂载着四块盘,但是还是无法重建 RAID6 。主要原因还是四块盘的更新时间和更新次数不同步。想问下各位高手有没有办法强制将四块盘挂载到一起。我可以确定四块盘出现问题后没有发生任何写入操作。

/dev/sda3:
Magic: a92b4efc
Version: 1.2
Feature Map: 0x0
Array UUID: 10eec84e:da357c19:2c40875f:92e5302c
Name: DS918:2
Creation Time: Sun Apr 7 01:14:53 2019
Raid Level: raid6
Raid Devices: 4

Avail Dev Size: 7804592833 sectors (3.63 TiB 4.00 TB)
Array Size: 7804592768 KiB (7.27 TiB 7.99 TB)
Used Dev Size: 7804592768 sectors (3.63 TiB 4.00 TB)
Data Offset: 2048 sectors
Super Offset: 8 sectors
Unused Space: before=1968 sectors, after=65 sectors
State: clean
Device UUID: f8dc7622:979caf73:470a4b12:a91afd65

Update Time: Thu May 30 11:46:47 2024
Checksum: 4229328f - correct
Events: 19094

Layout: left-symmetric
Chunk Size: 64K

Device Role: Active device 2
Array State: ..AA ('A' == active, '.' == missing, 'R' == replacing)


/dev/sdb3:
Magic: a92b4efc
Version: 1.2
Feature Map: 0x0
Array UUID: 10eec84e:da357c19:2c40875f:92e5302c
Name: DS918:2
Creation Time: Sun Apr 7 01:14:53 2019
Raid Level: raid6
Raid Devices: 4

Avail Dev Size: 7804592833 sectors (3.63 TiB 4.00 TB)
Array Size: 7804592768 KiB (7.27 TiB 7.99 TB)
Used Dev Size: 7804592768 sectors (3.63 TiB 4.00 TB)
Data Offset: 2048 sectors
Super Offset: 8 sectors
Unused Space: before=1968 sectors, after=65 sectors
State: clean
Device UUID: 712d545e:b1c84930:b53b18c6:c3ed4886

Update Time: Thu May 30 11:46:47 2024
Checksum: eb9b3ac - correct
Events: 19094

Layout: left-symmetric
Chunk Size: 64K

Device Role: Active device 3
Array State: ..AA ('A' == active, '.' == missing, 'R' == replacing)


/dev/sdc3:
Magic: a92b4efc
Version: 1.2
Feature Map: 0x0
Array UUID: 10eec84e:da357c19:2c40875f:92e5302c
Name: DS918:2
Creation Time: Sun Apr 7 01:14:53 2019
Raid Level: raid6
Raid Devices: 4

Avail Dev Size: 7804592833 sectors (3.63 TiB 4.00 TB)
Array Size: 7804592768 KiB (7.27 TiB 7.99 TB)
Used Dev Size: 7804592768 sectors (3.63 TiB 4.00 TB)
Data Offset: 2048 sectors
Super Offset: 8 sectors
Unused Space: before=1968 sectors, after=65 sectors
State: clean
Device UUID: 4d54a772:f9b0a587:d8093250:abeb8e36

Update Time: Thu Feb 23 11:18:37 2023
Checksum: b2665d87 - correct
Events: 13539

Layout: left-symmetric
Chunk Size: 64K

Device Role: Active device 1
Array State: .A.. ('A' == active, '.' == missing, 'R' == replacing)


/dev/sde3:
Magic: a92b4efc
Version: 1.2
Feature Map: 0x0
Array UUID: 10eec84e:da357c19:2c40875f:92e5302c
Name: DS918:2
Creation Time: Sun Apr 7 01:14:53 2019
Raid Level: raid6
Raid Devices: 4

Avail Dev Size: 7804592833 sectors (3.63 TiB 4.00 TB)
Array Size: 7804592768 KiB (7.27 TiB 7.99 TB)
Used Dev Size: 7804592768 sectors (3.63 TiB 4.00 TB)
Data Offset: 2048 sectors
Super Offset: 8 sectors
Unused Space: before=1968 sectors, after=65 sectors
State: clean
Device UUID: 259f8fcf:8e2f50da:961190ab:9e6981ea

Update Time: Thu Sep 15 19:07:27 2022
Checksum: 7078d907 - correct
Events: 13533

Layout: left-symmetric
Chunk Size: 64K

Device Role: Active device 0
Array State: AAAA ('A' == active, '.' == missing, 'R' == replacing)
1385 次点击
所在节点    程序员
9 条回复
jousca
159 天前
这种情况下,上面的条带数据已经出错了,也就是说,无法从其他任意三个盘,推算出第四个盘的数据,所以它才无法重建。

一般情况下,非重要数据才采取 RAID5\6
dd102
159 天前
[狗头 RAID6 可靠性咋样,我用 raid10,厂家实施还是跟我讲课说 6 好
whywei8
159 天前
不是说 RAID10 好吗,
Pteromyini
159 天前
个人观点:
阵列提供服务保证,备份提供数据保证
RAID0:提高顺序性能->增强存储服务质量
RAID1-X:冗余数量内硬件损坏不中断服务提高系统 SLA->增强存储服务持续性
热备、冷备、异地:提供数据备份和安全保证。
家用或者某些临时写入场景,冗余阵列的目的基本是保证提供最低限度服务和有机会导出阵列内的资料而不是直接重建。
个人认为:
正确的做法:导出资料、上热备、下线出错阵列、线下无视数据情况喜爱尝试恢复阵列或者直接抛弃
adrianzhang
159 天前
raid6 是为了高可用,两块盘坏掉的时候阵列还活着。

以前盘容量小,用 raid5 。
后来容量大了,会经常发生一块盘坏掉插入新盘同步的时候,因为时间太长所以同批次旧盘容易再挂掉一块导致整个阵列崩溃。

看了看你可能主要关心数据损坏。但这不是阵列重建就能解决的问题,原阵列因为没有定期校验导致的数据出错。

所以个人存数据最佳实践是,使用 raid 5 和 zfs ,(或者直接就用 zfs 组阵列),开启 zfs 定期校验数据,阵列数据定期通过 rsync 备份到备份服务器去。

回到你的问题,想恢复原完整数据,已经很难了,即使找数据恢复公司都困难,因为这是硬盘长期运行中偶尔的位翻转等物理因素造成的。没有 zfs 定期修正,很难救。
leang521
158 天前
@jousca
无法重建的原因是 Events 和 Update Time 不一致导致的。我要找的是忽略这两个检查强制挂载的方法,我在外网看过类似的情况,但是对方没说怎么挂载的
feaul
158 天前
找数据恢复的试试吧,他们有专业的设备可以读出 raid 信息
leang521
158 天前
我查到老外遇到同样的问题,最后使用 mdadm --create 命令恢复,但是他用了很多奇怪的参数,我没看懂
iceecream
156 天前
mdadm --create 跳过初始化的步骤。可能可以恢复。硬 raid 同理
建议先做全盘 dd 镜像。
另外 raid6 的安全是牺牲性能来达成的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1056958

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX