CentOS Wiki
  • Comments
  • Immutable Page
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
  • Login

Navigation

  • FrontPage
  • Documentation
  • TipsAndTricks
  • HowTos
  • FAQ
  • Events
  • Contribute
  • ReportBugs
  • RecentChanges

Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment

  • zh
  • TipsAndTricks
  • Repair_RAID5_Volumes

如何修复拥有多于一个失效硬盘的软件 RAID5 扇区

作者:LevShamardin

当一个 RAID5 扇区内的某个硬盘失效,基本上大事已经不妙,但有时情况可以更坏,而一个 RAID5 扇区更可能有多于一个硬盘失效。在这些情形下,mdadm 不会容许你引导这个扇区。基于 RAID5 的内部数据结构,当有多于一个失效的硬盘时,便不能修复扇区内的所有数据。但在不少情况下,扇区内的大部份数据仍是可救回的,因为一般来说硬盘只会出现局部故障,而额外部份仍是可读的。这页描述引导一个拥有多于一个失效硬盘的 RAID5 扇区时所需的步骤。

1. 郑重警告

这些指令可能会损坏你的数据致不能修复的地步。我们强烈地推荐你将失效 RAID 扇区内的所有硬盘进行复制,包括有毛病的硬盘,然后在复制本上进行修复的程序。请注意,在没有特殊仪器的情况下,单单尝试复制失效硬盘上的数据足以对硬盘构成更多损坏。后果请自负。

2. 如何引导拥有多于一个失效硬盘的扇区

这里的指令假设在一个 RAID5 扇区内存有两个失效的硬盘,但这些指令可以扩展至甚何数量的坏硬盘。我们会假设这个 RAID 扇区由 /dev/sda1、dev/sdb1、/dev/sdc1、/dev/sdd1 及 /dev/sde1 这些硬盘所组成,并假定 /dev/sdc 及 /dev/sdd 失了效。

  1. 你必须最少一个新的可用硬盘,它会用来代替其中一个失效的硬盘。
  2. 请将其中一个失效的硬盘复制到新的硬盘。你应该选择那个毁坏较少的硬盘。这个硬盘将会被称为「较好的硬盘」,而第二个有问题的硬盘会被称名「较坏的硬盘」。请以你刚复制好硬盘取代较好的硬盘。切勿利用一个有毛病的硬盘来进行以下步骤,因为一旦它失效,整个扇区又会再次被停顿。在我们的样例里,我们会将 /dev/sdc 复制到一个新的硬盘上,然后以复制品取代有问题的 /dev/sdc 。

  3. 查阅 RAID5 扇区的参数。在任何一个有效的硬盘上执行 mdadm -E:

    mdadm -E /dev/sdb1

    留意 Chunk Size 及 Layout。

  4. 在降级模式下重建 RAID 扇区。你必须知道以下数据才能完成:
    • XXX —— 你的 RAID 扇区内的硬盘数量。
    • YYY —— 你的 RAID 扇区的数据块尺寸。这已经在上一步断定了。
    • ZZZ —— RAID 扇区的布局。这已经在上一步断定了。
    • 哪一个硬盘并不存在(也就是较坏的硬盘,在样例中是 /dev/sdd1)。

    执行如下的指令:

    mdadm --create /dev/md0 -n XXX -c YYY -l 5 -p ZZZ --assume-clean /dev/sda1 /dev/sdb1 /dev/sdc1 missing /dev/sde1 

    你应该根据你失去了的硬盘(即较坏的硬盘)的实际位置及 RAID 扇区的布局来调整这个指令,以 missing 这个参数来代替较坏的硬盘。

现在,既然你已将 RAID 扇区在降级模式下引导,你便可以尝试修复你的数据。你亦可以用一个新的硬盘来取代失去了的硬盘并重建这个 RAID,因为它已经不再包含失效的硬盘。重建后的 RAID 扇区上大部份数据应该没有错误;如果幸运地,所有硬盘的故障都出现在文件系统的空白位置上,你甚至可能救回全部数据。

Translation of revision 6

  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01