V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
leang521
V2EX  ›  程序员

如何挂载 RAID6 中被踢掉的盘

  •  
  •   leang521 · 57 天前 · 1241 次点击
    这是一个创建于 57 天前的主题,其中的信息可能已经有所发展或是发生改变。
    前文在 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)
    9 条回复    2024-07-16 17:16:12 +08:00
    jousca
        1
    jousca  
       56 天前
    这种情况下,上面的条带数据已经出错了,也就是说,无法从其他任意三个盘,推算出第四个盘的数据,所以它才无法重建。

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

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

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

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

    回到你的问题,想恢复原完整数据,已经很难了,即使找数据恢复公司都困难,因为这是硬盘长期运行中偶尔的位翻转等物理因素造成的。没有 zfs 定期修正,很难救。
    leang521
        6
    leang521  
    OP
       56 天前
    @jousca
    无法重建的原因是 Events 和 Update Time 不一致导致的。我要找的是忽略这两个检查强制挂载的方法,我在外网看过类似的情况,但是对方没说怎么挂载的
    feaul
        7
    feaul  
       55 天前
    找数据恢复的试试吧,他们有专业的设备可以读出 raid 信息
    leang521
        8
    leang521  
    OP
       55 天前
    我查到老外遇到同样的问题,最后使用 mdadm --create 命令恢复,但是他用了很多奇怪的参数,我没看懂
    iceecream
        9
    iceecream  
       53 天前
    mdadm --create 跳过初始化的步骤。可能可以恢复。硬 raid 同理
    建议先做全盘 dd 镜像。
    另外 raid6 的安全是牺牲性能来达成的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1111 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 23:41 · PVG 07:41 · LAX 16:41 · JFK 19:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.