AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 518653
Accepted
Kris_R
Kris_R
Asked: 2013-06-27 00:54:56 +0800 CST2013-06-27 00:54:56 +0800 CST 2013-06-27 00:54:56 +0800 CST

重组 RAID-5 后文件丢失

  • 772

周日我不得不打开文件服务器的外壳来更换有故障的风扇。我没有看到的是其中一根 sata 电缆没有正确连接。重启后我做的第一件事是检查 RAID 状态,它立即显示缺少一个驱动器。到目前为止,该设备尚未使用(但是它已安装,所以我不能 100% 确定系统什么也没做)。我停止 md0 并重新插入电缆:

mdadm --stop /dev/md0
poweroff

再次重新启动后,我检查了删除的驱动器:

 mdadm --examine /dev/sdd1
 ...
       Checksum : 3276bc1d - correct
         Events : 315782

         Layout : left-symmetric
     Chunk Size : 32K

      Number   Major   Minor   RaidDevice State
this     0       8       49        0      active sync   /dev/sdd1

   0     0       8       49        0      active sync   /dev/sdd1
   1     1       8       65        1      active sync   /dev/sde1
   2     2       8       33        2      active sync   /dev/sdc1
   3     3       8       17        3      active sync   /dev/sdb1

我有点惊讶它被显示为活动的(即使之前 mdadm 说过,这个设备已从阵列中删除)并且它的校验和是好的。我重新创建了 RAID:

mdadm --assemble /dev/md0 --scan

该命令mdadm --detail /dev/md0显示所有驱动器都在运行并且系统处于“干净”状态。我安装了设备 md0,然后就打嗝了。我想处理在所有情况之前我一直在使用的最后一个文件之一,但它不存在。在另一个地方,我实际上错过了我工作目录中的所有文件。据我所知,大多数超过几天的文件都完好无损,但一些较新的文件丢失了。

现在有个大问题:你有什么建议?有没有办法获取这些数据?我考虑移除之前由 mdadm 标记的驱动器并使用另一个空 HDD 重建阵列。

我发现重新组装后,“损坏的”驱动器位于 RAID 中的另一个位置(在它被列在第 3 位之前,然后在第 4 位)。这会对重建过程产生影响吗?如果是,如何正确重组阵列?我确定 SATA 电缆仍以相同的顺序连接到控制器。

ps 请不要建议像“从备份中恢复”。我在周日晚上做备份,这发生在下午晚些时候,所以备份对我来说不是真正的选择。

pss 我在 Unix&Linux 上问过这个问题,但最近两天没有答案。我越来越焦虑了。如果你们中的任何人正在阅读其他论坛,抱歉重复。

mdadm
  • 1 1 个回答
  • 510 Views

1 个回答

  • Voted
  1. Best Answer
    Kris_R
    2013-07-07T09:06:41+08:002013-07-07T09:06:41+08:00

    也许它会帮助某人。

    我之前没有写过,但所有四个分区的事件数相同

    mdadm --examine /dev/sd[a-z]1 | egrep 'Event|/dev/sd`'
    mdadm: No md superblock detected on /dev/sda1.
             Events : 315786
             Events : 315786
             Events : 315784
             Events : 315786
    

    尽管如此,经过一番阅读,我还是决定删除“失败”的驱动器并重新组装我的 md0 设备。

    mdadm --manage --set-faulty /dev/md0 /dev/sdd1
    mdadm /dev/md1 --stop
    mdadm --assemble /dev/md0 /dev/sd[bce]1 --force 
    mdadm --manage /dev/md0 --add /dev/sdd1
    

    请不要问我为什么它有效。对我来说重要的部分是我找回了所有文件(文件分配表显示了目录的正确内容。所有丢失的文件都在那里。

    • 1

相关问题

  • 将 Linux 软件 RAID 1 扩展到 RAID 10 的最佳方法

  • 如何在没有备用的情况下创建软件 raid5 阵列

  • mdadm raid5 超级块丢失

  • 如何将 Linux 软件 RAID 移动到新机器上?

  • 有没有好的图形或基于 Web 的 md 状态或管理工具?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve