首先,已经有一个非常相似的线程/问题:
“Linux raid 1 磁盘上的旧数据”
这非常相似,但我看到了一些关键的差异。
非常简短的描述:
使用相同的磁盘/分区重建损坏的 raid 后,数据已恢复到 raid 损坏的那天。
- /dev/md0 -> Raid 驱动器
- /dev/sdc5 -> 第一个 Raid 分区
- /dev/sdd5 -> 第二个 Raid 分区,失败的分区。
系统设置
我正在 2 个分区 raid 1 磁盘上运行 Ubuntu 16.04 安装。
/dev/sdc5+/dev/sdd5=/dev/md0
可能发生故障的情况
我的机箱有一个用于在驱动器之间切换的硬件开关。物理双启动按钮。我只有一个驱动器连接到此硬件开关 /dev/sdd 的控制器卡
由于某种原因,这个按钮可能已经被切换了(我当时没有意识到我有这个功能),因此我的raid变得降级了。
这很可能是 7 月 23 日。
快进 12 天到 8 月 4 日。在我的零售商向我指出我的物理磁盘没有错误后,我想回家并开始在我的机箱内进行一些重新布线。
我做的第一件事是删除硬件双启动控制器,所以现在我的所有驱动器都直接连接到我的主板。
这导致磁盘 (开发/SDD)再次出现在系统中。系统正常启动/dev/md0,仅/dev/sdc5。系统仍然是最新的。
获取旧数据的步骤
- 我重新添加了(或者实际上只是添加,因为 disk2 已被完全删除) /dev/sdd5 到 raid。
- 一切进展顺利,突袭开始重建和同步。
- 我没有做 update-grub,主要是因为我没有意识到我需要这样做。
- 然后我重新启动系统。
- 重新启动后,我被系统丢弃到忙碌盒
- 我已删除 /dev/sdd5来自/dev/md0然后再次重新启动。
- 这导致系统再次启动。
- 在这一点上,我认为我没有检查数据是否正确,只是假设它是正确的。
- 我又添加分区/dev/sdd5到袭击 /dev/md0。
- 突袭重建并同步。
- 我做了一个grub 更新这次然后再次重新启动。
- 系统“正确”重新启动。这是我注意到有些事情不对劲的地方。apt-get尽管我刚刚更新,但仍有很多更新等着我。后来检查我的日志时,我得出结论,突袭失败/退化的日期是 7 月 23 日,然后在 8 月 4 日我“修复”了这个问题。
问题
所以对于我的实际问题:
- 任何人都可以解释发生了什么事吗?突袭为何以及如何产生旧数据?突袭不是应该从/dev/sdc5到/dev/sdd5而不是相反?
- 您认为现在有机会解决这个问题吗?也就是说,恢复/恢复到 7 月 23 日至 8 月 4 日期间数据可用的状态?